Zbudowanie aplikacji jest kosztowniejsze niż projektowanie czy prototypowanie, więc lepiej jak najwięcej wątpliwości usunąć na tych wczesnych etapach.
No, nie do końca się z tym zgadzam.
Samo budowanie apki nie jest w gruncie rzeczy tak bardzo kosztowne. Wiem, że to brzmi kontrowersyjnie, więc pozwólcie wytłumaczyć.
Kiedy przychodzimy do pracy, i słyszymy wymagania klienta, i mamy napisać mu aplikację, to to faktycznie jest bardzo kosztowne, i długotrwałe - ale nie przez sam proces programowania i wytwarzania apki; ale przez dogadywanie tej aplikacji z klientami, i przez właśnie jej projektowanie. Jeśli mielibyśmy perfekcyjną wiedzę na temat tego, jak aplikacja ma wyglądać, napisalibyśmy ją w 5% czasu. Tylko problem jest taki że nigdy nie mamy perfekcyjnej wiedzy nt tej aplikacji, requirementy od klienta, chocćby nie wiem jak dokładne, nigdy nie są wystarczająco dobre, poza klienci też ciągle zmieniają zdanie, wizja tej apki ciągle się zmienia.
Więc to nie programowanie aplikacji jest kosztowne, tak na prawdę. Kosztowne, jest dogadywanie z klientem/PO co ta apka ma robić tak na prawdę, a to z kolei można robić tylko pokazując mu coś (bo jak mu powiesz to tego nie skuma), więc musisz budować coraz to (właściwie) kolejne, nowe apki, co chwila je zmieniając, żeby klient mógł na to patrzeć i prowadzić nas w jakąś stronę, aż w końcu w wersji powiedzmy 1.4.242 powie "dobra, mamy to". Gdybyśmy od początku wiedzieli jakie wymagania ma wersja 1.4.242, to napisalibyśmy ją pewnie w pare tygodni zamiast lat.
Dokładnie za tym polega metodyka "Revamp" z Extreme Programming. Można np rozwijać jakąś bibliotekę przez 10 lat, (i na ten rozwój przypada oczywiście development, próby, testy, szukanie rozwiązań), i po tych 10 latach to jest całkowicie normalne żeby ją przepisać np w 3 miesiące - nie dlatego żę programowanie trwało 10 lat; tylko próba ustalenia tego jak ta biblioteka faktycznie ma wyglądać, była najbardziej kosztowna. Mamy teraz potężne general-purpose języki, więc to nie programowanie zajmuje tyle czasu, tylko właśnie dochodzenie do tego co my tak na prawdę tworzymy.