80/20 takođe utiče na zakazivanje

Svi smo čuli za pravilo 80/20, ono koje kaže da 80% našeg uspjeha (posljedice) dolazi iz samo 20% naših postupaka (uzroka). Pa, ova univerzalna istina utječe i 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ćava da vizuelno razumijete procese koji se moraju izvesti 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ćavaju da razvijete BPM dijagrame, 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 na centralnu temu.

Softverski projekti

Danas postoji mnogo metodologija za razvoj projekata, postoje agilne, tradicionalne, mješovite itd., Itd. Svima im je zajednička tačka priprema. Šta 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 (kao i mnoge druge logične stvari koje su u praksi nelogične). Kada govorimo o pripremi, moramo razumjeti sposobnost razumijevanja problema, razumijevanje rješenja i, prije svega, proces 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 kompanijama jer želja za prodajom premašuje proces stvaranja.

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

Ključ je apstrakcija

To je nešto što sam naučio iz svog vremena koristeći GNU / Linux i to se iznova pokazuje kao ključno u procesu stvaranja softvera. Kapacitet sažetak Problemi pretvaranja u "jednostavnije" stvari vitalni su 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 proces dok sekunde oni zadržavaju radeći a da to ne razumiju.

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 veliki broj arhitektura. Drugi faktor koji treba uzeti u obzir je broj konfiguracija koje podržava, na nivou jezgra, init sistem itd. I kažem vam sve ovo, jer je to ujedno i moj diplomski rad, koji moram završiti prije završetka studija. Očigledno je da ne mogu stvoriti program koji razmatra apsolutno sve moguće opcije u tako kratkom vremenu (do jula sljedeće godine), ali barem mogu stvoriti onaj koji omogućava da se funkcionalni sistem instalira na vrlo osnovni način.

Razumijevanje postupka instalacije

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

Postupak instalacije Gentoo-a

Svoje. Christopher Diaz Riveros

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

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

Potproces "kernel"

Svoje. Christopher Diaz Riveros

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

Uštedjeti vrijeme

Još jedna očigledna prednost je ta što ako nemate direktno povezan programski jezik, moguće je izvesti logičku analizu bez nužnog gubljenja vremena na implementaciju jezika. Ovo je prednost u odnosu na količinu vremena koje se može potroš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 usmjeravamo svoje napore tamo gdje su zaista potrebni, a ako je ovaj dio pravilno izveden, ostatak spada pod vlastitu težinu. Nadam se da pomaže vašoj znatiželji i motivira vas na istraživanje o BPM-u, algoritmu i ko zna, možda će vas potaknuti da mi pomognete u mojoj tezi 😛 Hvala vam puno što ste došli ovdje i vidimo se uskoro. Živjeli


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  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 obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   Aleksandar Mayorga Muñoz rekao je

    Zdravo. Hvala što ste podijelili svoje znanje. Čini mi se da je to uzbudljiva tema, ali da zahtjeva puno istraživanja i primjene u praksi koncepata da bi ih se moglo internalizirati. U početku je to pitanje zbunjujuće jer ga se više nastoji povezati na strani utvrđivanja zahtjeva za sistemom, a ne nužno s poslovnim procesima kompanije, odnosno kako ona funkcionira. Na kraju, mislim da se više radi o ulozi koju programeri softvera igraju u modeliranju poslovanja kompanije, kako bi poslovanje učinili efikasnijim i efektnijim.

    1.    ChrisADR rekao je

      Zdravo Aleksandre, hvala vam puno na podjeli. 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 sustavi moraju 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ši nivo.
      Poznavanje procesa omogućava programerima da predstave više nego dovoljno sistema, shvatajući dovoljno kao nešto što zadovoljava minimalne moguće zahtjeve.
      Elegancija koda leži u mogućnosti razumijevanja cjelovitog procesa i njegovog generiranja na dublji način, gdje se primjenjuje najbolje moguće rješenje, a to je moguće samo istinskim razumijevanjem procesa, 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.