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 ir daudz metodiku projektu izstrādei, ir veiklas, tradicionālas, jauktas utt., Utt. Viens punkts, kas viņiem visiem ir kopīgs, ir sagatavošana. Ko es ar to domāju? 80% no jūsu panākumiem šajā programmatūras projektā balstīsies uz pirmajiem 20% no visa procesa, sagatavošana. 

Projekta sagatavošana

Tas ir kaut kas loģisks, ko patiesībā piemēro ļoti maz (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, saprast risinājumu un, pirmkārt, process ka risinājums ir piemērots. Viena no lietām, kas vismazāk sastopama neprofesionālos programmatūras projektos, ir dokumentācijas trūkums par šo tēmu. Tas parasti parādās privātajos uzņēmumos, jo vēlme pārdot pārsniedz izveides procesu.

Tā kā daudzi no tiem, kas lasa šos rakstus, strādā vai ir saistīti ar tehnoloģijām, ir vērts pieminēt, ka, ja kādā darba dzīves brīdī viņi atrod uzņēmumu / piegādātāju, kas neatbilst labai sagatavošanai, tas ir gandrīz 80% pārliecināts 😛 ka projekts tas neizdosies.

Abstrakcija ir atslēga

Tas ir kaut kas, ko esmu iemācījies no sava laika, izmantojot GNU / Linux, un tas atkal un atkal pierāda, ka tas ir galvenais programmatūras izveides procesā. Jauda abstrakts problēmas, lai tās pārvērstu par "vienkāršākām" lietām, ir būtiska, lai varētu ģenerēt elegantu kodu un galvenokārt izturīgs. Un varbūt šī ir viena no galvenajām atšķirībām lielajos profesionālajos projektos un projektos, kas izaug ārpus kontroles. Pirmie domā, saprot un strukturē process kamēr sekundes viņi turpina strādājot, to nesaprotot.

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 mums ļauj abstrakts procesu kopas pēc veida, piemēram, nosakot kodola pavedienu, mēs zinām, ka tajā ir noteikti uzdevumi, kas ir tieši saistīti ar veiksmīgu kodola instalēšanas procesu.

Apakšprocess "kodols"

Pašu. Kristofers Diazs Riveross

Tādā veidā katrs "sarežģītais" solis visā pasaulē kļūst par "vienkāršu", nezaudējot nepieciešamās detaļas. Tas atvieglo montāžas redzamību, nesamazinot specifikācijas līmeni, kas nepieciešams procesa veiksmīgai pabeigšanai. Un mēs nevaram noliegt, ka attēlu ir vieglāk redzēt nekā visu rokasgrāmatu izlasīt 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 vieglāka, jo mēs koncentrējam savus centienus tur, kur tie patiešām ir nepieciešami, un, ja šī daļa ir izdarīta pareizi, pārējā daļa ir zem sava svara. Es ceru, ka tas palīdzēs jūsu zinātkārei un motivēs jūs izpētīt BPM, algoritmiku un, kas zina, varbūt tas mudinās jūs palīdzēt man ar manu disertāciju 😛 Liels paldies, ka ieradāties šeit, un mēs drīz redzēsimies. Priekā


2 komentāri, atstājiet savus

Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.

  1.   Aleksandra Mayorga Muñoz teica

    Sveiki. Paldies, ka dalījāties savās zināšanās. Man šķiet, ka tas ir aizraujošs priekšmets, taču tas prasa daudz pētījumu un jēdzienu ieviešanu praksē, lai varētu tos internalizēt. Sākumā jautājums ir mulsinošs, jo to mēdz vairāk saistīt ar prasību noteikšanu sistēmai, nevis obligāti ar uzņēmuma biznesa procesiem, tas ir, kā uzņēmums darbojas. Galu galā es domāju, ka tas vairāk attiecas uz programmatūras izstrādātāju lomu uzņēmuma biznesa modelēšanā, lai padarītu biznesa darbību efektīvāku un efektīvāku.

    1.    KrissADR teica

      Sveiks Aleksandrs, liels paldies par dalīšanos. Patiesību sakot, tas ir nedaudz sarežģīts temats, mēģinot visu apkopot tik mazā telpā, bet, ja es varu nedaudz palīdzēt, lai izkļūtu no neskaidrības ar jūsu komentāru, ir taisnība, ka sistēmām vajadzētu mēģināt atrisināt prasības, ka ir visiespējamākā pamata funkcionalitāte, un tajā brīdī ir taisnība, ka izstrādātājam jākoncentrējas uz augstāku līmeni.
      Procesu pārzināšana ļauj izstrādātājiem uzrādīt vairāk nekā pietiekami daudz sistēmu, pietiekami saprotot to, kas atbilst minimālajām iespējamām prasībām.
      Koda elegance ir spēja saprast visu procesu un radīt to dziļākā veidā, kur tiek izmantots labākais iespējamais risinājums, un tas ir iespējams tikai tad, ja patiešām izprotat procesu, nevis prasību, kā jūs labi minējāt 🙂
      Ja mēs to nedaudz modelējam ap FOSS, tas nozīmē ne tikai zināt programmatūras prasību, bet arī tās filosofiju un zināt, kā tā tiks uzturēta, kā arī visas šīs zināšanas par procesu, kas ne tikai rada efektīvu risinājumu. ., bet to būs iespējams uzturēt laika gaitā 🙂
      Vēlreiz liels paldies un sveicieni.