80/20 vpliva tudi na razporejanje

Vsi smo že slišali za pravilo 80/20, tisto, ki pravi, da 80% našega uspeha (učinki) izvira le iz 20% naših dejanj (vzrokov). No, ta univerzalna resnica vpliva tudi na razvoj programske opreme in v tem članku bomo predstavili nekaj osnov te izjave.

BPM

Upravljanje poslovnih procesov je s svojo kratico v angleščini disciplina upravljanja (med drugim), ki omogoča vizualno razumevanje procesov, ki jih je treba izvesti v podjetju (ali marsikje drugje). Med njegovimi glavnimi lastnostmi je dejstvo, da lahko analizira zapletene procese in jih naredi "preproste".

Obstaja veliko odprtokodnih orodij, ki vam omogočajo razvoj diagramov BPM, tisto, ki sem ga uporabil za ta članek, je BonitaSoft. Če želite izvedeti nekaj več o upravljanju procesov, obstaja veliko vadnic na internetu in knjig na to temo. Zdaj se vrnimo k osrednji temi.

Programski projekti

Danes obstaja veliko metodologij za razvoj projektov, obstajajo gibčne, tradicionalne, mešane itd., Itd. Vsem je skupna ena točka priprava. Kaj mislim s tem? Da bo 80% vašega uspeha v tem programskem projektu temeljilo na prvih 20% celotnega procesa, priprava. 

Priprava projekta

To je nekaj logičnega, kar se v resnici uporablja zelo malo (tako kot mnoge druge logične stvari, ki so v praksi nelogične). Ko govorimo o pripravi, moramo razumeti sposobnost razumevanja problema, razumevanje rešitve in predvsem, Postopek da velja rešitev. Ena od stvari, ki jih najmanj najdemo v nestrokovnih programskih projektih, je pomanjkanje dokumentacije na to temo. To se običajno pojavi v zasebnih podjetjih, saj želja po prodaji presega postopek ustvarjanja.

Ker veliko tistih, ki berejo te članke, dela ali je povezano s tehnologijo, je treba omeniti, da če na neki točki svojega delovnega življenja naletijo na podjetje / dobavitelja, ki ne izpolnjuje dobrih priprav, je to skoraj 80% gotovo certain da projekt ne bo šlo.

Ključna je abstrakcija

To se nekaj naučim že v času uporabe GNU / Linuxa in vedno znova se izkaže, da je ključnega pomena v procesu ustvarjanja programske opreme. Zmogljivost povzetek težave, da bi jih spremenili v bolj "preproste" stvari, ključnega pomena, da lahko ustvarjamo elegantno kodo, predvsem pa trpežna. In morda je to ena glavnih razlik velikih profesionalnih projektov in projektov, ki rastejo izpod nadzora. Prvi mislijo, razumejo in strukturirajo Postopek medtem ko so sekunde obdržijo delati, ne da bi ga morali razumeti.

stager

To je ime projekta, ki ga razvija namestitveni program Gentoo, kot si lahko predstavljate, je to precej zapleten postopek, saj podpira veliko število arhitektur. Drugi dejavnik, ki ga je treba upoštevati, je število konfiguracij, ki jih podpira, na ravni jedra, sistema init itd. In vse to vam povem, ker je to tudi moj diplomski projekt, ki ga moram zaključiti pred zaključkom študija. Očitno v tako kratkem času (do julija prihodnje leto) ne morem izdelati programa, ki bi vseboval popolnoma vse možne možnosti, lahko pa vsaj ustvarim takšnega, ki omogoča namestitev funkcionalnega sistema na zelo osnovni način.

Razumevanje namestitvenega postopka

Zahvaljujoč orodjem BPM je mogoče ustvariti procesni diagram, ki nam omogoča razumevanje korakov, potrebnih za uspešno namestitev Gentooja v računalnik.

Postopek namestitve Gentoo

Lastno. Christopher Diaz Riveros

