Kilka podstawowych informacji
Jestem częścią wewnętrznego zespołu programistów. Składa się ona z
- 5 programistów (z doświadczeniem od 2 do 5 lat, jestem jednym z nich)
- 3 pracowników wdrożeniowych (zajmują się wdrażaniem oprogramowania i szkoleniem)
- i 1 kierownik projektu.
Opracowujemy wiele małych i średnich projektów, a ich harmonogramy zwykle się pokrywają. Rozwój wygląda następująco:
- „Klient” daje nam zestaw wymagań początkowych
- Rozwijamy system do wspomnianej specyfikacji
- Przedstaw ten system „klientowi”
- „Klient” stawia nam dodatkowe wymagania w oparciu o wspomnianą prezentację
- Powtarzaj 2-4, aż „klientowi” skończą się nowe wymagania lub data docelowa wdrożenia jest bliska
- Skonfiguruj i wdróż system
To, wraz z faktem, że to „klient” przez większość czasu dotrzymuje terminów (co jest czerwoną flagą, z tego, co widzę tutaj w Programistach i PM.SE) i nie przestrzegamy określonych metodologii rozwoju do kodu kowboja, prawie niemożliwego do utrzymania kodu i błędów, które dostają się między innymi przez produkcję. Dlatego zdecydowaliśmy się na metodologię opartą na Agile, taką jak Scrum.
Dlaczego Scrum?
To była inicjatywa naszego menedżera i wydaje się, że wszyscy się z tym zgadzają, biorąc pod uwagę naszą obecną sytuację.
Problem ze Scrumem
Niektóre elementy Scrum są w konflikcie z naszą obecną konfiguracją, której nie jesteśmy w stanie łatwo rozwiązać, w szczególności charakter „zwinnych transakcji” programistów Agile. Zespół wdrożeniowy nie wie, jak programować, a programiści mają umiejętności komunikacyjne i szkoleniowe poniżej średniej. A ten skład nie zmieni się w najbliższym czasie.
Pytanie
Czy wpłynęłoby to na skuteczność Scrum jako metodologii? Czy należy wprowadzić inne zmiany, aby to zrekompensować? Czy może lepiej byłoby porzucić myśl i pomyśleć o innej metodologii?