80/20 također utječe na zakazivanje

Svi smo čuli za pravilo 80/20, ono koje kaže da 80% našeg uspjeha (posljedice) proizlazi iz samo 20% naših postupaka (uzroka). Pa, ova univerzalna istina također utječe na razvoj softvera, a u ovom ćemo članku razmotriti neke od osnova ove izjave.

BPM

Upravljanje poslovnim procesima, zbog svoje kratice na engleskom jeziku, disciplina je upravljanja (između ostalog) koja vam omogućuje vizualno razumijevanje procesa koji se moraju provesti u poslu (ili na mnogim drugim mjestima). Među njegovim glavnim kvalitetama je činjenica da može analizirati složene procese i učiniti ih "jednostavnima".

Postoje mnogi alati otvorenog koda koji vam omogućuju razvoj BPM dijagrama, a ovaj koji sam koristio za ovaj članak je BonitaSoft. Ako želite naučiti malo više o upravljanju procesima, na internetu postoje mnogi vodiči i knjige o toj temi. Vratimo se sada središnjoj temi.

Softverski projekti

Danas postoje mnoge metodologije za razvoj projekata, postoje agilne, tradicionalne, mješovite itd., Itd. Svima im je zajednička točka priprema. Što mislim pod tim? Da će se 80% vašeg uspjeha u ovom softverskom projektu temeljiti na prvih 20% cjelokupnog procesa, priprema. 

Priprema projekta

To je nešto logično što se u stvarnosti primjenjuje vrlo malo (poput mnogih drugih logičnih stvari koje su u praksi nelogične). Kada govorimo o pripremi, moramo razumjeti sposobnost razumijevanja problema, razumijevanje rješenja i prije svega, postupak da se rješenje odnosi. Jedna od stvari koje se najmanje mogu naći u neprofesionalnim softverskim projektima je nedostatak dokumentacije na tu temu. To se obično pojavljuje u privatnim tvrtkama jer želja za prodajom premašuje postupak stvaranja.

Kako mnogi od onih koji čitaju ove članke rade ili su povezani s tehnologijom, vrijedi spomenuti da ako u nekom trenutku svog radnog vijeka pronađu tvrtku / dobavljača koja ne ispunjava dobru pripremu, gotovo je 80% sigurno 😛 da je projekt neće uspjeti.

Ključ je apstrakcija

To je nešto što sam naučio iz svog vremena koristeći GNU / Linux i to se uvijek iznova pokazuje kao ključno u procesu stvaranja softvera. Kapacitet sažetak Problemi pretvaranja u "jednostavnije" stvari od vitalne su važnosti za generiranje elegantnog koda, i prije svega dugotrajno. I možda je ovo jedna od glavnih razlika velikih profesionalnih projekata i projekata koji izmiču kontroli. Prvi misle, razumiju i strukturiraju postupak dok sekunde drže radeći a da to ne moraju razumjeti.

stager

Ovo je naziv projekta koji razvija program za instalaciju Gentoo, kao što možete zamisliti, ovo je prilično složen proces, jer podržava velik broj arhitektura. Još jedan čimbenik koji treba uzeti u obzir je broj konfiguracija koje podržava, na razini jezgre, init sustava itd. I sve vam to kažem, jer je to ujedno i moj diplomski rad, koji moram završiti prije završetka studija. Očito ne mogu stvoriti program koji razmatra apsolutno sve moguće opcije u tako kratkom vremenu (do srpnja sljedeće godine), ali barem mogu generirati onaj koji omogućuje da se funkcionalni sustav instalira na vrlo osnovni način.

Razumijevanje postupka instalacije

Zahvaljujući BPM alatima može se generirati dijagram procesa koji nam omogućuje razumijevanje koraka neophodnih za uspješnu instalaciju Gentoo-a na računalo.

Postupak instalacije Gentoo-a

Vlastiti. Christopher Diaz Riveros

