wtorek, 30 czerwca 2015

Po restauracji Burbonów 1814

Znalazem fajny tekst:

Religijna ostentacja dworu, arystokratów i oportunistów liczących na poprawę pozycji, niekończące się msze i procesje drażniły mieszczan wychowanych w duchu idei wolteriańskich. Niektórzy dworacy trzykrotnie w ciągu jednego poranka przystępowali do komunii w trzech różnych miejscach, aby mieć pewność, iż zauważy ich królewska małżonka - notował Désiré Monnier, pisarz i etnograf.


Dog law in Poland!


czwartek, 11 czerwca 2015

Jak pisać zupełnie dobre programy na podstawie kiepskich wymagań?

Jak pisać zupełnie dobre programy ma podstawie kiepskich wymagań?

O tym będę opowiadał za tydzień, podczas V Forum Jakości Systemów IT. Zapraszam w imieniu organizatora, Computerworld. Tymczasem, slajdy do tej prezentacji można pobrać stąd.



poniedziałek, 1 czerwca 2015

Byłem na Quality Excites 2015 (30 maja w Gliwicach)

Oczekiwania

Quality Excites, to pierwsza prywatna konferencja jakości w Polsce – organizuje ją i finansuje w całości jedna firma, Future Processing. Druga podobna konferencja, to robione przez ABB wydarzenie pod nazwą „Test Well”.

Takie przedsięwzięcie jest znacznie lepszą promocją marki, niż pretensjonalne i kosztowne reklamy, a ponadto, mam wrażenie, jest znakomitą zabawą dla pracowników firmy. Jeśli dodatkowo wspomaga proces rekrutacyjny – tym lepiej.

Quality Excites określa siebie samą jako konferencję na temat jakości, więc udałem się na nią przekonany, że będzie tam przede wszystkim mowa o testowaniu, bowiem testowanie, choć jest zwykle tylko kontrolą jakości, od lat bezzasadnie przypisuje sobie zaszczyt bycia zapewnieniem jakości (QA – quality assurance). Tymczasem – ukłony dla organizatorów – wiele wykładów dotyczyło innych, niż testowanie, ważnych czynników jakości.

O wymaganiach

Ku mojej radości, aż trzy prezentacje dotyczyły w 100% inżynierii wymagań. Mówili o niej Krystian Kaczor („Wymagania w agile”), Katarzyna Mrowca („Refaktoring historyjek”) oraz Krzysztof Trzewiczek („Specification by example w praktyce”).

Dwie uwagi na marginesie tych prezentacji (skądinąd świetnych – wszystkie trzem dałem najwyższe oceny).

1. Nietrafność tytułów.

Na konferencjach tytuły prezentacji są często mylące. Mówię, bom smutny, i sam pełen winy: kręcimy z tymi tytułami jako organizatorzy wydarzeń, żeby je sprzedać uczestnikom, i jako prelegenci, żeby się sprzedać organizatorom. Czyżbyśmy sądzili, że bez tytułów rodem z „Super Ekspresu”, nikt tego nie kupi? A fe!

Pozwolę sobie rozszyfrować dwa spośród powyższych tytułów („Wymagania w agile” tego nie potrzebuje, bo jest trafny i na temat). Otóż „refaktoring historyjek” był tak naprawdę wykładem na temat procesu oraz niektórych metod inżynierii wymagań, tyle że przy użyciu terminologii agile. Poruszył – celnie – sprawy takie, jak określenie kontekstu systemu, formy współpracy z interesariuszami, czy – jak wolą niektórzy – ze „stejkholderami”, sposoby określania priorytetów wymagań. W ujęciu tego ostatniego tematu ogromnie spodobał mi się jeden slajd – poniżej odtwarzam go z pamięci:




Drugi nietrafny tytuł i bardzo dobry wykład - „Specification by example w praktyce” – roztrząsał, ogromnie ważną, tematykę, na ile sposób i język do opisu wymagań powinien być bliski dziedzinie celów biznesowych, a na ile, dostosowany do dziedziny rozwiązania (technologii IT), natomiast nie odnosił się do sugerowanego tytułem zagadnienia, czy, na ile i dlaczego przypadki testowe („examples” zapisane w poetyce „given – when – then”) są, lub nie, skutecznym sposobem opisywania wymagań.

2. Przesadne gloryfikowanie agile - to druga moja uwaga na marginesie. Kolejny przykład, że w swoim proroczym – w 2003 roku! - wpisie na blogu „Agile-smagile, or Aristoteles’s Error”, Robert Martin miał 100% racji. To zjawisko na Quality Excites było też bardzo wyraźne. Omawiając rozmaite dobre praktyki inżynierii oprogramowania – czy to z dziedziny inżynierii wymagań, czy architektury, czy organizacji projektów, czy testowania, każdy niemal przemyca je, albo gloryfikuje, pod sztandarem, że są „agile”. Powiedziałem już o tym wszystko, co było do powiedzenia, w artykule „Błąd Arystotelesa w IT” (computerworld.pl/news/394951/Blad.Arystotelesa.w.IT.html).

O architekturze

Wróćmy do konferencji. Obok wymagań, godnie reprezentowane było projektowanie systemów.

„Projektowanie kompozycjonalne – po co tak naprawdę mi te mocki?” Grzegorza Gałęzowskiego, było naprawdę kapitalnym wykładem na temat tworzenia architektury systemów OO tak, aby maksymalnie ułatwić ich utrzymanie, aby polimorfizm, ukrywanie informacji oraz dynamiczne łączenie realizować nie tylko na poziomie języka, ale także na poziomie architektury. Kiedy słuchałem, aż żal mi się robiło, że 20 lat temu definitywnie porzuciłem projektowanie i programowanie na rzecz QA... chciałoby się i mieć ciastko, i zjeść ciastko...

O mockach – bardzo słusznie! - nic prawie w tej prezentacji nie było, poza tym oczywiście, że zaprezentowane w niej podejście kompozycjonalne, ułatwia także tworzenie i utrzymanie obiektów zastępczych, niezbędnych do testowania, zwanych mockami.

O architekturze systemów traktowały jeszcze dwa wykłady: Jarosława Pałki „Systematyczny architekt na drodze ku planowanemu postarzaniu” oraz Łukasza Szydło „Continuous Delivery – architektura i praktyka”.

Trzy prezentacje o wymaganiach, trzy o architekturze – dobry wynik! Jeśli chcemy mówić o jakości, te zagadnienia są równie ważne, a czasem ważniejsze od testowania. Co nie znaczy, że testowanie jest nieważne – ale na blogu nie jestem dziennikarzem, mogę sobie wybrać do omawiania tematy, które chcę. Więc – na pewno spróbuję wybrać się na Quality Excites 2016!