Poznaj ciągłe planowanie

Ukończone

Ciągłe planowanie to jedna z ośmiu funkcji metodyki DevOps.

Dowiedz się, dlaczego ciągłe planowanie jest niezbędne

Przyjrzyjmy się analizie przypadku aplikacji oprogramowania opracowanej przez agencję rządową w latach 2000-2005. Projekt nie był bliski zakończenia, gdy został oficjalnie porzucony w styczniu 2005 roku, przerodziwszy się w kompletną klapę. Oprócz marnowania co najmniej 100 milionów dolarów, porażka przyniosła powszechną krytykę agencji i jej dyrektorowi.

Drugi projekt został rozpoczęty w 2006 r., z podobnymi katastrofalnymi wynikami. Dwa wysiłki wykorzystały duży projekt z góry i metodologię rozwoju Wodospadu, z klasycznym zaplanowanym wielkim wybuchem wydarzeniem na żywo. Skończyło się na niczym dostarczonym i setkach milionów dolarów wydanych.

Diagram przedstawia oś czasu projektu agencji rządowej.

Dlaczego te próby zakończyły się niepowodzeniem?

  • Duży projekt z góry – 200-osobowy zespół spędził sześć miesięcy, tworząc wymagania.
  • Zmiana priorytetów — katastrofa wydarzyła się w trakcie realizacji projektu, co doprowadziło do ogromnej zmiany zakresu — a kolejny 300-osobowy zespół pracował przez sześć miesięcy, co doprowadziło do powstania 600 stron wymagań.
  • Zmarnowane nakłady pracy i przeróbki doprowadziły do niezrealizowanych terminów i wypalenia zespołu — 700 000 wierszy kodu pisanych i przepisywanych.

W grudniu 2010 r. utworzono i współlokowano studio Scrum. Personel pracujący nad oryginalnymi projektami został zredukowany ze 400 do 40 osób. Projekt przeszedł od 600 stron wymagań do 670 scenariuszy użytkowników. Zespół wysłał kod i przedstawiał nowe funkcje co dwa tygodnie. Po kilku sprintach możliwe stało się przewidywanie przybliżonych ram czasowych i planowanie stopniowych zmian biznesowych. Prace nad kodem zostały zakończone do grudnia 2011 r.

Ale dlaczego trudno jest zaplanować dobrze szczegółowo?

Alan Turing opracował maszynę podczas II wojny światowej, aby złamać urządzenie szyfrujące znane jako Enigma Machine.

Turing musiał stale rozszyfrować nowe kody, aby uratować życie. Zamiast zrezygnować z powodu pozornie nieskończonej złożoności, Turing wiedział, że musi tylko złamać małe szczegóły, aby dać drogę do większych wyników:

"Możemy dostrzec tylko niewielką odległość przed sobą, ale widzimy wiele rzeczy, które trzeba zrobić."

Ambitne projekty programowe są zawsze złożone. Ale nie pozwól, aby złożoność cię przytłoczyła. Zamiast tego, działaj tam, gdzie jest jasność: krótkoterminowo.

Planuj ciągle i skutecznie, z jasnym kierunkiem, koncentracją i elastycznością, opierając się na celach i kluczowych wynikach (OKR)

Zanim zdefiniujemy planowanie ciągłe, musimy wprowadzić ważną koncepcję i strukturę, aby ułatwić ciągłe i efektywne planowanie z wyraźnym kierunkiem, skupieniem i elastycznością.

Cele i Kluczowe Wyniki (OKR) to struktura ustalania celów, zaprojektowana w celu połączenia strategicznych celów wyznaczonych przez kierownictwo z codziennymi działaniami zespołów realizacyjnych.

Ważne

Zasady OKR pomagają zidentyfikować najlepszy możliwy wynik i tworzyć jasność wokół tego, jak wygląda prawdziwy sukces.

OKR-y są na ogół ustalane na okres kwartalny, by zapewnić ostre skupienie i elastyczność.

Celem jest kierunek, a kluczowy wynik musi być wymierny. Na końcu można spojrzeć i bez żadnych argumentów zdecydować: Czy to zrobiłem, czy nie zrobiłem tego? Tak? Nie? Prosty. Brak wyroku w nim.

OKR-y są lokalizowane na wszystkich szczeblach i we wszystkich zespołach w organizacji, aby zademonstrować wyrównanie i przejrzystość.

Co to są okrs?

Istnieją trzy podstawowe aspekty OKR:

  • Tworzą one ramy do definiowania jasnych celów, zapewniając przejrzystość intencji i kierunku na wszystkich poziomach w organizacji.

  • Zostały wzmocnione poprzez wymierne kluczowe wyniki. Kluczowe wyniki to wyniki, za pomocą których mierzony jest sukces.

  • Oni napędzają kulturę myślenia skoncentrowaną na wynikach, umożliwiając wyraźne przejście od myślenia skoncentrowanego na wynikach ilościowych do myślenia skoncentrowanego na wynikach jakościowych.

