Warsztat pracy

Jak przechodzę od pomysłu do działającej aplikacji.

Nie zaczynam od kodu. Najpierw próbuję zrozumieć proces: kto korzysta z systemu, jakie są role, jakie dane przepływają przez aplikację, gdzie powstają decyzje, co powinno być zapisane, co można zautomatyzować, a czego nie wolno obiecywać. Dopiero później projektuję strukturę aplikacji.

Typowy przebieg pracy

Rozpoznanie problemu

Opisuję, jaki proces wymaga uporządkowania i co dziś działa źle: arkusze, komunikatory, ręczne ustalenia, brak historii, brak statusów, brak raportu.

Model procesu

Rozpisuję role, kroki, dane wejściowe, decyzje, statusy, wyjątki i ograniczenia.

Model aplikacji

Projektuję strukturę ekranów, bazy danych, uprawnień, panelu administracyjnego i głównych przepływów użytkownika.

Prototyp i implementacja

Buduję działającą wersję, zwykle w nowoczesnym stacku webowym. W zależności od projektu dochodzą elementy analityczne, lokalne przetwarzanie danych, eksporty albo automatyzacje.

Dokumentacja, jakość i wersja demo

Opisuję status projektu, ograniczenia, dane demonstracyjne, sposób użycia i możliwe kierunki rozwoju. W projektach wymagających kontroli dodaję też ślad ustaleń, kryteria oceny, materiał dowodowy albo bramkę jakości.

Jak korzystam z narzędzi SI

SI jest częścią warsztatu, nie zastępstwem za rozumienie.

Narzędzia SI wykorzystuję przede wszystkim jako rozszerzenie warsztatu projektowego i programistycznego. Pomagają mi w analizie problemu, rozpisywaniu wariantów, sprawdzaniu luk w założeniach, planowaniu architektury, projektowaniu struktur danych, implementacji i refaktoryzacji, przygotowaniu dokumentacji oraz testowaniu.

Najważniejsze jest dla mnie to, że praca z SI pozwala szybciej przechodzić przez kolejne iteracje: od ogółu do szczegółu i z powrotem. Zanim zacznę planować, sporo czasu spędzam na zastanawianiu się nad zagadnieniem — nad ogółem i szczegółem — i te iteracje powtarzam wielokrotnie na każdym etapie. Dobre użycie SI zaczyna się przed kodowaniem.

Czego nie robię

  • Nie przedstawiam projektu jako gotowego produktu, jeśli jest demonstratorem.
  • Nie obiecuję zgodności prawnej, jeśli nie ma wskazanej podstawy, procedury oceny, materiału dowodowego i walidacji eksperckiej tam, gdzie jest potrzebna.
  • Nie publikuję danych produkcyjnych jako danych demonstracyjnych.
  • Nie udaję, że narzędzie SI zastępuje rozumienie problemu.
  • Nie traktuję rankingu, raportu albo wyniku systemu jako decyzji bez interpretacji człowieka.