Iako sadrži nekoliko procesa i potprocesa, očito je prilično sažet i vidi se da imamo 18 linearnih koraka. To je važno jer je aplikaciju koja ima linearnu strukturu lako implementirati, a istodobno se paralelnost može generirati u jednoj ili više niti ako je potrebno.

Drugi važan čimbenik je taj što nam to omogućuje sažetak skupovi procesa prema tipu, na primjer, definiranje niti jezgre daje nam do znanja da unutar nje postoje specifični zadaci koji su izravno povezani s postupkom uspješne instalacije jezgre.

Potproces "kernel"

Vlastiti. Christopher Diaz Riveros

Na taj način svaki "složeni" korak postaje "jednostavan" na globalni način, bez gubljenja potrebnih detalja. To olakšava vidljivost sklopa bez snižavanja razine specifikacije potrebne za uspješno dovršenje postupka. I ne možemo poreći da je sliku lakše vidjeti nego čitati cijeli Priručnik odjednom 🙂

Uštedite vrijeme

Sljedeća je očita prednost u tome što je nepostojanjem izravno povezanog programskog jezika moguće izvesti logičku analizu bez nužnog gubljenja vremena na implementaciju jezika. To je prednost u usporedbi s vremenom koje se može utrošiti na implementaciju značajke samo da bi se otkrilo da će biti odbačena jer postoji učinkovitije rješenje. Kao što bi bila rješenja u pseudo-kodu (nešto što mnogi "programeri" također ignoriraju, ali to ne bi trebalo biti).

Jednostavno usmjeravanje projekata

Uzimajući u obzir ove koncepte, upravljanje projektima (bilo koje vrste) postaje lakše, jer svoje napore usmjeravamo tamo gdje su stvarno potrebni, a ako je ovaj dio pravilno izveden, ostatak spada u vlastitu težinu. Nadam se da pomaže vašoj znatiželji i motivira vas na istraživanje o BPM-u, algoritmu i tko zna, možda će vas potaknuti da mi pomognete s mojom tezom 😛 Hvala vam puno što ste došli ovdje i vidimo se uskoro. Živjeli


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   Aleksandar Mayorga Muñoz dijo

    Bok. Hvala što ste podijelili svoje znanje. Čini mi se da je to uzbudljiva tema, ali da zahtijeva puno istraživačkog rada i primjene u praksi koncepata kako bi ih se moglo internalizirati. U početku je to pitanje zbunjujuće jer ga se više nastoji povezati na strani identificiranja zahtjeva za sustavom, a ne nužno s poslovnim procesima tvrtke, odnosno kako tvrtka radi. Na kraju, mislim da se više radi o ulozi koju programeri softvera imaju u modeliranju poslovanja tvrtke kako bi poslovanje učinili učinkovitijim i djelotvornijim.

    1.    ChrisADR dijo

      Pozdrav Aleksandere, puno hvala na dijeljenju. Da kažem istinu, pomalo je složena tema pokušati sažeti sve na tako malom prostoru, ali ako mogu malo doprinijeti da se izvučem iz zabune vašim komentarom, istina je da bi sustavi trebali pokušati riješiti zahtjeve, to je najviše moguća osnovna funkcionalnost i u tom je trenutku istina da bi se programer trebao usredotočiti na višu razinu.
      Poznavanje procesa omogućava programerima da predstave više nego dovoljno sustava, razumijevajući ih dovoljno kao nešto što udovoljava minimalnim mogućim zahtjevima.
      Elegancija koda leži u mogućnosti razumijevanja cjelovitog postupka i njegovog generiranja na dublji način, gdje se primjenjuje najbolje moguće rješenje, a to je moguće samo istinskim razumijevanjem postupka, a ne zahtjeva, kao što ste dobro spomenuli 🙂
      Ako ga malo modeliramo oko FOSS-a, to podrazumijeva ne samo poznavanje softverskog zahtjeva, već filozofije koja stoji iza toga, te saznanje kako će se to održavati, od koga i sve ono znanje o procesu koje ne samo da stvara učinkovito rješenje. , ali to će biti moguće održavati s vremenom 🙂
      Još jednom puno hvala i pozdrav.