Przykład OKR

Oto przykład OKR:

Objective: umieścić astronautę na Księżycu do 1970 roku.

Kluczowe wyniki:

  1. Zbudować statek kosmiczny poniżej 40000 funtów do 1965 roku.
  2. Szkol astronautów na lądowanie na księżycu do 1967 roku.
  3. Pomyślnie wylądował statek kosmiczny na Księżycu.
  4. Bezpiecznie sprowadzić astronautów z powrotem na ziemię.

Ten przykład OKR identyfikuje cel umieszczenia astronauty na Księżycu do 1970 roku.

Uwaga

Cele muszą być łatwe do zrozumienia, określić jasny kierunek i zapewnić motywację.

W tym przykładzie kluczowe wyniki to miary postępu, które będą mierzyć sukces celu.

Uwaga

Kluczowe wyniki muszą być wymierne i zidentyfikować sposób osiągnięcia celu.

Kluczowe korzyści z OKR

Istnieje pięć kluczowych korzyści w OKR-ach:

  • fokus: każdy cel powinien mieścić się w jednym wierszu. Jeśli chodzi o kluczowe wyniki, nie powinno być więcej niż pięć dla każdego celu.
  • Alignment: menedżerowie i pracownicy łączą swoje codzienne działania z wizją całej organizacji. Termin na to powiązanie to wyrównanie, a jego znaczenia nie można przecenić.
  • zobowiązanie: harmonogramy i zasoby zostaną dostosowane w celu zapewnienia, że wszystkie uzgodnione zobowiązania zostaną dostarczone.
  • Śledzenie OKR z danych wyjściowych do wyniku jest powodem, dla których zarządzanie celami jest tak popularne w przypadku firm najwyższej klasy. Każdy OKR powinien być możliwy do śledzenia poprzez metryki ustanowione podczas ich utworzenia.
  • Stretching: OKRs z natury zachęcają organizacje do przekraczania własnych ograniczeń i osiągania więcej, niż wcześniej uważały za możliwe.

Porównanie planowania ciągłego i statycznego

ciągłe planowanie to praktyka, która wymaga, aby planiści, architekci i zespoły zwinne integrowały swoje plany w całym przedsiębiorstwie na bieżąco.

W ramach ciągłego planowania metody planowania oparte na scrum i pojawiających się projektach umożliwiają zespołom udoskonalanie planowania na etapie realizacji.

Ważne jest, aby mieć ogólny plan, który jest odporny na zmiany, ale jest kierowany jasnym wizją i celem.

Żelazny trójkąt kompromisów dla metodologii programowania Kaskadowego a Agile ilustruje porównanie planowania ciągłego i statycznego.

W metodologii statycznej planowanie zakresu jest stałe. Określasz, ile czasu zajmie projekt i ile będzie kosztować.

W metodologii Agile, która wykorzystuje zasady ciągłego planowania, czas jest stały w celu spełnienia celów biznesowych. Jedyną rzeczą, która jest negocjowana, jest zakres.

Diagram przedstawia żelazny trójkąt kompromisów dla metodologii programowania Kaskadowego i Agile.

Trójkąt żelazny zwykle pokazuje czas, zasoby i funkcje. Gartner dodał jakość do tego przedstawienia, ponieważ czas trwania i koszty są skorelowane, a jakość jest często pomijana.

Ale co z sukcesem dwóch praktyk?

Diagram przedstawia porównanie wskaźników sukcesu projektów Agile i Waterfall. 9% projektów Agile zakończyło się niepowodzeniem, 39% powiodło się, a 52% napotkało trudności. 29% projektów Waterfall nie powiodło się, 11% zakończyło się powodzeniem, a 60% napotkało trudności.

Jednym z powodów, dla których projekty Agile są bardziej skuteczne, jest to, że małe wydania wsadowe zwiększają możliwości zdobywania wiedzy.

Należy pamiętać o czterech kwestiach:

  • Potrzeby biznesowe stale się zmieniają i dzieje się to w krótkim czasie.
  • Agile ma mechanizmy planowania, aby nadążyć za zmianami biznesowymi.
  • Zespoły o wysokiej wydajności mogą tak łatwo iść szybko w niewłaściwym kierunku.
  • Uzyskiwanie wiedzy zmniejsza ryzyko.

Metodologie Waterfall i Agile są kwestionowane. Agile po prostu odnosi sukces 30% częściej.

Zapoznaj się z sześcioma zasadami ciągłego planowania

Istnieją sześć zasad ciągłego planowania:

  1. Cenić prostotę
  2. Manifest elastycznego tworzenia oprogramowania
  3. Myślenie projektowe
  4. Programowanie iteracyjne i przyrostowe
  5. Zarządzanie szczupłe
  6. Dokładność szacowania

