80/20 taip pat turi įtakos planavimui

Visi esame girdėję apie taisyklę 80/20, sakančią, kad 80% mūsų sėkmės (padarinių) atneša tik 20% mūsų veiksmų (priežasčių). Na, ši universali tiesa taip pat daro įtaką programinės įrangos kūrimui, ir šiame straipsnyje mes apžvelgsime šiek tiek šio teiginio pagrindų.

BPM

Verslo procesų valdymas, sutrumpintai angliškai, yra valdymo disciplina (be kita ko), leidžianti vizualiai suprasti procesus, kurie turi būti vykdomi versle (ar daugelyje kitų vietų). Tarp pagrindinių jo savybių yra tai, kad jis gali analizuoti sudėtingus procesus ir padaryti juos „paprastus“.

Yra daugybė atvirojo kodo įrankių, leidžiančių jums sukurti BPM diagramas, viena, kurią naudojau šiame straipsnyje, yra „BonitaSoft“. Jei norite sužinoti šiek tiek daugiau apie procesų valdymą, internete yra daugybė vadovėlių ir knygų šia tema. Dabar grįžkime prie pagrindinės temos.

Programinės įrangos projektai

Šiandien yra daug projektų kūrimo metodikų: judriosios, tradicinės, hibridinės ir panašiai. Vienas dalykas, kurį jos visos turi bendro, yra pasiruošimas . Ką turiu omenyje sakydamas? Kad 80 % jūsų sėkmės šiame programinės įrangos projekte priklausys nuo pirmųjų 20 % viso proceso: pasiruošimo.

Rengiant projektą

Tai logiškas teiginys, kuris retai taikomas realybėje (kaip ir daugelis kitų logiškų dalykų, kurie praktikoje yra nelogiški). Kalbėdami apie pasiruošimą, turime suprasti gebėjimą suvokti problemą, suprasti sprendimą ir, svarbiausia, procesą , kurį sprendimas taiko. Vienas iš rečiausių dalykų, sutinkamų neprofesionaliuose programinės įrangos projektuose, yra dokumentacijos šia tema trūkumas. Tai dažniausiai nutinka privačiose įmonėse, nes noras parduoti dažnai nustelbia kūrimo procesą.

Kadangi daugelis šių straipsnių skaitytojų dirba technologijų srityje arba yra su jomis susiję, verta paminėti, kad jei bet kuriuo savo darbo gyvenimo momentu jie susiduria su įmone ar tiekėju, kuris neatitinka gero pasirengimo standarto, beveik 80 % tikimybė, kad projektas nebus sėkmingas.

Abstrakcija yra raktas

To išmokau dirbdamas su GNU/Linux, ir tai ne kartą įrodo esanti esminė programinės įrangos kūrimo proceso dalis. Gebėjimas abstrahuoti problemas ir paversti jas paprastesniais dalykais yra gyvybiškai svarbus norint sukurti elegantišką ir, svarbiausia, patvarų kodą . Ir galbūt tai yra vienas iš pagrindinių skirtumų tarp didelių profesionalių projektų ir projektų, kurie auga nekontroliuojamai. Pirmieji apgalvoja, supranta ir struktūrizuoja procesą, o pastarieji tiesiog jį vykdo jo nesuprasdami.

scenaristas

Tai yra projekto, kurį sukūrė „Gentoo“ diegimo programa, pavadinimas, kaip jūs galite įsivaizduoti, tai yra gana sudėtingas procesas, nes jis palaiko daugybę architektūrų. Kitas veiksnys, į kurį reikia atsižvelgti, yra jo palaikomų konfigūracijų skaičius branduolio lygmenyje, „init“ sistemoje ir kt. Aš jums visa tai sakau, nes tai taip pat yra mano baigiamasis darbas, kurį turiu baigti prieš baigdamas studijas. Akivaizdu, kad per trumpą laiką (iki kitų metų liepos) negaliu sukurti programos, kurioje būtų atsižvelgiama į visus galimus variantus, bet bent jau galiu sukurti tokią programą, kuri leistų įdiegti funkcinę sistemą labai paprastu būdu.

Suprasti diegimo procesą

BPM įrankių dėka galima sukurti proceso schemą, kuri leidžia suprasti veiksmus, būtinus sėkmingam „Gentoo“ diegimui kompiuteryje.

„Gentoo“ diegimo procesas

Savo. Christopheris Diazas Riverosas

Nepaisant kelių procesų ir subprocesų, jis akivaizdžiai buvo gana apibendrintas ir matyti, kad turime 18 linijinių žingsnių. Tai svarbu, nes linijinę struktūrą turinti taikomoji programa yra lengvai įgyvendinama ir tuo pačiu metu, jei reikia, vienoje ar keliose gijose gali būti sukurtas lygiagretumas.

Kitas svarbus veiksnys yra tai, kad tai leidžia mums abstrahuoti procesų rinkinius pagal tipą; pavyzdžiui, apibrėžus branduolio subprocesą, galime žinoti, kad jame yra konkrečių užduočių, kurios yra tiesiogiai susijusios su sėkmingu branduolio diegimo procesu.

Procesas „branduolys“

Savo. Christopheris Diazas Riverosas

Tokiu būdu kiekvienas „sudėtingas“ žingsnis tampa „paprastu“, neprarandant reikalingų detalių. Tai palengvina surinkimo matomumą nesumažinant specifikacijų, reikalingų sėkmingai užbaigti procesą, lygio. Ir negalime paneigti, kad lengviau pamatyti vaizdą, nei perskaityti visą vadovą iš karto 

Sutaupyti laiko

Kitas akivaizdus pranašumas yra tas, kad neturint tiesiogiai susietos programavimo kalbos, galima atlikti loginę analizę, nebūtinai gaištant laiko kalbos įgyvendinimui. Tai yra pranašumas, palyginti su tuo, kiek laiko galima sugaišti įgyvendinant funkciją, kad sužinotume, jog ji bus išmesta, nes yra efektyvesnis sprendimas. Kaip kokie būtų pseudokodo sprendimai (to taip pat nepaiso daugelis „kūrėjų“, bet neturėtų būti).

Vadovauti projektams tapo lengva

Atsižvelgiant į šias sąvokas, projektų valdymas (bet kokio pobūdžio) tampa paprastesnis, nes mes sutelkiame pastangas ten, kur jų tikrai reikia, o jei ši dalis atliekama teisingai, visa kita patenka į savo svorį. Tikiuosi, kad tai padės jūsų smalsumui ir motyvuos tyrinėti BPM, algoritmus ir, kas žino, galbūt paskatins jus padėti man baigiamajame darbe  Labai ačiū, kad atėjote taip toli ir pasimatysime netrukus. Sveikinimai


Pridėti kaip pageidaujamą šaltinį „Google“ sistemoje