How can "time inflation" be addressed through the 90-90 rule? Hofstadter's Law noted that time estimates are always wrong, and the 80-20 Principle (or 90-50 in this case) noted that just like how 20% of time is ample for 80% effectiveness, half of the time will create 90% effectiveness... but that means that wrapping up will require the other half. https://taylorpearson.me/interestingtimes/terminator-mode/
If the billing is based purely on time then it will be severely off. If the billing is based on initial velocity than it will be extremely off, requiring developers to create "noble lies" to compensate. What can be done to make sure that clients won't force time crunches?
If your client has time constraints / deadlines, I feel the best approach is to work backwards from them β by setting them first and keeping scope a bit loose.
You basically ask yourself: what can we get done in (e.g.) 6 months?
And you can set incremental checkpoints to make sure you converge. E.g. for a 6 months project, you can stop new devs after 4 months to focus on feedback and bug fixing for one month, and use the last month for wrapping up. You basically timebox the various stages of work.
How can "time inflation" be addressed through the 90-90 rule? Hofstadter's Law noted that time estimates are always wrong, and the 80-20 Principle (or 90-50 in this case) noted that just like how 20% of time is ample for 80% effectiveness, half of the time will create 90% effectiveness... but that means that wrapping up will require the other half. https://taylorpearson.me/interestingtimes/terminator-mode/
If the billing is based purely on time then it will be severely off. If the billing is based on initial velocity than it will be extremely off, requiring developers to create "noble lies" to compensate. What can be done to make sure that clients won't force time crunches?
If your client has time constraints / deadlines, I feel the best approach is to work backwards from them β by setting them first and keeping scope a bit loose.
You basically ask yourself: what can we get done in (e.g.) 6 months?
And you can set incremental checkpoints to make sure you converge. E.g. for a 6 months project, you can stop new devs after 4 months to focus on feedback and bug fixing for one month, and use the last month for wrapping up. You basically timebox the various stages of work.