AgileWarsaw‎ > ‎

Praktyczne projektowanie oprogramowania

Paweł Lipinski - 6 lutego 2012

Silne skupienie na projekcie oprogramowania było domeną "poprzedniej epoki" - UML w połączeniu ze wzorcami projektowymi miały rozwiązać problemy z niską jakością, niedeterministycznością i nieutrzymywalnością oprogramowania. Co zwykle jednak z tego wychodziło? Stosy papierów, długie godziny najwyżej płatnych pracowników technicznych poświęcone na klikaniu w narzędzia UML/Case oraz... często zupełnie niezgodny z tymi założeniami produkt. 
"Nowa szkoła" tworzenia oprogramowania - lekkie, zwinne i przyjemne metodyki przyniosły YAGNIKISS i odrzucenie BDUF często przez zarzucenie aktywności projektowania w ogóle, wierząc w quasi-magiczne wyłonienie się optymalnego designu (ED). Efektem miało być oprogramowanie, które nie jest  BBOM, gdzie nie ma przypadków DRY a wszystko osiągnięte jest przez permanentne skupienie na SOLID i GRASP. Co jednak często wychodzi jeśli w ogóle nie spędzimy czasu na projektowaniu, tylko od razu siadamy do kodowania? Albo FOD (czyli silne związanie rdzenia systemu z wykorzystywaną technologią) albo trywialna i na długą metę nieutrzymywalna architektura serwisowa (czyli de facto design proceduralny), albo obiektowy groch z kapustą.

W czasie spotkania postaramy się wspólnie odnaleźć prawdziwie zwinne podejście do projektowania obiektowego. Będziemy projektować w paru zespołach jakąś złożoną dziedzinę z wykorzystaniem kart CRC oraz zastanowimy się jak takie modelowanie połączyć z innymi zwinnymi praktykami - w szczegóności programowaniem w parach i TDD.
Comments