Ni ĉiuj aŭdis pri la regulo 80/20, tiu, kiu diras, ke 80% de nia sukceso (efikoj) devenas de nur 20% de niaj agoj (kaŭzoj). Nu, ĉi tiu universala vero ankaŭ influas programan disvolviĝon, kaj en ĉi tiu artikolo ni forprenos iom de la fundamentoj de ĉi tiu aserto.
Indekso
BPM
Komercprocezadministrado, por sia akronimo en la angla, estas administra disciplino (interalie), kiu ebligas al vi vide kompreni la procezojn, kiuj devas esti farataj en kompanio (aŭ en multaj aliaj lokoj). Inter ĝiaj ĉefaj kvalitoj estas la fakto, ke ĝi povas analizi kompleksajn procezojn kaj simpligi ilin.
Estas multaj malfermfontaj iloj, kiuj ebligas al vi disvolvi diagramojn de BPM, tiu, kiun mi uzis por ĉi tiu artikolo, estas BonitaSoft. Se vi volas lerni iom pli pri procezadministrado, ekzistas multaj lerniloj en la interreto kaj libroj pri la temo. Nun ni revenu al la centra temo.
Programaj projektoj
Hodiaŭ ekzistas multaj metodikoj por disvolvi projektojn, ekzistas lertaj, tradiciaj, miksitaj, ktp, ktp. Unu punkto, kiun ili ĉiuj havas komune, estas preparo. Kion mi celas per ĉi tio? Ke 80% de via sukceso en ĉi tiu programara projekto baziĝos sur la unuaj 20% de la tuta procezo, la preparado.
Preparante projekton
Ĉi tio estas io logika, kiu fakte tre malmulte aplikiĝas (kiel multaj aliaj logikaj aferoj, kiuj estas nelogikaj en la praktiko). Kiam ni parolas pri preparado, ni devas kompreni la kapablon kompreni la problemon, kompreni la solvon kaj ĉefe, la procezo ke la solvo validas. Unu el la aferoj, kiuj malplej troviĝas en neprofesiaj programaj projektoj, estas la manko de dokumentado pri la temo. Ĉi tio kutime aperas en privataj kompanioj, ĉar la deziro vendi superas la kreoprocezon.
Ĉar multaj el tiuj, kiuj legas ĉi tiujn artikolojn, funkcias aŭ rilatas al teknologio, indas mencii, ke se en iu momento de sia labora vivo ili renkontos kompanion / provizanton, kiu ne plenumas bonan preparadon, ĝi estas preskaŭ 80% certa 😛 ke la projekto ĝi ne sukcesos.
Abstraktado estas la ŝlosilo
Ĉi tio estas io, kion mi lernis de mia tempo uzante GNU / Linukso, kaj ĝi pruvas multfoje esti ŝlosila en la procezo de kreo de programoj. La kapablo de abstrakta problemoj por igi ilin pli "simplajn" aferojn estas nemalhaveblaj por povi generi elegantan kodon, kaj ĉefe longdaŭra. Kaj eble ĉi tiu estas unu el la ĉefaj diferencoj de grandaj profesiaj projektoj kaj projektoj, kiuj ekstere de kontrolo. La unuaj pensas, komprenas kaj strukturas la procezo dum la sekundoj ili gardas laborante sen bezono kompreni ĝin.
scenejisto
Ĉi tiu estas la nomo de la projekto, kiun la instalilo de Gentoo disvolvas, kiel vi povas imagi, ĉi tio estas sufiĉe kompleksa procezo, ĉar ĝi subtenas multajn ar architectitekturojn. Alia faktoro konsiderinda estas la nombro da agordoj, kiujn ĝi subtenas, ĉe la kerna nivelo, init-sistemo, ktp. Kaj mi diras al vi ĉion ĉi, ĉar ĝi estas ankaŭ mia tezprojekto, kiun mi devas fini antaŭ ol studi. Evidente mi ne povas fari programon, kiu pripensas absolute ĉiujn eblajn eblojn en tiel mallonga tempo (ĝis julio de la venonta jaro), sed almenaŭ mi povas generi unu, kiu ebligas instaladon de funkcia sistemo tre baza.
Kompreni la instalan procezon
Danke al la iloj de BPM, oni povas generi procezan diagramon, kiu permesas al ni kompreni la paŝojn necesajn por sukcesa instalado de Gentoo en komputilo.
Propra. Christopher Diaz Riveros
Malgraŭ enhavado de pluraj procezoj kaj subprocezoj, ĝi evidente estis sufiĉe resumita kaj videblas, ke ni havas 18 lineajn paŝojn. Ĉi tio gravas, ĉar apliko kun lineara strukturo estas facile efektivigebla, kaj samtempe paraleleco povas esti generita en unu aŭ pluraj el la fadenoj, se necese.
Alia grava faktoro estas, ke ĝi permesas al ni abstrakta aroj de procezoj laŭ tipo, ekzemple, difini kernan fadenon sciigas al ni, ke ekzistas specifaj taskoj en ĝi, kiuj rekte rilatas al la procezo sukcese instali kernon.
Propra. Christopher Diaz Riveros
Tiel ĉiu "kompleksa" paŝo fariĝas "simpla" laŭ tutmonda maniero, sen perdi la necesajn detalojn. Ĉi tio faciligas la videblecon de la aro sen malaltigi la nivelon de specifoj necesaj por kompletigi la procezon sukcese. Kaj ni ne povas nei, ke estas pli facile vidi la bildon ol legi la tutan Manlibron samtempe 🙂
Ŝparu tempon
Alia evidenta avantaĝo estas, ke ne havante rekte konektitan programlingvon, eblas fari logikan analizon sen nepre perdi tempon efektivigante la lingvon. Ĉi tio estas avantaĝo kompare kun la tempo, kiun oni povas elspezi efektivigante funkcion nur por ekscii, ke ĝi estos forĵetita ĉar ekzistas pli efika solvo. Kiel kio estus la solvoj en pseŭdo-kodo (io, kiun ankaŭ multaj "programistoj" ignoras, sed ne devas esti).
Direkti projektojn facilis
Konsiderante ĉi tiujn konceptojn, projekt-administrado (ia ajn) fariĝas pli facila, ĉar ni fokusas niajn penojn tie, kie ili vere necesas, kaj se ĉi tiu parto estas ĝuste farita, la resto falas sub sian propran pezon. Mi esperas, ke ĝi helpas vian scivolemon kaj instigas vin esplori BPM, algoritmojn kaj kiu scias, eble ĝi kuraĝigos vin helpi min kun mia tezo 😛 Koran dankon pro via alveno kaj ni baldaŭ vidos unu la alian. Saluton
2 komentoj, lasu la viajn
Saluton. Dankon pro dividi viajn sciojn. Ŝajnas al mi, ke ĝi estas ekscita temo, sed ke ĝi postulas multan esploradon kaj praktikadon de la konceptoj por povi internigi ilin. Unue la afero konfuzas, ĉar oni emas asocii ĝin pli flanke identigi la postulojn por sistemo kaj ne nepre kun la komercaj procezoj de la kompanio, tio estas kiel funkcias la kompanio. En la fino, mi pensas, ke temas pli pri la rolo, kiun ludas programistoj por formi la komercon de la kompanio, por fari ĝian komercan operacion pli efika kaj efika.
Saluton Aleksandro, mi tre dankas vin por dividi. Verdire, estas iom kompleksa temo provi resumi ĉion en tiel malgranda spaco, sed se mi povas iomete kontribui por eliri el konfuzo kun via komento 🙂 estas vere, ke sistemoj devas provi solvi postulojn, ke estas la plej ebla baza funkcio, kaj tiumomente estas vero, ke programisto devas fokusiĝi al pli alta nivelo.
Scio pri la procezoj permesas al programistoj prezenti pli ol sufiĉajn sistemojn, komprenante sufiĉan kiel ion, kiu plenumas la minimumajn eblajn postulojn.
La eleganteco de la kodo kuŝas en povi kompreni la kompletan procezon kaj generi ĝin pli profunde, kie oni aplikas la plej bonan eblan solvon, kaj tio eblas nur vere komprenante la procezon anstataŭ la postulon, kiel vi bone menciis. 🙂
Se ni modelas ĝin iomete ĉirkaŭ FOSS, tio implicas ne nur scii la programan postulon, sed la filozofion malantaŭ ĝi, kaj scii kiel ĝi estos prizorgata, de kiu, kaj ĉiu tiu scio pri la procezo, kiu ne nur generas efikan solvon. , sed eblos konservi tra la tempo 🙂
Koran dankon denove kaj salutojn.