Pakowanie biurek…

W ten weekend po przeprowadzce do nowego mieszkania miałem za zadanie spakować trzy zastane tam, niepotrzebne biurka, które miały być wyniesione do piwnicy.

Sam proces pakowania nie był wyjątkowo interesujący, ale fakt, że biurek było trzy sprawił, że wyglądało to nieco jak iteracje w zwinnym podejściu wytwarzania oprogramowania ;)

Otóż przed pierwszym biurkiem wiedziałem, że przede wszystkim pakowanie ma zabezpieczyć biurko przed ewentualną wilgocią w piwnicy, po drugie chodziło o to, aby wygodnie je tam zanieść(1). Miałem jakiś pomysł jak to zrobić(2), więc się za to zabrałem. Postanowiłem włożyć zestaw desek do worka w których przewoziliśmy ubrania podczas przeprowadzki (recycling!). Jednak okazało się, że są nieco za małe(3), więc trzeba było je od góry czymś zamknąć. Użyłem folii w której był zawinięty materac (recycling2!). Po spakowaniu okazało się, że paczka jest niezła, ale odrobinę luźna. Przy przenoszeniu do piwnicy, trzeba będzie trzymać ją zawsze “od spodu”(4).

Druga iteracja była lepsza. Pojawiło się nowe wymaganie(5): jedna paczka powinna dać się znieść jednej osobie. Z uwagi na dość znaczną wagę nie mogła ona absorbować sił znoszącego do tego, aby nie rozpadła się po drodze. Na szczęście pierwsza paczka spełniała i ten wymóg w stopniu minimalny, więc nie musiałem pakować jej ponownie. Zatem w drugiej paczce włożyłem najpierw większe deski, a miedzy nie mniejsze, dzięki czemu po ściśnięciu ich taśma tworzyło zbitą strukturę, sprawiającą wrażenie profesjonalnej paczki (jeśli pominąć czarny worek jak na śmieci, ale większy).

Przy trzecim podejściu zapragnąłem zrobić jeszcze lepszą paczkę :) (6)Postanowiłem włożyć wielką deskę, potem małe, a na końcu dużą. Zakładałem, że nie będę musiał “wciskać” desek mniejszych między dwie większe tak jak to miało miejsce w iteracji drugiej. Myślałem, że to i tak będzie taki sam układ desek, więc w efekcie będzie tak samo stabilna paczka, przy wygodniejszym procesie pakowania. Niestety przeliczyłem się, bo paczka numer 3 jakością plasowała się wyżej niż 1, ale jednak niżej niż 2.

Po co w ogóle zawracam Ci głowę tymi bzdurami? Chodzi o to, że przy wytwarzaniu oprogramowania zachodzą dość podobne zjawiska.

  1. Możesz mieć wyobrażenie o efekcie, jaki potrzebujesz (1)
  2. Możesz mieć wstępny pomysł jak to zrobić (2)
  3. Po drodze pojawiają się pewne problemy (3), oraz dodatkowe okoliczności o których należy pamiętać w dalszej części projektu (4)
  4. W trakcie pojawiają się nowe wymagania (5)

To pojawia się w każdym projekcie. Element (6) pojawia się tylko, jeśli wykonawca jest nastawiony na uzyskiwanie coraz wyższego poziomu jakości (ja nie miałem z tym problemu – w końcu to ja miałem te ciężary zanosić do piwnicy).

Wyobraź sobie teraz, że wszystkie trzy biurka pakuję jednocześnie. To znaczy: pakuję do pierwszego worka pierwszą deskę z pierwszego biurka, do drugiego drugą itd. W efekcie stosuję metodę, którą wymyśliłem na samym początku do wszystkich trzech biurek i w efekcie mam trzy paczki o niskiej jakości (dla przypomnienia jakość paczek była w kolejności od najmniejszej taka: 1, 3, 2). No i musisz sobie jakoś radzić.

Gdy jednak zaczniesz używać iteracji, możesz zacząć uczyć się na swoich błędach. W moim wypadku mogło to wyglądać mniej więcej tak:

Zielona linia to ideał, odległość od niej oznacza jak daleko jesteś od ideału. Im dalej - tym gorsza jakość

Zielona linia to ideał, odległość od niej oznacza jak daleko jesteś od ideału. Im dalej - tym gorsza jakość

Chodzi o to, żeby próbować znaleźć się jak najbliżej ideału tak długo jak długo się to opłaca. Gdybym miał czwarte biurko, prawdopodobnie wróciłbym do sposobu numer 2, dodając jakieś minimalne usprawnienia po drodze:

Czwarta itearacja zbliża mnie do ideału.

Czwarta itearacja zbliża mnie do ideału.

Gdybym pakowaniem biurek miał zajmować się zawodowo pewnie kupiłbym lepsze opakowania (na przykład takie z rączką jak w kartonach na monitory lcd – byłbym blisko ideału), jednak przy pierwszym biurku uczyłbym się jak z nich korzystać. Po kilku powtórzeniach osiągnąłbym perfekcję:

Stabilizacja blisko perfekcji

Stabilizacja blisko perfekcji. Kolejne ulepszenie, na przykład dodanie kółek i napędu do opakowań jest zbyt kosztowne w stosunku do przyniesionych korzyści

I tak zbliżałbym się do idealnego świata wspaniale zapakowanych biurek. Oczywiście istnieją takie przypadki, że lepiej coś głęboko przemyśleć, zanim zabierzemy się do realizacji. Dlatego właśnie będę musiał rozkręcić regał, w którym jedną z półek przykręciłem na odwrót… ;)

Share Button

Leave a Reply

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