{}


Skąd wzięły się zwinne metodyki programowania i jak mogą Ci pomóc?

Każdy z nas słyszał pewnie nie raz obco brzmiące zwroty takie jak Kanban, Scrum czy też Agile.

W artykule postaram się Wam wyjaśnić, czym są, skąd się wzięły oraz dlaczego stały się tak popularne od momentu ich powstania.

Historia -  zwinne metodyki programowania

Wszystkie wymienione wyżej pojęcia wywodzą się pośrednio z nowego podejścia do zarządzania produkcją, którego efektem były zmiany w sposobie zarządzania całymi zespołami i liniami produkcyjnymi. Rewolucję zapoczątkowali oczywiście pracowici i skoncentrowani na efektywności Japończycy w Toyota Motor Company po II wojnie światowej. Jeżeli interesuje Cię samo pojęcie tzw. szczupłego zarządzania (ang. Lean Management) materiałów edukacyjnych, polecam poszukać w google. W poniższym artykule skupiam się bardziej na rozwiązaniach, które wspomagają wytwarzanie oprogramowania w takich językach jak np. java.

metodyki programowania

Skąd wziął się Kanban?

Patrząc chronologicznie pierwszą metodą pracy, która wyłoniła się w toku ewolucji zarządzania był Kanban. Samo słowo w luźnym tłumaczeniu oznacza tyle, co “spis widoczny”. Nawiązuje do jednej z najważniejszych narzędzi Kanbana, czyli wizualizacji procesu pracy, który ułatwia potem jego usprawnianie. Rozwiązanie to wywodzi się z procesu produkcyjnego i zakłada przede wszystkim likwidację niepotrzebnych zapasów, opóźnień, kolejek czy też innych barier w jego trakcie. Sprawdza się też jednak idealnie w planowaniu swoich osobistych zadań czy też w realizacji dowolnych bardziej skomplikowanych projektów. Sam na co dzień zarządzam swoim czasem stosując tzw. Personal Kanban.

Scrum Guide czyli nowe reguły gry w zespole programistycznym

Ramy czy też zasady postępowania (ang. framework) bazujące na metodykach zwinnych zostały opisane i spopularyzowane w latach 80 i 90 przez Hirotakę Takeuchiego i Ikujiro Nonakę. Co więcej zostały dostosowane do założeń wytwarzania oprogramowania przez Kena Schwabera. Metody te dziś powszechnie stosowane w zespołach developerów określa się właśnie mianem Scrum. Genezą powstania tych zasad było odejście od przestarzałego modelu kaskadowego (ang. waterfall), który nie sprawdzał się w dynamicznie rozwijających się realiach technologii komputerowych. Tworzenie i realizowanie długofalowych planów wiązało z brakiem elastyczności, co kończyło się przestarzałymi, słabymi i relatywnie drogimi efektami pracy. W odpowiedzi na te problemy powstały systemy iteracyjny oraz przyrostowy, które lepiej sprawdzają się w dynamicznym środowisku dzięki krótszym fazom i lepszej komunikacji z klientem. Dzięki rozwinięciu tych systemów oraz wprowadzeniu udoskonaleń i konkretnych zasad pracy powstał podręcznik a dokładniej przewodnik po regułach gry Scrum (Scrum Guide). Praca w zespołach Scrumowych jest podzielona na konkretne krótkie iteracje (sprinty), dzięki czemu nowe działające wersje produktu pojawiają się częściej. Łatwiej jest zdecydować, czy odpowiadają obecnym założeniom. Wdrożenie takich zasad pracy zazwyczaj wiąże się z dużym wzrostem efektywności nie tylko w dziedzinach programowania. Właśnie dlatego metody zwinne uzyskały tak szybko ogromną popularność na całym świecie.

Manifest dla zwinnych metodyk programowania

Kolejnym ostatnim już pojęciem, które opiszę w tym artykule jest pojęcie Agile wywodzące się od Manifestu Agile. Stworzonego i spisanego w 2001 roku przez grupę prekursorów nowych metod wytwarzania oprogramowania. Zasady te w zwięzły i konkretny sposób określają zmiany i wyznaczając kierunek rozwoju zwinnego zarządzania projektami (nie tylko) informatycznymi. Sam manifest nie jest długi, dlatego prezentuje jego treść poniżej:

Manifest programowania zwinnego

Odkrywamy nowe metody programowania dzięki praktyce w programowaniu i wspieraniu w nim innych. W wyniku naszej pracy, zaczęliśmy bardziej cenić:

  • Ludzi i interakcje od procesów i narzędzi
  • Działające oprogramowanie od szczegółowej dokumentacji
  • Współpracę z klientem od negocjacji umów
  • Reagowanie na zmiany od realizacji założonego planu.

Oznacza to, że elementy wypisane po prawej są wartościowe, ale większą wartość mają dla nas te, które wypisano po lewej.

W skład zwinnego manifestu weszło jeszcze 12 zasad zwinnego tworzenia oprogramowania, z którymi zapoznać się możecie tutaj: Manifest Agile

Jak widać najważniejszymi zmianami było większe skoncentrowanie się na dynamicznych wymaganiach płynących od klienta oraz zniesienie sztywnych i z góry ustalanych procesów, narzędzi oraz barier wywodzących się z modelu kaskadowego. Nie zapominajmy jednak, że Manifest Agile był i jest zbiorem wskazówek, które za każdym razem trzeba przemyśleć i dostosować do indywidualnych potrzeb projektu, klienta oraz zespołu.

Jak zwinne metodyki programowania mogą pomóc w planowaniu własnych zadań?

W tym momencie zadajesz sobie pewnie pytanie: A co ja z tego mogę wyciągnąć?

Jedną z ciekawych, prostych i efektywnych metod zarządzania własnym czasem, o której wspominałem wcześniej jest Personal Kanban.

Ta technika pomoże Ci dojść od nieuporządkowanych planów w Twojej głowie:

metodyki programowania

Do przemyślanego i dobrze zwizualizowanego planu pracy:

metodyki programowania

Nikt lepiej nie wytłumaczy całej metody od autora książki “Personal Kanban” - Jima Bensona.

Obejrzyj wprowadzenie do metody prowadzenia osobistej tablicy Kanban.

Interesuje Cię kurs w naszej ofercie? Odezwij się do nas!

Autor artykułu:

Michał Maciołek

Najnowsze artykuły:

Zapisz się do newslettera

Podaj nam swój adres e-mail a będziemy informować Cię o naszych ofertach specjalnych, wydarzeniach przez nas organizowanych oraz przesyłać ciekawe poradniki na temat nauki programowania.