Nieformalna grupa entuzjastów spotykająca się z grubsza co dwa tygodnie.

#34 Praktyczne projektowanie oprogramowania

2012-02-06

Paweł Lipiński

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 YAGNI, KISS 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.

Nagrania brak