Zasada ciągłego planowania nr 1: Prostota wartości

Pierwszą zasadą planowania ciągłego jest wartość prostoty.

"Jeśli nie możesz go po prostu wyjaśnić, nie rozumiesz go wystarczająco dobrze."

-Albert Einstein

Zasada ciągłego planowania nr 2: Manifest na potrzeby elastycznego tworzenia oprogramowania

Drugą zasadą ciągłego planowania jest manifest dla elastycznego tworzenia oprogramowania.

Manifest dotyczy dostarczania oprogramowania. Chodzi o tworzenie oprogramowania — nie zarządzanie projektami ani projektowanie. Leży to w centrum ciągłego planowania i metodyki DevOps.

Odkrywamy lepsze sposoby tworzenia oprogramowania, robiąc to i pomagając innym. W ramach tej pracy doszliśmy do wartości następującej:

  • Osoby i interakcje ponad procesy i narzędzia
  • Działające oprogramowanie ponad kompleksową dokumentację
  • Współpraca klientów w sprawie negocjacji kontraktowych
  • Reagowanie na zmiany zamiast trzymania się planu

Zasada ciągłego planowania nr 3: Myślenie projektowe

Trzecia zasada ciągłego planowania jest myślenia projektowego.

Myślenie projektowe ma skoncentrowane na człowieku podejście do innowacji. Koncentruje się na połączeniu rentowności, wykonalności i pożądania, aby ustanowić granice i zmniejszyć odpady.

Diagram wyjaśnia myślenie projektowe. Myślenie projektowe określa granice produktu na wczesnym etapie (często nazywane minimalnym opłacalnym produktem lub

Ciągła zasada planowania nr 4: Programowanie iteracyjne i przyrostowe

Czwartą zasadą ciągłego planowania jest iteracyjny i przyrostowy rozwój.

Niektórzy obawiają się, że nie będą wiedzieć, co dostaną. Programowanie iteracyjne rozwiązuje ten problem, umieszczając wymagania i priorytetyzację w rękach uczestników projektu w iteracyjnej pętli opinii. Każda iteracja jest kompletna, do użyciai przydatne dla użytkowników. Dodaje więcej funkcji, najlepiej najważniejsze funkcje najpierw.

Zasady ciągłego planowania nr 5: Zarządzanie lean

Piątą zasadą ciągłego planowania jest lean management.

Wartość jest definiowana z punktu widzenia klienta końcowego. W procesie są identyfikowane strumienie wartości i kroki, w których wartość nie jest dostarczana klientowi, są identyfikowane jako odpady i usuwane.

Proces zaczyna się ponownie, dążąc do stanu doskonałości przy użyciu ciągłego ulepszania.

Diagram przedstawia etapy procesu: identyfikowanie wartości, mapowania strumienia wartości, tworzenia przepływu, ustanawiania ściągania i poszukiwania doskonałości.

Zasada ciągłego planowania nr 6: Dokładność szacowania

Szóstą zasadą planowania ciągłego jest dokładność szacowania.

Szacowanie to analityczne przewidywanie, jak długo coś potrwa, ile będzie kosztować lub ile funkcji można dostarczyć. Ma dwa atrybuty — dokładność i precyzję, które są całkowicie niepowiązane ze sobą. Szacunki są własnością zespołu inżynieryjnego.

celem jest oświadczeniem o potrzebie biznesowej: jak długo chcielibyśmy, aby coś trwało, ile chcielibyśmy, by to kosztowało, lub ile funkcji chcemy, aby zostało dostarczonych. Cele są własnością firmy.

Zobowiązanie to obietnica dostarczania funkcjonalności i jakości do określonej daty. Zobowiązania są własnością wspólną.

Ważne

Celem ciągłego planowania jest zachowanie zgodności między oszacowaniami, celami i zobowiązaniem. W przeciwnym razie nie spełnimy oczekiwań wewnątrz i poza organizacją.

Wyjaśnienie relacji między OKR i Scrum

Teraz, gdy rozumiesz dlaczego i co OKR-y, a także coś o ciągłym planowaniu, przedstawiamy połączenie między nimi.

Tworzenie struktury pracy przy użyciu technik, takich jak OKR, zmniejszy niepewność, przynajmniej w krótkim okresie. Ponieważ OKRy mają być zdefiniowane w sposób kaskadowy, to zacznie zmieniać, w jaki sposób managerowie będą prezentować swój styl zarządzania.

Techniki, takie jak OKR, to szybki i wydajny sposób na rozpoczęcie podróży od autorytarnego stylu zarządzania.

cele i kluczowe wyniki prowadzą do epików. Epiki pomagają definiować funkcje, które obejmują historie użytkowników i powodują zadanie programistyczne.