Paul Buchheit, odpowiedzialny za powstanie Gmaila, próbował stworzyć aplikację internetową, która wykorzystywałaby przeglądarkę internetową w roli klienta poczty elektronicznej – już w 1996 roku. Po kilku tygodniach, porzucił pracę nad pomysłem ii wrócił do niego dopiero po 7 latach przy realizacji Gmail. Jak sam mówił, jedną z lekcji, jakie dostał po początkowym porzuceniu prac nad projektem webmailu, był brak działającego produktu, nad którym mógłby dalej pracować, i który mógłby dalej doskonalić.
Wizja finalnego produktu jest istotna, natomiast jego wielkość może nas na samym początku przytłoczyć. Z tego powodu dobrze jest wyodrębnić funkcje, które gotowy program powinien posiadać. Kolejnym krokiem jest pogrupowanie funkcji w większe części, zwane kamieniami milowymi. Ważne jest to, aby nie rzucać się od samego początku na głębokie wody i nie starać się zrobić wszystkiego na raz. Gdy w projekcie nie oddajemy nowych funkcjonalności, a z biegiem czasu nie widzimy postępu prac, to zespół zaczyna się wypalać i traci pierwotny entuzjazm do pracy. Pamiętajmy, że w kilkuosobowym składzie i przy ograniczonej ilości godzin nie zrobimy od razu produktu, który zwykle robimy w kilkukrotnie większym zespole programistów.
Podobnie podeszliśmy do tego w ramach naszej grupy .NET. Podczas pierwszego spotkania na nasz cel wybraliśmy stworzenie narzędzia z interfejsem graficznym do monitorowania bazy danych. Program miał na wykresach liniowych i kołowych wyświetlać w czasie rzeczywistym wydajność zapytań i obciążenie bazy danych oraz umożliwiać użytkownikom badanie i analizowanie aktualnego stanu bazy. Na pierwszych spotkaniach wspólnie zaczęliśmy od zaprojektowania architektury aplikacji, a następnie wydzieliliśmy zadania do zrealizowania na najbliższe spotkania.
W pracy na etacie przy dużym projekcie często problemem jest znalezienie wolnego czasu. Kolejka zgłoszeń do wykonania, jak na złość, ma tendencję rosnącą. Terminy zbliżają się nieubłaganie. W takim natłoku zadań trudno jest znaleźć wolną chwilę.
W Sente wypracowaliśmy kompromis pomiędzy czasem przeznaczanym na projekt w ramach grup SenteLab, a pracą nad projektami dla naszych klientów. Po przejrzeniu grafików i kalendarzy ustaliliśmy, że najlepsze wyjście to spotykanie się co dwa tygodnie. Przez połowę dnia, w grupie przyjaciół, pracujemy nad tym, co ustaliliśmy na pierwszym spotkaniu. Już teraz mogę zdradzić, że wielkimi krokami zbliżamy się z naszą grupą do wewnątrzfirmowego wydania naszej aplikacji w pierwszej wersji.
Zawód programisty wiąże się z tym, że każdy z nas ma masę pomysłów na to, co można jeszcze zrobić. Pracujemy nad własnymi projektami w domu i razem tworzymy projekty open source. Dlaczego nie przenieść części tej energii z powrotem do pracy, gdzie spędzamy większość czasu? Przykład SenteLab pokazuje, że umożliwiając pracownikom rozwój firma może tylko zyskać. Świadomi możliwości rozwoju pracownicy to dla dla przedsiębiorstwa wartość dodana i to nie tylko w branży IT. Jeśli pracujesz w miejscu, w którym podobna inicjatywa mogłaby się sprawdzić lub prowadzisz firmę, w której brakuje podobnych projektów – najwyższy czas to zmienić. W IT rozwój to podstawa!