80/20 wpływa również na planowanie

Wszyscy słyszeliśmy o zasadzie 80/20, która mówi, że 80% naszego sukcesu (efektów) pochodzi tylko z 20% naszych działań (przyczyn). Cóż, ta uniwersalna prawda ma również wpływ na rozwój oprogramowania, aw tym artykule omówimy trochę podstaw tego stwierdzenia.

BPM

Zarządzanie procesami biznesowymi, ze względu na swój akronim w języku angielskim, jest dyscypliną zarządzania (między innymi), która pozwala wizualnie zrozumieć procesy, które muszą zostać przeprowadzone w firmie (lub w wielu innych miejscach). Jedną z jego głównych zalet jest to, że potrafi analizować złożone procesy i czynić je „prostymi”.

Istnieje wiele narzędzi typu open source, które pozwalają tworzyć diagramy BPM. W tym artykule wykorzystałem BonitaSoft. Jeśli chcesz dowiedzieć się więcej o zarządzaniu procesami, w Internecie jest wiele samouczków i książek na ten temat. Wróćmy teraz do głównego tematu.

Projekty oprogramowania

Obecnie istnieje wiele metodologii tworzenia projektów: zwinne, tradycyjne, hybrydowe i tak dalej. Łączy je jedno: przygotowanie . Co mam na myśli? Że 80% sukcesu w tym projekcie programistycznym będzie zależało od pierwszych 20% całego procesu: przygotowania.

Przygotowanie projektu

To logiczny punkt, który rzadko znajduje zastosowanie w praktyce (podobnie jak wiele innych logicznych rzeczy, które w praktyce są nielogiczne). Mówiąc o przygotowaniu, musimy rozumieć umiejętność zrozumienia problemu, rozwiązania, a przede wszystkim procesu , który to rozwiązanie pociąga za sobą. Jednym z najrzadziej spotykanych problemów w nieprofesjonalnych projektach programistycznych jest brak dokumentacji na ten temat. Zwykle zdarza się to w firmach prywatnych, ponieważ chęć sprzedaży często przyćmiewa proces rozwoju.

Ponieważ wiele osób czytających te artykuły pracuje w branży technologicznej lub ma z nią związek, warto wspomnieć, że jeśli w dowolnym momencie swojej kariery zawodowej zetkną się z firmą/dostawcą, który nie spełnia standardów dobrego przygotowania, istnieje prawie 80% pewności, że projekt nie zakończy się sukcesem.

Kluczem jest abstrakcja

To coś, czego nauczyłem się podczas korzystania z GNU/Linux i co raz po raz okazuje się kluczowe w procesie tworzenia oprogramowania. Umiejętność abstrahowania problemów i przekształcania ich w prostsze rzeczy jest niezbędna do generowania eleganckiego, a przede wszystkim trwałego kodu . I być może to jedna z głównych różnic między dużymi projektami profesjonalnymi a projektami, które rozrastają się bez kontroli. Te pierwsze przemyślają, rozumieją i strukturyzują proces, podczas gdy te drugie po prostu go utrzymują, nie musząc go rozumieć.

Stary wyga

Tak nazywa się projekt, który rozwija instalator Gentoo, jak możesz sobie wyobrazić, jest to dość złożony proces, ponieważ obsługuje dużą liczbę architektur. Kolejnym czynnikiem, który należy wziąć pod uwagę, jest liczba obsługiwanych konfiguracji, na poziomie jądra, systemu inicjalizacji itp. I mówię ci to wszystko, ponieważ jest to również moja praca dyplomowa, którą muszę ukończyć przed ukończeniem studiów. Oczywiście nie mogę w tak krótkim czasie (do lipca przyszłego roku) stworzyć programu uwzględniającego absolutnie wszystkie możliwe opcje, ale przynajmniej potrafię wygenerować taki, który pozwoli na bardzo prostą instalację systemu funkcjonalnego.

Zrozumienie procesu instalacji

Dzięki narzędziom BPM można wygenerować diagram procesu, który pozwoli nam zrozumieć kroki niezbędne do pomyślnej instalacji Gentoo na komputerze.

Proces instalacji Gentoo

Posiadać. Christopher Diaz Riveros

Pomimo tego, że zawiera kilka procesów i podprocesów, zostało to oczywiście dość podsumowane i widać, że mamy 18 liniowych kroków. Jest to ważne, ponieważ aplikacja, która ma strukturę liniową, jest łatwa do wdrożenia, a jednocześnie w razie potrzeby można wygenerować równoległość w jednym lub kilku wątkach.

Innym ważnym czynnikiem jest to, że pozwala nam abstrahować od zestawu procesów według typu; na przykład zdefiniowanie podprocesu jądra pozwala nam wiedzieć, że istnieją w nim określone zadania, które są bezpośrednio związane z procesem pomyślnej instalacji jądra.

Podproces „jądro”

Posiadać. Christopher Diaz Riveros

W ten sposób każdy „złożony” krok staje się „prosty” w sposób globalny, bez utraty niezbędnych szczegółów. Ułatwia to widoczność montażu bez zmniejszania poziomu specyfikacji niezbędnego do pomyślnego zakończenia procesu. I nie możemy zaprzeczyć, że łatwiej jest zobaczyć obraz, niż przeczytać od razu cały Podręcznik 

Oszczędzaj czas

Inną oczywistą zaletą jest to, że nie mając bezpośrednio połączonego języka programowania, można przeprowadzić analizę logiczną bez konieczności marnowania czasu na implementację języka. Jest to zaleta w porównaniu z ilością czasu, jaką można poświęcić na wdrażanie funkcji, aby dowiedzieć się, że zostanie ona odrzucona, ponieważ istnieje bardziej wydajne rozwiązanie. Na przykład, jakie byłyby rozwiązania w pseudokodzie (coś, co jest również ignorowane przez wielu „programistów”, ale nie powinno).

Kierowanie projektami stało się łatwe

Uwzględniając te koncepcje, zarządzanie projektami (wszelkiego rodzaju) staje się prostsze, ponieważ koncentrujemy wysiłki tam, gdzie są one naprawdę potrzebne, a jeśli ta część zostanie wykonana poprawnie, reszta spadnie pod własnym ciężarem. Mam nadzieję, że zaspokoi to Twoją ciekawość i zmotywuje do badania BPM, algorytmów i kto wie, może zachęci Cię do pomocy mi w mojej pracy dyplomowej  Dziękuję bardzo za przybycie tak daleko i do zobaczenia wkrótce. Pozdrowienia


Dodaj jako preferowane źródło w Google