23
Refaktoryzacja systemu eBankowości Oddolna inicjatywa programistów w Nordea IT (obecnie Nordea Bank AB)

Jak sprzedać refaktoryzację? Nordea Bank AB Case

Embed Size (px)

Citation preview

Refaktoryzacja systemu eBankowości

Oddolna inicjatywa programistóww Nordea IT (obecnie Nordea Bank AB)

Kontekst

• Nordea IT rozwija eBankowość w krajach bałtyckich

• Biznes długo czeka na zlecone funkcjonalności (do kilku miesięcy)

• Niektóre zlecenia są niemożliwe do wykonania z powodów technologicznych

• Biznes zamawia funkcjonalności „na szybko” u lokalnych dostawców

Cel współpracy (ver. 1)

• Skrócić czas stworzenia nowej funkcjonalności do 30 dni

• Action-30

Potrzeby

ProblemyDlaczego?

Chcę uniknąć…

KorzyściPo co?

Chcę osiągnąć…

#1 Root Cause Analysis

#1 Root Cause Analysis

• Używanie Struts 1.2

• Nadmierna uniwersalność kodu

#2 Analiza architektury

#2 Analiza architektury

• Przetwarzanie biznesowe na JSP

• Konieczność przestrzegania architektury Struts1.2

• Silne zależności od innych systemów

• Duża ilość nieużywanego kodu

#3 Analiza procesu dostarczania

#2 Analiza procesu dostarczania

• Multitasking (czas przełączenia się: 30-60 min.)

• Pseudoarytmetyka projektowa (%%)

• Nieefektywne spotkania

• Specjalizacja programistów

Plan działań

• Pracujemy A’la scrum

– A’la sprint trwa 1m-c

– Czwartek – Pomodoro Day

• Pracujemy po 2 osoby nad 1 zadaniem

• 1 zadanie techniczne na pierwszy sprint

– Kilka zadań organizacyjnych

• Wspólna zgoda na unikanie spotkań

A’la sprint #1 - Retro

• ++

– Cel osiągnięty

– Dobrze pracuje się razem; jako zespół i w parach

– Spotkania się ustrukturyzowały i zagęściły

– Udało się poświęcić więcej czasu niż planowaliśmy

• --

– Więcej zespołowego planowania

TeamNorms

• Zawsze pracujemy w 2 osoby

• Regularne 15-min standups

• Świętujemy sukcesy

• Unikamy nieproduktywnych spotkań

• Podkręcamy PomodoroDay – tylko programowanie, zero spotkań

• …

Podręcznik refaktoryzacji

• „Żeby dodać nowy feature, musisz…”

• „Użyj modułu mavena, aby…”

• …

• Podręcznik ma formę papierową (flipachart)

– Jest aktualizowany podczas codziennych spotkań

– Docelowa będzie na wiki

Obserwacje

• Action-30 żyje własnym życiem, ludzie gadają

• Jak coś jest fajne i ciekawe, to czas się znajdzie

• Manager robi dobrą robotę

Sprint #2 Jak przebić się „wyżej”?

Sprint #2 Jak przebić się „wyżej”?

• Redukcja wierszy kodu o 3%

• Redukcja CC o 15%

Dla tej próbki kodu można by wykonać 29 testów mniej

– aproksymując po całym kodzie…

• przeliczając wykonane testy na dni robocze…

Sprint #2 Wsparcie od biznesu?

• Jakich funkcjonalności do tej pory odmawialiśmy?

#angularjsworkshop

Obserwacje

• Kierownicy projektów proszą o więcej

• Management zainteresowany Action-30

• Programiści z innych zespołów przyłączają się do inicjatywy

• Wsparcie od całego managementu i top managementu

Zdaniem zespołu Action-30

Co dalej?

• Pokazaliśmy biznesowi, że „można”

– Że nie będzie drogie (@see problem)

– Że nie będzie długotrwałe (@see problem)

• Biorą to pod uwagę, gdy powołują nowe inicjatywy

• Zmiana myślenia, że system nie jest „zabetonowany”

• Przejmujemy produkty rozwijane przez Grupę dla krajów nordyckich – development i maintenance

• Wykorzystujemy zdobytą wiedzę

Zadanie domowe ;)

• Które wzorce wprowadzania zmian zostały wykorzystane w trakcie pracy, o której rozmawiamy?