Zdefiniuj klienta.
Czy to inna firma? Inna osoba?
Czy to inny zespół w Twojej firmie?
Czy to mistrz produktu w Twojej firmie?
Czy to ty?
Wszystkie powyższe są możliwe i całkiem rozsądne w zależności od okoliczności. Nie chcesz patrzeć w dół tunelu na to, co ma być zwinne, więc powiedzenie, że ostateczne NIE byłoby nieprawidłowe. Z drugiej strony TAK wymaga nieco myślenia bocznego.
Pomyśl przez chwilę o słowie Agile . Bardzo sprytna grupa ludzi, którzy wymyślili ten termin, nie mogła wybrać lepszej metafory koncepcji, którą próbowali opisać. Kiedy mówisz Zwinność , co przychodzi Ci do głowy? Jesteś flotą pieszych? Być może szybko zareagować? Szybko się przystosowuje?
Pomyśl teraz o wszystkich powszechnie przyjętych praktykach zwinnych i zadaj sobie pytanie, co tak naprawdę przynoszą do metod programowania, które są uważane za zwinne .
Jestem klientem do wszystkich celów i celów moich indywidualnych projektów. Czasem nawet noszę prawdziwy kapelusz, kiedy naprawdę chcę dokonać wyraźnej zmiany mentalnej w roli mojego klienta . To sprawia, że jestem nie mniej zwinny niż ja, kiedy jestem w pracy. Zależy mi, mój kot może być menedżerem. Upewnia się, że co jakiś czas robię sobie przerwę na odpoczynek, i przypomina mi, abym unikał zbytniej obsesji na punkcie jednego zadania. Może wolisz użyć swojej wymyślnej „techniki Pomadoro”, ale wolę Timer „Rascal” !! Chodzi o to, że pracuję w ściśle zwinnym procesie za każdym razem, gdy piszę kod dla siebie. Nie jestem typem hakera-kowboja, który żyje w nieskończonych skokach rozwojowych i niczego nie osiąga. Lubię tworzyć własne oprogramowanie, planować rozwój wokół mojego życia zawodowego i osobistego oraz ukończyć go w sposób, którego oczekiwałbym, gdybym pracował dla prawdziwego klienta. Kiedy wszystko zakłóca mój harmonogram, dostosowuję i priorytetowo pracuję nad projektem. Używam wszystkich standardowych praktyk i technik zwinnych, które mogę zastosować solo, i „dostarczam” działający kod do siebie (lub przyjaciela lub kolegi do testowania) tak często, jak to możliwe. Jeśli to wszystko nie jest zwinne, pytam cię, co to jest?
Więc moja odpowiedź brzmi: tak , możesz być programistą Agile Software i możesz zastosować metodologię Agile i niekoniecznie potrzebujesz klienta, a nawet kierownika. Możesz samodzielnie pracować nad projektem i nosić wiele czapek. Jednak niekoniecznie Idealne może być pozbycie się tych innych ról, ponieważ bardzo pomocna jest współpraca z innymi, aby osiągnąć cel. Działają one jako płyta rezonansowa dla twoich pomysłów i spełniają wymagania, które w innym przypadku mogłyby być trudne do wygenerowania samodzielnie. Inną bardzo ważną rolą, jaką spełnia klient i menedżer, jest utrzymywanie koncentracji na swoich celach, bez ciągłego dodawania funkcji i dopracowywania kodu poza to, co może być absolutnie konieczne.
Mimo to, jeśli pracujesz w sposób zdyscyplinowany, ściśle przestrzegając wybranej metodologii i stosujesz zwinne praktyki, a także, jeśli zostaniesz śledzony z boku lub zmienisz zdanie (nosząc kapelusz klienta) oraz projekt lub kierunek produktu zmienia się, jeśli możesz dostosować swój harmonogram i dostosować swoje priorytety tak, jak sobie wyobrażasz, że Twój klient tego oczekuje, to jesteś zwinny.