Then all four developers would have had to coordinate with the Devops guy.
This is all getting into “Mythical Man Month” territory.
Instead of me trying to explain it, I might as well crib the explanation from Wikipedia.
Complex programming projects cannot be perfectly partitioned into discrete tasks that can be worked on without communication between the workers and without establishing a set of complex interrelationships between tasks and the workers performing them.
Four equally qualified people should be able to deliver more features in the same amount of time working independently than four people working together.
"This rough implementation is how I (we) envision this feature working. What do you think?"
"We've got the feature working well but it requires non-trivial back end changes. Would you be willing to wait or will you be satisfied if it works but only in a very manual way until we get the back end changes in place?"
Week 2 after release: "The feature is live... What do you think? How is it working?"
These are conversations the developers should be having with the end users. Regularly! It's when developers only ever talk to their boss and/or the project manager that pushes development into the anti-user zone.
https://www.railinc.com/rportal/documents/18/260641/Guidefor...
The software for it has to work. There will be months of work implementing the rules engine before you have anything to show the customer besides a mock-up..
You won’t really need two week sprints to get feedback from customers. It either implements all of the rules or it doesn’t. I can imagine the same happening for tax software.
If a customer isn't committed to the project, then I'd worry about committing to it as well. Even if the contract guaranteed I'll get paid, there are few things as demoralising as a project falling over because, once push came to shove, the customer didn't even have the manpower to deploy your product. Those are usually the same people who would do the evaluation, so with my experience, as an employee, if they're not there, I'm going to look for a project where they are — regardless of how confident sales might be.
Well, by definition, a feature that takes 2 months to build takes 2 months to build. Shipping part of the feature early doesn't provide feedback for the finished product. It provides feedback for the incomplete feature. How valuable is that feature?
In addition to that,a feature that takes 2 months to build will take longer if you are releasing multiple sub versions. You have to account for actually making it production ready, and releasing it, and handling errors and feedback.
This is why experience matter. Was your feeling of control and happiness worth shipping half-finished, substandard product to your customers?
Other work can be assigned so in two months the customer gets the entire website. If they did it the other way every two weeks something would be finished but at the end they need to rewrite the backend adding an addional months because they didn't have the chance to look ahead and see that module 1 and 2 can't run at the same time.
It took me longer to tune performance than to write the code. Can you imagine four developers working together tweaking code, queries, indexes, number of simultaneous threads, etc?