Fondamentalmente d'accordo, ma con qualche precisazione.
Se parti con mille mila features richieste, per esperienza so che la maggior parte di queste non ti servirà o non saprai gestirle.
Per cui se il tuo budget comunque non arriva ad averle tutte manco con un mutuo, si cerca di capire quali sono le opzioni che VERAMENTE ti servono almeno nell'immediato, e si rimandano le altre come "nice to have in the future". Ovviamente lo sviluppatore le tiene a mente e predispone il tutto. Il cialtrone non se ne preoccupa.
- il cialtrone è inflessibile, lavora ad ore e poi non lo vedi più; lo sviluppatore è flessibile perchè intende fidelizzare il cliente, lavora a forfait
Lavorare a ore è sbagliato. Ma se non sei capace di fare un accordo forfettario dettagliato rischi di lavorare gratis per un anno. A volte, per precauzione e se si conosce bene il prodotto, si può contrattare un pagamento a ore. Ovviamente ci vuole una certa fiducia da ambo le parti.
- il cialtrone segue gli ultimi standard, propone sempre qualcosa di moderno; lo sviluppatore rompe gli standard e ti consegna quello che vuoi nello stile che vuoi
Rompendo gli standard e imponendo i suoi, ti obbliga a tornar da lui/lei perché nessun altro, senza ottimo pagamento, si immischierebbe in codice non standardizzato.