80/20 vaikuttaa myƶs ajoitukseen

Olemme kaikki kuulleet 80/20-sƤƤnnƶstƤ, joka sanoo, ettƤ 80% menestyksestƤmme (vaikutuksistamme) tulee vain 20%: sta toiminnastamme (syistƤ). No, tƤmƤ yleismaailmallinen totuus vaikuttaa myƶs ohjelmistokehitykseen, ja tƤssƤ artikkelissa kerromme hieman tƤmƤn lausunnon perusteista.

BPM

Liiketoimintaprosessien hallinta on lyhenne englanniksi lyhytketjuinen johtamisala (muun muassa), jonka avulla voit visuaalisesti ymmƤrtƤƤ prosessit, jotka on suoritettava yrityksessƤ (tai monissa muissa paikoissa). Yksi sen pƤƤominaisuuksista on se, ettƤ se voi analysoida monimutkaisia ​​prosesseja ja tehdƤ niistƤ "yksinkertaisia".

On olemassa monia avoimen lƤhdekoodin tyƶkaluja, joiden avulla voit kehittƤƤ BPM-kaavioita, jota olen kƤyttƤnyt tƤssƤ artikkelissa, on BonitaSoft. Jos haluat oppia lisƤƤ prosessinhallinnasta, InternetissƤ on monia oppaita ja kirjoja aiheesta. Palataan nyt keskeiseen aiheeseen.

Ohjelmistoprojektit

NykyƤƤn projektien kehittƤmiseen on monia menetelmiƤ: ketteriƤ, perinteisiƤ, hybridi- ja niin edelleen. Yksi asia yhdistƤƤ niitƤ kaikkia: valmistautuminen . MitƤ tarkoitan tƤllƤ? EttƤ 80 % menestyksestƤsi tƤssƤ ohjelmistoprojektissa riippuu koko prosessin ensimmƤisestƤ 20 prosentista: valmistautumisesta.

Projektin valmistelu

TƤmƤ on looginen nƤkƶkohta, jota harvoin sovelletaan todellisuudessa (kuten monia muita loogisia asioita, jotka ovat kƤytƤnnƶssƤ epƤloogisia). Kun puhumme valmistautumisesta, meidƤn on ymmƤrrettƤvƤ kyky ymmƤrtƤƤ ongelma, ymmƤrtƤƤ ratkaisu ja ennen kaikkea ratkaisun kƤyttƤmƤ prosessi . Yksi harvinaisimmista asioista, joita epƤammattimaisissa ohjelmistoprojekteissa esiintyy, on aiheen dokumentaation puute. TƤmƤ tapahtuu yleensƤ yksityisissƤ yrityksissƤ, koska myyntihalu usein varjostaa kehitysprosessia.

Koska monet nƤitƤ artikkeleita lukevista tyƶskentelevƤt teknologia-alalla tai ovat siihen liittyviƤ, on syytƤ mainita, ettƤ jos he tyƶuransa aikana kohtaavat yrityksen/toimittajan, joka ei tƤytƤ hyviƤ valmistautumisvaatimuksia, on lƤhes 80 %:n varmuudella, ettƤ projekti ei mene hyvin.

Abstraktio on avain

TƤmƤn olen oppinut GNU/Linuxia kƤyttƤessƤni, ja se osoittautuu kerta toisensa jƤlkeen avainasemassa ohjelmistokehitysprosessissa. Kyky abstraktoida ongelmia ja muuttaa ne yksinkertaisemmiksi asioiksi on elintƤrkeƤƤ tyylikkƤƤn ja ennen kaikkea kestƤvƤn koodin luomiseksi . Ja ehkƤ tƤmƤ on yksi tƤrkeimmistƤ eroista suurten ammattimaisten projektien ja hallitsemattomasti kasvavien projektien vƤlillƤ. EnsimmƤiset ajattelevat, ymmƤrtƤvƤt ja jƤsentƤvƤt prosessin, kun taas jƤlkimmƤiset yksinkertaisesti pitƤvƤt sen kƤynnissƤ ilman, ettƤ niiden tarvitsee ymmƤrtƤƤ sitƤ.

nƤyttƤjƤ

