Między zwinnością a chaosem

Jestem użytkownikiem nowoczesnej architektury. Użytkownikowi architektura podoba mi się albo nie, teorii architektury nie studiuje. Dlatego, wywód o pracach Chistopher Alexandra był z początku ciężki. Opowiadał Jacek Sokulski w ramach 79 spotkania Agile Warsaw “Christopher Alexander – wychodząc poza Agile” Inspirująca byłą dyskusja wokół poglądów zasłużonego dla rozwoju Agile twórcy idei wzorców.

Koncepcja powtarzających się centrów znana w innych dziedzinach, choćby struktury jak kryształy czy fraktale. Jak to przełożyć na tworzenie oprogramowania? Moim zdaniem zwinność musi być organizowana wokół idei. Inaczej długo będziemy walczyli z chaosem zanim wyniknie z niego lokalne centrum uporządkowania. W Architekturze budynku i oprogramowania istotne jest wczesne rozpoznanie celów właścicieli projektu. Jan Zamoyski chciał mieć twierdzę, rezydencję, ośrodek kulturalny i centrum gospodarcze dla swoich dóbr. Chciał mieć miasto idealne i wynajął architekta Bernardo Morando, żeby swój cel zrealizować. Architekt stworzył założenia , wizję miasta. Nie projektował wszystkich budynków, tym zajmowali się już pewnie mistrzowie murarscy i kamieniarscy. Emir Kordoby Abd ar-Rahman chciał wybudować największy meczet na zachodzie i tak powstała Mezquita, której koncepcja architektoniczna zwana czasami lasem kolumn była rozwijana od VIII XI wieku. Duża zmiana koncepcji (przeróbka meczetu na katedrę) zlecona przez królów Hiszpanii została przez zleceniodawców wstyrzymana a rezultaty Karol V podsumował słowami: zniszczyliście coś, co było jedyne w swoim rodzaju i postawiliście coś, co można zobaczyć wszędzie.

Co to ma wspólnego z tworzeniem oprogramowania (najlepiej zwinnym tworzeniem)?
Zwinność zwinnością ale wizję po co tworzymy oprogramowanie i jakiej techniki to tego celu używamy trzeba mieć. Taką wizje można by nazwać architekturą, ale słowo to nabrało zbyt wielu niekorzystnych skojarzeń. W w Scrum mamy product backlog, od którego zaczyna się planowanie poszczególnych sprintów. Dokumentacja oczekiwań ma podstawowe znaczenie i dla właściciela produktu (porządkuje jego oczekiwania) i dla zespołu piszącego oprogramowanie (wie czego właściciel produktu chce). Na podstawie produck backlogu tworzymy wizję produktu i wybieramy narzędzia do realizacji (wiele marzedzi może dać ten sam efekt, lepszy efekt dla trzymanie się jednej technologii o ile specyfika produktu na to pozwala. W zwinnym zarządzaniu projektem potrzebna jest wizja. Oczywiście możemy liczyć na spontaniczne uporządkowanie chaosu, ale statystyka jest wtedy przeciwko namo a tego przeciwnika lekceważyć nie wolno. Jeżeli zależy nam na czasie, pieniądzach i ostatecznym rezultacie wizję (nie mylić z detalicznym projektem) tego co tworzymy trzeba mieć. Wizja różni katedrę w Kordobie od dowolnego miasta budowanego w oparciu o chaotycznie powstające lokalne centra. Niestety w ten właśnie sposób budowana jest Warszawa i prawie cała Polska. Jeżeli ktoś będzie w okoliczach Andaluzji polecam wiytę w Mezquicie. Jeżeli ktoś będzie w pobliżu Lublina polecam zajrzeć do Zamościa, usiąść w jednej z kawiarni na tamtejszym rynku i pomyśleć o swoich projektach.

 

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.