4 ms·
"And there is no reason you can’t simply forgo sprints entirely...and still check in, see how things are going, pivot, evaluate new information." Because 'chec
by sonnyblarney 8y ago
"And there is no reason you can’t simply forgo sprints entirely...and still check in, see how things are going, pivot, evaluate new information."
Because 'checking in' on something doesn't create incentive to completion, or actual material outcomes.
You can have 'the software developers doing stuff and meeting objectives on their terms' - or have deadline driven wherein business/software objectives are set and people move towards them.
The problem with the objection to 'deadlines' is the fact that inherently software is not created for it's own aesthetic sake, or for it's cleanliness, or architectural integrity, or some arbitrary measure of quality.
'Time' is the key ingredient often missing from the architectural/development equation, because 'time is money' both in cost, and opportunity cost.
'Time' (which implies cost, ROI etc.) will likely be driven as a business impetus and has to be put into the equation in very serious terms.
Many devs might complain about 'technical debt' or 'messy software' or 'some things that don't work' - but in reality, those situations may actually represent optimal business scenarios.
It may not make sense at all to make certain systems perfect, or at least, in the short run or on first iteration.
In other terms, the 'QoS' expected is I think always way higher on the dev side than real business terms may mandate. What devs view as 'a mess' may be a perfectly good condition.
'Building the wrong thing' is the #1 reason that companies fail, not 'technical debt'.
If customer outcomes are generally good, revenues are increasing, then technical debt is normal, and it's a function of pragmatism at that point more than anything.
Taking too long to build something, or taking a long time to build something that is 'the wrong thing', is almost guaranteed death.
Finally ... I think milestones with deadlines are important also for the psychological and organizational factors.
In NATO, for examples, all 'orders formats' are the same. Any NATO General, from Polish to American, gives a set of orders that are crudely similar to those given by section commanders to their privates. That's to enable operational efficiency. The 'most important' part of the orders are the mission objective with a timing. Literally it has to be said twice. I'm not kidding - while giving orders, the mission statement is verbally repeated. Always. This is because in the fog of war 'everything goes wrong', nothing goes according to plan, things break, people die, obstacles abound, opportunities arise (just like at a startup) - but if everyone involved knows what they need to do, then they can adapt and make it happen by hook or by crook. So 'the gap at grid reference 0000 1111 needs to be bridged by 0600h tomorrow so 6th calvary can cross with heavy tanks' is a mission. Everything else about the plan is secondary, everything could go wrong, but when individual sappers/soldiers, NCO's, junior officers all have that 'this spot has to be gapped by 0600 for heavy vehicles' ... then they can rally around it whatever happens.
Obviously there are tradeoffs and obviously devs have to participate in the establishment of their own deadlines and objectives ... but in my view it has to be done, and it's healthy to break it down.
- brightball 8y agoThere are extremes that sway a conversation. If you have a dev team with no incentive for completion, you have a dev team problem. If you have a hold up to deliver perfection instead of what the business needs, you have a scope creep problem. Neither of those are solved by sprints but they are often used to justify them.
- sonnyblarney 8y ago"If you have a dev team with no incentive for completion, you have a dev team problem." Devs naturally lack incentive - it's an existential nature of software, i.e. it can go on forever. It's not like building a house. "If you have a hold up to deliver perfection instead of what the business needs, you have a scope creep problem" A 'Quality' issue problem, not so much scope, but again - there's a natural dissonance between Engineering instinct, and outcomes. Engineers naturally want to build something robust, clean, and performant. It always makes sense to them, pushing against that is always hard. Ergo - the need for clear milestones - with timings.
- brightball 8y agoIt’s still a scope creep problem. The deliverable is the milestone. There is a big difference between infinite knob-tuning and solving the problem in a manner that meets needs. It’s very much a scope creep problem.
- barberousse 8y ago>Devs naturally lack incentive - it's an existential nature of software, i.e. it can go on forever. It's not like building a house. But we're talking about adult humans who have agreed to a contract to fulfill business needs in exchange for money, I tend to presume that its on the developer to guarantee their end of the contract, otherwise business won't fulfull there's and I further presume business gets to decide what the criteria are. If things are otherwise, which this seems to be suggesting, then that would be an egregious business error, keeping on developers that aren't delivering anything, and if your tech lead isn't giving you honest assessments you let them go too. This looks the business problem is being coupled into the warrant behind sprints being key cause devs "naturally lack incentive". I also don't know how to agree with developers "naturally" lacking incentive, given they could lose their job, but I've definitely met developers with little motivation. That level of motivation tends to be tied to wider organizational issues as well...