Kljub temu, da vsebuje več procesov in podprocesov, je očitno precej povzet in vidimo, da imamo 18 linearnih korakov. To je pomembno, ker je aplikacija z linearno strukturo enostavna za izvajanje, hkrati pa lahko po potrebi ustvarite vzporednost v eni ali več nitih.

Drug pomemben dejavnik je, da nam to omogoča povzetek nabori procesov po vrstah, na primer z definiranjem niti jedra nam da vedeti, da v njej obstajajo posebne naloge, ki so neposredno povezane s postopkom uspešne namestitve jedra.

Podproces "jedro"

Lastno. Christopher Diaz Riveros

Na ta način vsak "zapleten" korak na splošno postane "preprost", ne da bi pri tem izgubili potrebne podrobnosti. To olajša vidnost sklopa, ne da bi znižal raven specifikacije, potrebno za uspešno dokončanje postopka. In ne moremo zanikati, da je sliko lažje videti kot prebrati celoten priročnik naenkrat 🙂

Prihrani čas

Druga očitna prednost je v tem, da je mogoče, če nimate neposredno povezanega programskega jezika, izvesti logično analizo, ne da bi pri tem zapravljali čas. To je prednost v primerjavi s časom, ki ga lahko porabite za izvajanje funkcije, da ugotovite, da bo zavržena, ker obstaja učinkovitejša rešitev. Tako kot bi bile rešitve v psevdo-kodi (nekaj, kar mnogi "razvijalci" tudi prezrejo, a tega ne bi smeli).

Enostavno vodenje projektov

Ob upoštevanju teh konceptov postane upravljanje projektov (kakršno koli) lažje, saj svoja prizadevanja usmerimo tja, kjer so resnično potrebni, in če je ta del opravljen pravilno, ostane ostalo pod lastno težo. Upam, da pomaga vaši radovednosti in vas motivira za raziskovanje BPM-ja, algoritmike in kdo ve, morda vas bo spodbudilo, da mi pomagate pri moji tezi 😛 Najlepša hvala, da ste prišli sem in se kmalu vidimo. Na zdravje


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.

  1.   Aleksander Mayorga Muñoz je dejal

    Živjo. Hvala, ker ste delili svoje znanje. Zdi se mi, da je to vznemirljiva tema, vendar zahteva veliko raziskovalnega dela in uveljavljanje konceptov, da bi jih lahko ponotranjili. Vprašanje je sprva zmedeno, ker ga navadno bolj povezujemo s prepoznavanjem zahtev za sistem in ne nujno s poslovnimi procesi podjetja, torej s tem, kako podjetje deluje. Na koncu mislim, da gre bolj za vlogo, ki jo imajo razvijalci programske opreme pri oblikovanju poslovanja podjetja, da bi bilo poslovanje bolj učinkovito in uspešno.

    1.    ChrisADR je dejal

      Pozdravljeni Aleksander, najlepša hvala za delitev. Resnici na ljubo je nekoliko zapletena tema, če poskušam povzeti vse na tako majhnem prostoru, toda če lahko s svojim komentarjem malo prispevam, da se izognemo zmedi, je res, da bi morali sistemi poskušati rešiti zahteve, to je najbolj možna osnovna funkcionalnost in takrat je res, da se mora razvijalec osredotočiti na višjo raven.
      Poznavanje procesov omogoča razvijalcem, da predstavijo več kot dovolj sistemov, ki jih dovolj razumejo kot nekaj, kar ustreza minimalnim možnim zahtevam.
      Eleganca kode je v tem, da lahko razumete celoten postopek in ga ustvarite globlje, kjer se uporabi najboljša možna rešitev, kar je mogoče le z resničnim razumevanjem postopka in ne zahteve, kot ste dobro omenili 🙂
      Če ga nekoliko modeliramo okoli FOSS, to ne pomeni le poznavanja programske zahteve, temveč tudi filozofije, ki stoji za tem, in vedenja, kako jo bo kdo vzdrževal, in vse tisto znanje o procesu, ki ne ustvarja le učinkovite rešitve. , vendar ga bo mogoče sčasoma vzdrževati 🙂
      Še enkrat najlepša hvala in lep pozdrav.