4Developers 2015: Jak przekonać managera, że czas na refaktoring jest potrzebny? - Sebastian...

19
Jak przekonać menadżera, że czas na refaktoring jest potrzebny? Sebastian Łaciak

Transcript of 4Developers 2015: Jak przekonać managera, że czas na refaktoring jest potrzebny? - Sebastian...

Jak przekonać menadżera, że czas na refaktoring

jest potrzebny?

Sebastian Łaciak

Dług techniczny

• Gdzie możemy go spotkać?• Ktokolwiek widział, ktokolwiek wie?• Czym jest?

Nietestowalny / nietestowany kod Architektura lub jej brak Duplikacja kodu itd…

Jak walczyć z długiem?

• Dlaczego nie o refaktoringu itp.?• Jak przekonać menadżera, że jest nam

potrzebny dodatkowy czas?

Priorytety

• Czysty kod• Nowe technologie• Rozwój• Przyjemność z

pracy• Poprawna

architektura

• Szybki development

• Kolejne funkcjonalności

• Redukcja kosztów• Wyższy zysk

Programista Menadżer

One Team One Dream

Zaufanie

• Transparentność• Widoczność• Małe kroczki

Jakiego języka używać?

• Liczby• Wykresy• Metryki• Kolory• Cele• Priorytety

Jak bardzo źle jest teraz?

• Ile mamy błędów zgłoszonych?• Jak często klienci zgłaszają kolejne

problemy?• Jak szybko sami jesteśmy w stanie znaleźć

luki?

Jak bardzo źle jest teraz?

• Ilu problemów jesteśmy świadomi, ale nie chcemy / nie mamy czasu żeby je poprawiać?

• Ile błędów wprowadziły ostatnie poprawki?• Ile błędów wprowadziły próby rozszerzenia

funkcjonalności?

Analiza zysków i strat

• Ile kosztuje nas poprawianie błędów?• Ile kosztuje rozszerzanie funkcjonalności?

• Ile będzie kosztować przepisanie / refaktoring?

• Ile błędów średnio wprowadzamy i koszt ich rozwiązania?

• Ile będzie kosztowało rozszerzanie?

Sonar

Plan

• Gdzie chcemy być za 3 – 5 lat?• Jak chcemy tam dojść?• Jaki jest szacunkowy koszt?• Od czego zacząć (plan na najbliższy rok)?

Testowalność

• Jakie mamy pokrycie kodu?• Czy testy jednostkowe są możliwe?• Czy testerzy są świadomi specjalnych

przypadków?• Jakie funkcjonalności są / nie są testowane

w regresjach?

Przypadki specjalne

• 5% przypadków zabiera 95% czasu• Ilu klientów ich używa?• Czy można zastąpić je standardowym

użyciem?• Ile kosztuje ich utrzymanie?

Upraszczanie i standaryzacja

• Konwencje kodowania• Formatery• Technologie• Architektura• Narzędzia

Nowe możliwości

• Jakie funkcjonalności aktualnie są niemożliwe / zbyt drogie?

• Co dostarczymy „za darmo”?

Idealne miejsce pracy

• Innowacyjność• Rozwój• Realny wpływ na to co się robi• Satysfakcja• Łatwiejsze pozyskiwanie i wdrażanie

nowych pracowników

Podsumowanie

„If you can't change your organization,

change your organization!”Martn C. Fowler