Eksplorowanie ciągłego planowania

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, po włączeniu się w kompletny fiasko. 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 shows the government agency project timeline.

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 — awaria nastąpiła w części projektu, co spowodowało ogromną zmianę zakresu — a kolejny 300-osobowy zespół pracował przez sześć miesięcy, co spowodowało 600 stron wymagań.
  • Zmarnowane nakłady pracy i przeróbki doprowadziły do przegapionych terminów i wypalenie zespołu — 700 000 wierszy kodu pisanego i ponownie napisanego.

W grudniu 2010 r. utworzono i współlokowano studio Scrum. Personel został zmniejszony z 400 na oryginalne projekty do 40. 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 przebiegach można było prognozować przybliżone skali czasu i planować przyrostowe zmiany biznesowe. Zostały one ukoń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:

"Widzimy tylko krótką odległość przed nami, ale widzimy tam mnóstwo, które należy zrobić."

Ambitne projekty programowe są zawsze złożone. Ale nie pozwól, aby złożoność cię przytłoczyła. Zamiast tego wykonaj polecenie w miejscu, w którym występuje jasność: krótki termin.

Planowanie ciągłego i efektywnego kierowania, koncentracji i elastyczności w oparciu o cele i kluczowe wyniki (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 określająca cele mające na celu połączenie celów strategicznych określonych przez kierownictwo z codziennymi działaniami zespołów ds. wykonywania.

Ważne

Zasady OKR pomagają zidentyfikować najlepszy możliwy wynik i zapewnić jasność co do tego, jak wygląda prawdziwy sukces.

Reguły OKR są zwykle ustawiane kwartalnie w celu uzyskania ostrego nacisku i elastyczności.

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? Proste. Brak wyroku w nim.

Zasady OKR są zlokalizowane w dół i we wszystkich zespołach w organizacji w celu zademonstrowania wyrównania i przejrzystości.

Co to są okrs?

Istnieją trzy podstawowe aspekty okr:

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

  • one wzmacniane z wymiernymi kluczowymi wynikami. Kluczowe wyniki to wyniki, za pomocą których mierzony jest sukces.

  • Napędzają kulturę myślenia wynikowego, umożliwiając wyraźne przejście od myślenia wyjściowego do myślenia wynikowego.

Przykład OKR

Oto przykład OKR:

Cel: 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. Sejf sprowadzić astronautów z powrotem na ziemię.

Ten przykład OKR identyfikuje cel lub 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.

Najważniejsze korzyści wynikające z reguł OKR

Istnieją pięć kluczowych korzyści z funkcji OKR:

  • Koncentracja uwagi: każdy cel powinien mieścić się w jednym wierszu. Jeśli chodzi o kluczowe wyniki, nie powinno być więcej niż pięć na cel.
  • Dopasowanie: menedżerowie i współautorzy łączą swoje codzienne działania z wizją całej firmy. Termin dla tego powiązania jest wyrównany, a jego wartość nie może być zawyżona.
  • Zobowiązanie: harmonogramy i zasoby zostaną dostosowane w celu zapewnienia, że wszystkie uzgodnione zobowiązania zostaną dostarczone.
  • Śledzenie danych 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 element OKR powinien być w stanie śledzić za pośrednictwem metryk ustanowionych podczas ich pisania.
  • Rozciąganie: OKRs z natury naciskać organizacje, aby dążyć dalej, eke się nieco więcej niż to, co myśleli, że jest możliwe.

Porównanie planowania ciągłego i statycznego

Ciągłe planowanie to praktyka, która wymaga, aby planiści, architekci i elastyczne zespoły 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 poziomie wykonywania.

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 korzysta z zasad ciągłego planowania, czas jest stały w celu spełnienia celów biznesowych. Jedyną rzeczą, która jest negocjowana, jest zakres.

Diagram shows the iron triangle of tradeoffs for Waterfall vs. Agile development methodologies.

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 shows a comparison between the success rates of Agile and Waterfall projects. 9% of the Agile projects failed, 39% succeeded, and 52% were challenged. 29% of the Waterfall projects failed, 11% were successful, and 60% were challenged.

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 robią 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 powiedzie się 30% więcej czasu.

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

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

  1. Prostota wartości
  2. Manifest elastycznego tworzenia oprogramowania
  3. Myślenie projektowe
  4. Programowanie iteracyjne i przyrostowe
  5. Zarządzanie chudym zarządzaniem
  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 to wyjaśnić po prostu, 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 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 dotyczące procesów i narzędzi
  • Praca oprogramowania nad kompleksową dokumentacją
  • Współpraca klientów w sprawie negocjacji kontraktowych
  • Reagowanie na zmiany w porównaniu z planem

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

Trzecia zasada ciągłego planowania to myślenie projektowe.

Myślenie projektowe ma skoncentrowane na człowieku podejście do innowacji. Koncentruje się on na skrzyżowaniu rentowności, możliwości i możliwości ustanowienia granic i zmniejszenia odpadów.

Diagram explains design thinking. Design thinking establishes the boundaries of the product early (often called the minimal viable product or “MVP”). It focuses on the intersection between business viability, technical and budget feasibility, and desirability. This intersection is where innovation happens.

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, przydatna i przydatna 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 chude zarządzanie.

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 shows the stages of the process: identify value, map the value stream, create flow, establish pull, and seek perfection.

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

Szósta zasada planowania ciągłego to dokładność szacowania.

Oszacowanie 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świadczenie o potrzebie biznesowej: jak długo chcemy coś zrobić, ile chcemy kosztować, lub ile funkcji chcemy dostarczyć. 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 z okr, a także coś o ciągłym planowaniu, oto połączenie między nimi.

Tworzenie struktury pracy przy użyciu technik, takich jak OKR, zmniejszy niepewność, przynajmniej w krótkim okresie. Ponieważ żądania OKR mają być zdefiniowane kaskadowo, to zacznie zmieniać sposób, w jaki menedżerowie będą wykazywać 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.

Objectives and key results lead to epics. Epics help define features, which involve user stories, and result in a development task.