beta über alles
Wynalazek wersji beta jest chyba jednym z największych osiągnięć psychologii i polityki w służbie inżynierii oprogramowania. Dopisek „beta” ma dobroczynny wpływ na wszystkich zaangażowanych w projekt informatyczny. Jest to:
- idealne lekarstwo na wszelkie lęki twórcy niedorobionego programu („spokojnie, jeszcze będzie czas poprawić, jeszcze będzie czas...”),
- usprawiedliwienie niewdzięcznej pracy testerów („nie twierdzę, że nie umiecie tego dobrze napisać, w końcu to tylko beta”),
- bezpieczny margines dla managera („na razie tak to wygląda, ale to jeszcze beta, wszystko poprawimy”).
I nie ważne czy „beta” jest jakimś sformalizowanym etapem w cyklu życia systemu, czy są oprócz tego wersje „alfa”, „release candidate”, „preview” czy jakiekolwiek inne. Ważne, że jest to program w postaci, której w razie wpadki nie trzeba traktować do końca poważnie. Może tylko dla handlowców wersja taka przedstawia mniejszą wartość, bo użytkownicy również traktują ją z rezerwą, ale ... no mówmy poważnie — kto by się w ogóle przejmował handlowcami..? ;-)
przypadek duży - Firefox
Fenomen Firefoksa (znanego wcześniej jako Firebird znany wcześniej jako Phoenix znany wcześniej jako „można by to wydzielić z Mozilli”) znają dziś chyba wszyscy. Program ten zyskał światowy rozgłos, miliony fanów i zdołał na zawsze zmienić wymagania użytkowników co do przeglądarki internetowej, zanim jeszcze osiągnął wersję 1.0. Nie jest to w historii oprogramowania przypadek pierwszy ani odosobniony, ale chyba najbardziej spektakularny.
A przecież przez większą część swojej historii Firefox był „prezentacją technologii”, czymś, co może kiedyś będzie programem, wersją 0.ileś, był betą. Jednak mimo braku ostatecznego kształtu i wielu często poważnych zmian między kolejnymi odsłonami (łącznie z dwukrotną zmianą nazwy projektu!), program ten był wystarczająco stabilny aby np. ze mnie zrobić wiernego użytkownika przez lat kilka.[1] Już sama świadomość, że są setki ludzi zaangażowanych w jego tworzenie, że powstaje w sposób jawny jest niezwykle budująca — zbiorowy wysiłek wielu umysłów zmniejsza ryzyko wystąpienia błędów fatalnych typu „przecież w ogóle nie o to chodziło”. W takiej sytuacji fakt, że nie jest to jeszcze „skończona” wersja oficjalna ma znacznie mniej zniechęcający wpływ na potencjalnego użytkownika.
Można by się pokusić o następujący wniosek: Open Source plus Duża Skala likwidują obawy użytkowników równocześnie nie pozbawiając twórców wygody obniżonej odpowiedzialności.
przypadek mały - niByLog
Kilka dni temu przeczytałem na forum niByLoga następujące zdanie:
Wersji beta boję się z zasady i ciężko mi się przełamać.
Bardzo, bardzo duży błąd — funkcjonalność ostatniej serii beta jest o tyle większa od funkcjonalności poprzednich wersji, że czekanie na wersję ostateczną jest zwyczajnie stratą czasu i omijaniem okazji. Zresztą aktualne bety niByLoga już dawno powinny być wypuszczone jako release z nowym numerem głównym. Dodatkowo, sytuacja jest tutaj o tyle ciekawsza, że oznaczenie „beta” czy „nie beta” jest decyzją jednego człowieka i jako taka niejednokrotnie jest po prostu kaprysem chwili. Niby teoretycznie wersja beta zawiera funkcjonalności, których nie jesteśmy pewni, ale szczerze mówiąc takie same zdarzają się w wersjach pełnych. Więc myślę sobie, że tak naprawdę[2] pozostawienie niByLoga w wersji beta daje przede wszystkim wygodną możliwość zasłonięcia się hasłem:
Wersja rozwojowa programu bez podręcznika — może działać niestabilnie lub zawierać funkcje działające niezgodnie z przeznaczeniem albo wcale.
Wersja beta udostępniana jest jedynie do testów i/lub w celu prezentacji nowych rozwiązań. Autorzy programu nie udzielają pomocy technicznej w przypadku problemów z dowolną wersją beta.
Przy czym przyznaję, że zawarte tutaj wyrażenie „bez podręcznika” ma dla mnie osobiście również niebagatelne znaczenie — idealnie usprawiedliwia moje wielomiesięczne lenistwo. ;-)
beta becie nierówna?
To, co różni te dwa przykłady to przede wszystkim skala przedsięwzięcia. Podejrzewam, że (dosyć popularny skądinąd) lęk przed wersjami beta programu niByLog byłby znacznie mniejszy przy skali projektu choćby trochę zbliżonej do skali projektu Mozilla Firefox. A przecież psychologiczno-polityczny mechanizm osłonowy wersji beta jest w obu przypadkach taki sam...
Natomiast rozważenie jak się ma zjawisko wersji beta do uczciwości zawodu, pozostawiam w gestii czytelnika...
[1] Wiernego od czasów „jak to "po prostu uruchom"? bez instalacji? a gdzie reszta mozilli?” do czasu ukazania się Opery w wersji 7.60, preview zresztą.
[2] Opinia moja prywatna. Proszę jej w żadnym stopniu nie utożsamiać z opinią Marka lub opinią „autorów programu niByLog”.
2005.01.07 | 2 komentarze |
tagi » soft, teorie i przemyślenia
Komentarze
#1 | 2005.01.08 18:07 | Braun
Słówko beta jest tak wygodne, że niektórzy wcale nie mają zamiaru z niego kiedykolwiek rezygnować. Pamiętam, że kiedyś czekałem, kiedy zniknie ono z logo produktów Google -- w tej chwili jest praktycznie na każdym z nich oprócz wyszukiwarki i, co ciekawe, produktów przeznaczonych ewidentnie dla biznesu.
Np. o Google API przeczytałem po raz pierwszy chyba pod koniec 2002 roku. Zaznaczono, że usługa jest w wersji beta i może w przyszłości się zmienić. Niedawno z tego korzystałem -- usługa nie zmieniła się nawet o jotę, a znaczek beta pozostał :). I tak wszyscy wiedzą, że bety Google są lepsze niż niejedna "pełna" wersja innego software'u, ale mimo to Google nie zmienia swojej taktyki i praktycznie wszystko wypuszcza w takiej wersji. Bo niby dlaczego miałoby robić inaczej?
Niby teoretycznie wersja beta zawiera funkcjonalności, których nie jesteśmy pewni, ale szczerze mówiąc takie same zdarzają się w wersjach pełnych.
Strasznie mnie rozbawił ten fragment :) (kursywa moja).
#2 | 2005.02.10 09:08 | MiMaS
Ned Batchelder: Get out of the zeros!:
If you have a piece of software that you think is useful enough to release into the wild, call it 1.0.
Uwaga: Ze względu na bardzo intensywną działalność spambotów komentowanie zostało wyłączone po 60 dniach od opublikowania wpisu. Jeżeli faktycznie chcesz jeszcze skomentować skorzystaj ze strony kontaktowej.