80/20 ietekmē arī plānošanu

Mēs visi esam dzirdējuši par 80/20 kārtulu, kas saka, ka 80% no mūsu panākumiem (sekām) nāk tikai no 20% no mūsu darbībām (cēloņiem). Nu, šī universālā patiesība ietekmē arī programmatūras izstrādi, un šajā rakstā mēs izklāstīsim nedaudz šī apgalvojuma pamatus.

BPM

Biznesa procesu vadība saīsinājumā angļu valodā ir vadības disciplīna (cita starpā), kas ļauj vizuāli izprast procesus, kas jāveic biznesā (vai daudzās citās vietās). Starp tās galvenajām īpašībām ir fakts, ka tā var analizēt sarežģītus procesus un padarīt tos "vienkāršus".

Ir daudz atvērtā koda rīku, kas ļauj jums izstrādāt BPM diagrammas. Šis raksts ir BonitaSoft. Ja vēlaties uzzināt nedaudz vairāk par procesa vadību, internetā ir pieejamas daudzas apmācības un grāmatas par šo tēmu. Tagad atgriezīsimies pie centrālās tēmas.

Programmatūras projekti

Mūsdienās projektu izstrādei ir pieejamas daudzas metodoloģijas: agilas, tradicionālas, hibrīdas un tā tālāk. Viena lieta, kas tām visām ir kopīga, ir sagatavošanās . Ko es ar to domāju? Ka 80% no jūsu panākumiem šajā programmatūras projektā būs atkarīgi no pirmajiem 20% no visa procesa: sagatavošanās.

Projekta sagatavošana

Šis ir loģisks arguments, kas reti tiek piemērots realitātē (tāpat kā daudzas citas loģiskas lietas, kas praksē ir neloģiskas). Runājot par sagatavošanos, mums jāsaprot spēja izprast problēmu, izprast risinājumu un, pats galvenais, procesu , ko risinājums izmanto. Viena no retāk sastopamajām lietām neprofesionālos programmatūras projektos ir dokumentācijas trūkums par šo tēmu. Tas parasti notiek privātos uzņēmumos, jo vēlme pārdot bieži vien aizēno izstrādes procesu.

Tā kā daudzi no tiem, kas lasa šos rakstus, strādā tehnoloģiju jomā vai ir saistīti ar tām, ir vērts pieminēt, ka, ja jebkurā darba dzīves brīdī viņi saskaras ar uzņēmumu/piegādātāju, kas neatbilst labam sagatavošanās standartam, ir gandrīz 80% pārliecība, ka projekts neizdosies labi.

Abstrakcija ir atslēga

To esmu iemācījies, strādājot ar GNU/Linux, un tas atkal un atkal pierāda, ka ir galvenais programmatūras izstrādes procesā. Spēja abstrahēt problēmas un pārvērst tās vienkāršākās lietās ir vitāli svarīga, lai ģenerētu elegantu un, galvenais, noturīgu kodu . Un, iespējams, šī ir viena no galvenajām atšķirībām starp lieliem profesionāliem projektiem un projektiem, kas aug nekontrolēti. Pirmie pārdomā, izprot un strukturē procesu, savukārt otrie vienkārši uztur to darbībā, to īpaši neizprotot.

Stager

Tas ir projekta nosaukums, kuru Gentoo instalētājs izstrādā, kā jūs varat iedomāties, tas ir diezgan sarežģīts process, jo tas atbalsta lielu skaitu arhitektūru. Vēl viens faktors, kas jāņem vērā, ir tā atbalstīto konfigurāciju skaits kodola līmenī, init sistēmā utt. To visu es jums saku, jo tas ir arī mans darba projekts, kas man jāpabeidz pirms studiju beigšanas. Acīmredzot es nevaru izveidot programmu, kas tik īsā laikā (līdz nākamā gada jūlijam) apsver pilnīgi visas iespējamās iespējas, bet es vismaz varu izveidot tādu, kas ļauj funkcionālu sistēmu uzstādīt ļoti vienkāršā veidā.

Izpratne par instalēšanas procesu

Pateicoties BPM rīkiem, var izveidot procesa diagrammu, kas ļauj mums saprast darbības, kas nepieciešamas veiksmīgai Gentoo instalēšanai datorā.

Gentoo instalēšanas process

Pašu. Kristofers Diazs Riveross

Neskatoties uz vairāku procesu un apakšprocesu saturēšanu, tas acīmredzami ir diezgan apkopots, un var redzēt, ka mums ir 18 lineāri soļi. Tas ir svarīgi, jo lietojumprogrammu, kurai ir lineāra struktūra, ir vienkārši ieviest, un tajā pašā laikā paralēlismu vajadzības gadījumā var ģenerēt vienā vai vairākos pavedienos.

Vēl viens svarīgs faktors ir tas, ka tas ļauj mums abstrahēt procesu kopas pēc veida; piemēram, kodola apakšprocesa definēšana ļauj mums zināt, ka tajā ir konkrēti uzdevumi, kas ir tieši saistīti ar kodola veiksmīgas instalēšanas procesu.

Apakšprocess "kodols"

Pašu. Kristofers Diazs Riveross

Tādā veidā katrs "sarežģīts" solis kļūst par "vienkāršu" globālā veidā, nezaudējot nepieciešamās detaļas. Tas atvieglo montāžas redzamību, nesamazinot specifikāciju līmeni, kas nepieciešams procesa veiksmīgai pabeigšanai. Un mēs nevaram noliegt, ka attēlu ir vieglāk redzēt, nekā izlasīt visu rokasgrāmatu uzreiz 

Ietaupīt laiku

Vēl viena acīmredzama priekšrocība ir tā, ka, ja nav tieši savienotas programmēšanas valodas, ir iespējams veikt loģisko analīzi, netērējot laiku valodas ieviešanai. Tā ir priekšrocība salīdzinājumā ar laiku, ko var pavadīt funkcijas ieviešanai, tikai lai uzzinātu, ka tā tiks izmesta, jo ir efektīvāks risinājums. Piemēram, kādi būtu pseidokoda risinājumi (kaut kas, ko arī daudzi "izstrādātāji" ignorē, bet tam nevajadzētu būt).

Projektu vadīšana ir vienkārša

Ņemot vērā šos jēdzienus, projektu vadība (jebkura veida) kļūst vienkāršāka, jo mēs koncentrējam spēkus tur, kur tie patiešām ir nepieciešami, un, ja šī daļa tiek veikta pareizi, pārējais paliek zem sava svara. Es ceru, ka tas palīdz jūsu zinātkārei un motivē jūs pētīt BPM, algoritmus un, kas zina, varbūt tas iedrošinās jūs man palīdzēt ar manu disertāciju  Liels paldies, ka esat tik tālu nonācis, un mēs drīz tiksimies. Sveicieni


Pievienot kā vēlamo avotu pakalpojumā Google