TƤmƤ on projektin nimi, jonka Gentoo-asennusohjelma kehittƤƤ, kuten voitte kuvitella, tƤmƤ on melko monimutkainen prosessi, koska se tukee useita arkkitehtuureja. Toinen huomioon otettava tekijƤ on sen tukemien kokoonpanojen lukumƤƤrƤ ytimen tasolla, init-jƤrjestelmƤssƤ jne. Ja minƤ kerron tƤmƤn kaiken, koska se on myƶs opinnƤytetyƶni, joka minun on saatava pƤƤtƶkseen ennen opintojen lopettamista. Ilmeisesti en voi tehdƤ ohjelmaa, joka sisƤltƤƤ ehdottomasti kaikki mahdolliset vaihtoehdot niin lyhyessƤ ajassa (ensi vuoden heinƤkuuhun asti), mutta ainakin pystyn luomaan sellaisen, joka sallii toiminnallisen jƤrjestelmƤn asentamisen hyvin perustavalla tavalla.

Asennusprosessin ymmƤrtƤminen

BPM-tyƶkalujen ansiosta voidaan luoda prosessikaavio, jonka avulla voimme ymmƤrtƤƤ Gentoon onnistuneen asentamisen tietokoneeseen tarvittavat vaiheet.

Gentoon asennusprosessi

Oma. Christopher Diaz Riveros

Huolimatta siitƤ, ettƤ se sisƤltƤƤ useita prosesseja ja aliprosesseja, se on tietysti melko tiivistetty, ja voidaan nƤhdƤ, ettƤ meillƤ on 18 lineaarista vaihetta. TƤmƤ on tƤrkeƤƤ, koska lineaarisen rakenteen omaava sovellus on helppo toteuttaa, ja samanaikaisesti rinnakkaisuus voidaan luoda yhdessƤ tai useammassa sƤikeessƤ tarvittaessa.

Toinen tƤrkeƤ tekijƤ on, ettƤ se antaa meille mahdollisuuden abstraktoida prosessijoukkoja tyypin mukaan; esimerkiksi ytimen aliprosessin mƤƤritteleminen antaa meille tiedon siitƤ, ettƤ siinƤ on tiettyjƤ tehtƤviƤ, jotka liittyvƤt suoraan ytimen onnistuneen asennuksen prosessiin.

Aliprosessi "ydin"

Oma. Christopher Diaz Riveros

TƤllƤ tavalla jokaisesta "monimutkaisesta" vaiheesta tulee "yksinkertainen" globaalisti menettƤmƤttƤ tarvittavia yksityiskohtia. TƤmƤ helpottaa kokoonpanon nƤkyvyyttƤ heikentƤmƤttƤ prosessin onnistuneeseen loppuun saattamiseen tarvittavaa spesifikaatiotasoa. EmmekƤ voi kiistƤƤ, ettƤ on helpompi nƤhdƤ kuva kuin lukea koko kƤsikirja kerralla 

SƤƤstƤƤ aikaa

Toinen ilmeinen etu on, ettƤ koska ei ole suoraan kytkettyƤ ohjelmointikieliƤ, on mahdollista suorittaa logiikka-analyysi tuhlaamatta vƤlttƤmƤttƤ aikaa kielen toteuttamiseen. TƤmƤ on etu verrattuna siihen aikaan, joka voidaan kƤyttƤƤ ominaisuuden toteuttamiseen vain sen selvittƤmiseksi, ettƤ se hylƤtƤƤn, koska on olemassa tehokkaampi ratkaisu. Kuten mitƤ pseudokoodin ratkaisut olisivat (jotain, jota myƶs monet "kehittƤjƤt" jƤttƤvƤt huomiotta, mutta ei pidƤ olla).

Projektien ohjaaminen on helppoa

NƤmƤ kƤsitteet huomioon ottaen projektinhallinta (kaikenlainen tahansa) yksinkertaistuu, koska keskitƤmme ponnistelut sinne, missƤ niitƤ todella tarvitaan, ja jos tƤmƤ osa tehdƤƤn oikein, loput jƤƤvƤt oman painonsa alle. Toivottavasti se auttaa uteliaisuuttasi ja motivoi sinua tutkimaan BPM:ƤƤ, algoritmeja ja kenties se rohkaisee sinua auttamaan minua opinnƤytetyƶssƤni ļ˜› Paljon kiitoksia, ettƤ olet pƤƤssyt nƤin pitkƤlle ja nƤhdƤƤn pian. Tervehdys


LisƤƤ ensisijaiseksi lƤhteeksi Googlessa