Proces rozwoju oprogramowania

Głęboka analiza biznesowa i dokumentacja - zrozumienie tworzy najlepsze oprogramowanie
 

Proces rozwoju - jak zaczynamy

Jesteśmy tu po to, aby pomóc Państwu w rozwiązywaniu problemów. Analiza i dokumentacja Twoich wymagań jest więc kluczem do sukcesu i Twojego zadowolenia. Nawet jeśli stosujemy podejście zwinne (co zwykle robimy), zalecamy spisanie wymagań dla pierwszej iteracji, a następnie stopniowe rozszerzanie ich podczas późniejszego rozwoju. Przedyskutowanie i spisanie wszystkich potrzeb sprawia, że projekt jest dobrze zdefiniowany i przewidywalny, co pomaga nam i Tobie skupić się na celach, zmniejsza potrzebę zmian i ułatwia budżetowanie, testowanie i ostateczną akceptację. Naszą analizę przeprowadzamy w wysoce dopracowany i ustandaryzowany sposób.

  1. Pierwszym krokiem jest poznanie i zrozumienie Twoich potrzeb oraz nakreślenie wizji produktu. Zaczynamy od serii warsztatów analityczno-doradczych z Tobą i Twoim zespołem. Na spotkania przychodzimy wyposażeni w nasze doświadczenie analityczne i predefiniowane pytania, aby poznać zakres projektu, wartość dodaną, czas realizacji, ale także kulturę organizacyjną i styl pracy Twojej firmy. Nasi analitycy są swego rodzaju tłumaczem pomiędzy Tobą a zespołem product managerów i programistów. Warsztaty są również doskonałą okazją do przeanalizowania i zoptymalizowania wewnętrznych procesów.
  2. W procesie konsultacji tworzymy szczegółową specyfikację biznesową i techniczną. Rozcinamy funkcjonalności na najdrobniejsze elementy, przygotowujemy szczegółowe szkice procesów, wymagań bezpieczeństwa, scenariuszy testowych. Zarysowujemy grupy użytkowników, piszemy historie odzwierciedlające działania przyszłych użytkowników i przygotowujemy prototypy. Staramy się doprecyzować, że gotowy dokument może być wykorzystany przez Ciebie jako specyfikacja przetargowa, jeśli chciałbyś sprawdzić naszą wycenę. Dokumenty te włączamy do umowy, co pozwala nam wystawić gwarancję zgodności z wymaganiami klienta.
  3. Nasz zespół analityków nie opuszcza projektu w momencie rozpoczęcia prac nad nim. Są obecni w trakcie całego procesu, sprawdzając poprawność produktu, pomagając w optymalizacji rozwoju i aktualizując dokumentację, aby zachować jej dokładność. Pojawiają się, gdy klient prosi o zmiany i aktualizuje specyfikację. W ten sposób możemy dostarczyć Ci najbardziej optymalne cechy produktu, które są dostępne w ramach danego budżetu i ram czasowych.
     

Kodowanie - usiądź wygodnie i czekaj na magię

Czas kodowania! To właśnie wtedy budowane są funkcjonalności i rodzi się wartość dodana, dlatego dbamy o to, aby mimo drobiazgowości, proces ten był jak najbardziej przejrzysty. O ile nie preferujesz waterfall, zazwyczaj stosujemy wypracowaną i opanowaną przez nas przez wiele lat zwinną metodykę projektową, która pozwala Ci na bieżąco śledzić proces rozwoju, oceniać świeżo powstałe moduły i decydować o zleceniach w backlogu.

  • Pracujemy w 2-3 tygodniowych sprintach, których zakres zawsze konsultujemy z Tobą. Każda iteracja ma swój rezultat w postaci produktu, który można pokazać i przedyskutować z Tobą. Priorytety ustalane są na podstawie dokumentacji biznesowej i technicznej. Używamy popularnego narzędzia Redmine do kontroli kolejności zadań i zarządzania ich przepływem.
  • Rutynowo stosujemy procedurę ciągłej integracji, co oznacza, że każdy fragment nowo napisanego kodu jest automatycznie wysyłany na serwer integracyjny, gdzie wszystkie podstawowe funkcje aplikacji są energicznie testowane, aby upewnić się, że wprowadzone zmiany nie spowodują błędów w już istniejących częściach systemu.
  • W wybranych, bardzo wrażliwych projektach stosujemy metodę test-driven development, co oznacza, że najpierw tworzymy mechanizmy testujące dany element, a następnie rozpoczynamy etap implementacji - dążąc do wytworzenia kodu, który przejdzie testy. Powtarzając ten proces produkujemy kod, który jest względnie wolny od błędów już na bardzo wczesnym etapie rozwoju.
  • Przestrzegamy ścisłych zasad przeglądania i wersjonowania kodu, aby mieć pewność, że do tego, co piszemy, nigdy nie wkradnie się najmniejszy nieporządek.
  • Dostarczamy produkt!