Współcześnie coraz więcej uwagi poświęca się efektywnemu zarządzaniu projektami w IT oraz produkcją oprogramowania. Związane jest to z próbą zunifikowania podejścia do zadań projektowych przez organizacje o różnych wielkościach, kulturze organizacyjnej i strukturach. Jedną z coraz chętniej wykorzystywanych metodologii w tworzeniu oprogramowania jest metodologia Kanban.
Geneza Kanban
Fraza „Kanban” użyta została po raz pierwszy w latach 50. X wieku przez Taiichiego Ohno. Obserwował on sposób działania amerykańskich supermarketów, których pracownicy okresowo sprawdzali braki towarów oraz je zamawiali. Dostawy do supermarketów realizowane były na podstawie braków, a nie odgórnie ustalonych harmonogramów. Ohno stwierdził, że rozwiązanie to jest niezwykle dobrym pomysłem i sprawnie zaimplementował to rozwiązanie do realiów fabryki Toyoty, która borykała się z problemem zbyt dużej ilości zapasów wewnątrzprodukcyjnych.
Dzięki wdrożeniu metodyki Kanban do fabryki Toyoty udało się:
- skrócić czas przetwarzania do minimum,
- zminimalizować wielkość zapasów przy zapewnieniu harmonijnej produkcji oraz terminowości realizowania zleceń,
- zapewnić samokontrolę fabryki pod względem realizowanych procesów produkcyjnych,
- dopasować wielkość produkcji do liczby zamówień.
Wdrożenie oraz wieloletnie udoskonalanie metodyki Kanban sprawiło, że stała się ona niezwykle efektywnym, skutecznym i wygodnym sposobem organizacji pracy, produkcji i zarządzania projektami.
Czym jest Kanban?
Zgodnie z japońską terminologią termin „Kanban” oznacza w wolnym tłumaczeniu „widoczny opis”. Koncepcja Kanban sprowadza się w tworzeniu oprogramowania do dostarczania klientom oprogramowania w odpowiednim terminie i o odpowiedniej wartości. Stosowanie podejścia Kanban pozwala uzyskać pełną kontrolę nad procesem inżynierii oprogramowania, wyeliminować nieefektywność i naddatki produkcyjne, a także zoptymalizować wykorzystywane zasoby.
Umiejętne wdrożenie metodyki Kanban do struktur i kultury firmy tworzącej oprogramowanie pozwala jej tworzyć rozwiązania just-in-time, nie przeciążając programistów, a cały proces produkcji zdefiniowany jest pod klienta.
Metodyka kanban może być rozpatrywana w dwóch płaszczyznach – jako:
- podejście do narastających zmian w procesach organizacji,
- wizualny system zarządzania procesami produkcyjnymi.
Na czym polega stosowanie metodyki Kanban w tworzeniu oprogramowania?
W obecnym brzmieniu metodyka Kanban została sformułowana przez Davida J. Andersona, który usprawnił podejście Kanban i nadał mu ramy podejścia do narastających zmian w procesach i systemach organizacji. Zgodnie z podejściem Andersona metodyka Kanban opiera się na systemie produkcji typu pull (ciągnionym). Ogranicza on pracę w toku, a także stanowi skuteczny mechanizm regulujący nadmierną produkcję.
Produkcja oprogramowania zgodna z metodyką Kanban opiera się na kilku zaleceniach i rekomendacjach, których przestrzeganie jest kluczowe do prawidłowego i optymalnego wykorzystania zasobów przy jednoczesnym dostosowaniu produkcji do klienta.
Zaczynać od wiedzy, którą się posiada
Wdrażając metodykę Kanban, nie jest konieczne stosowania specyficznego, innego niż uprzedni zestawu ról oraz typowania kroków procesów. Korzystając z tej metodologii, należy dostosować ją do aktualnych ról i procesów i aktywizować w przedsiębiorstwie ewolucyjną zmianę systemu zarządzania.
Przywództwo na wszystkich poziomach
Stosowanie metodyki Kanban w organizacji powinno zachęcać osoby na wszystkich poziomach organizacji do działań przywódczych – od kierowników po poszczególne osoby biorące udział w procesach produkcyjnych i projektowych.
Unikanie drastycznych zmian organizacji
Metodyka Kanban nie wymaga drastycznego zmieniania organizacji i kultury przedsiębiorstwa. Organizacja pracy zgodna z Kanban powinna działać zgodnie z akceptowalnymi i wypracowanymi standardami, a także szanować obecnie nadane role, obowiązki i tytuły. W ten sposób możliwe będzie sprawne ewolucyjne podejście do zmian i zdobycie szerszego wsparcia wśród organizacji.
Zmiany ewolucyjne
Zmiany w organizacji i sposobach tworzenia oprogramowania muszą wynikać z narastającego, ewolucyjnego podejścia przedsiębiorstwa. Stosowanie małych kroków na drodze do usprawnienia podejścia pozwoli uniknąć sprzeciwów i zagwarantuje sprawne przyswojenie nowo powstających reguł i procedur.
5 kluczowych zasad metodyki Kanban zgodnych
Jeden z protagonistów metodyki Kanban – David J. Anderson – opracował pięć podstawowych zasad, które pozwalają sprawnie wdrożyć i rozwijać metodykę Kanban w organizacji.
Wizualizacja
Tylko wizualizacja przepływu pracy intelektualnej w procesie tworzenia oprogramowania pozwala zrozumieć postępowanie procesu, a także stanowi podstawę do uzyskania mierzalnych danych dotyczących jego organizacji. Zaprezentowanie etapów procesów produkcji oprogramowania w formie tablic umożliwia zrozumienie procesu jego uczestnikom, a także wprowadzanie ewolucyjnych zmian poprawiających przepływ pracy oraz sposób realizowania zadań.
Limitowanie pracy w toku
Określanie limitów dopuszczalnej liczby zadań w toku pozwala uniknąć wąskiego gardła systemu Kanban. System ciągniony wymaga, aby procesy i zadania dopasowywać do aktualnych potrzeb. Kolejne zadania mogą być pobierane dopiero gdy poprzednie zadanie z poszczególnych grup zadań zostanie zrealizowane.
Zarządzanie strumieniem
Płynność, czas realizacji oraz wartość poszczególnych zadań muszą być regularnie monitorowane. Tylko w ten sposób możliwe jest uzyskanie narastających, ewolucyjnych zmian w systemie.
Jawność zasad
Pełna jawność organizacji i polityki ułatwia dyskusję na temat prac oraz ich aspektów, które wymagają poprawy. Tylko pełne zrozumienie zasad umożliwia merytoryczną, obiektywną, empiryczną i racjonalną dyskusję o powstałych problemach.
Sprzężenie zwrotne
Stosując feedback na podstawie sprzężenia zwrotnego, możliwe są: uzyskanie dokładnych informacji o kontroli popytu, weryfikacja postępów prac, monitorowanie wskaźników i mierników, a także kontrola popytu. Działania te są niezbędne do ewoluowania zmian w obrębie organizacji.