Remix.run Logo
commandlinefan 2 hours ago

What I see - and have seen since I started doing this 30+ years ago - is that the date is _always_ more important than the actual deliverable. Always. Meeting "the date" is the only thing that's tracked (but it also never happens). It's even justified through vague analogies like Joel Spolsky's admonition that "you wouldn't buy a pair of jeans without knowing how much they cost" without ever doing a slightly deeper dive into how developing software is different than selling a pair of jeans.

All of the collaboration artifice that the author is referring to seems to me to always be a futile attempt to meet "the date". That software development might itself be _inherently_ unpredictable is never even considered, even though there are a lot of reasons to suggest that it is: by definition, the software you're developing has never been developed before, or else you could just use the thing that already exists.

I had a glimmer of hope in the late 90's when the agile manifesto was published - everything about it seemed to me to read "software development activities can't be coordinated like a wedding banquet can, but you can at least make sure that everything is tracking toward a shared understanding". I guess I shouldn't have been surprised when "Agile" became "tell me exactly what you're going to do and how long each step will take" almost the instant of its inception.

parasubvert an hour ago | parent | next [-]

IMO (also 30 years in the biz), it's rarely the date, that's #2. it's the budget.

They'll forgive you if you're slightly late, they'll hate you forever if you ask for more money.

Agile works really well if you have a good product owner that has secured appropriate budget for the level of uncertainty in the endeavor & can make decisions and not be overridden by extrinsic forces. Everything else is negotiable.

MetaWhirledPeas an hour ago | parent | prev | next [-]

> the date is _always_ more important than the actual deliverable. Always.

Hah! You just gave me an idea for a new methodology. Date-bound delivery.

- The business tells you what they want, as they do

- The business tells you when they want it, as they do

- The team does not say how long it will take. Instead, they say what they think they can deliver in the time allotted.

- As the date nears, more edge features get trimmed

- As the date arrives, something is always ready to deliver, no matter how miniscule

Such a methodology would ensure delivery, but not necessarily the contents of that delivery. Post mortems would no longer discuss why something took so long, and instead would focus on why features were cut.

If, as you say, the date is always more important, wouldn't such a methodology be worth trying?

parasubvert an hour ago | parent | next [-]

that's really what agile was supposed to be. at least in the places where I saw it was successful.

every week, something is delivered, and is demoable, with approved tests from the business. That thing represents the most important thing to the business relative to the risk prioritization from engineering & usability prioritization from design.

every week, priorities can adjust, etc. and the cycle continues. hitting the actual 'release date' becomes much more knowable when you see the tangible date-driven progress on a regular cadence.

MetaWhirledPeas 44 minutes ago | parent [-]

Yes, but expanded to the full deadline instead of only the short iterations.

The business does not care about week long deadlines. They need something on May 23 so they can achieve _______.

My understanding of Scrum (not representative of all agile, I know) is that the velocity is supposed to be tracked and used for better predictions. In my experience this takes a very dedicated core of people who are intent on making it happen. In other words, usually it doesn't happen.

But date-bound delivery is already our default mode of operation. We just don't like to admit it. We are going to deliver something on this date; we just don't know what, yet.

parasubvert 35 minutes ago | parent [-]

I completely am in favor of date-bound delivery.

However the point of the weekly cadence is that the business does care about adjusting scope and priority towards hitting that deadline on May 23, so that they know what they're going to get on May 23 and have the power to adjust it.

Especially if the goal of what is delivered on that date is not clearly defined. It almost never is.

Most projects can be summed as "give me $X, I'll come back in 6 months, and ask for more time and money". or "here you go"... "that's not what I wanted".

It's a key risk mitigation toward a hard date to know every week if you're still getting what you wanted.

Velocity is overblown as a metric. It's one metric among many that can signal a few things (e.g. quality problems because bug fixes are overtaking features) but isn't as much of a lever as some say.

MetaWhirledPeas 26 minutes ago | parent [-]

Yep I agree. Iterations are still good, demos are still good, ever-evolving scope discussions are still good, regardless of the overarching methodology.

MadxX79 38 minutes ago | parent | prev [-]

That pretty much describes shape up : https://basecamp.com/shapeup

I have a mixed relationship to it, but the scope cutting part of it works extremely well.

The focus it brings on focusing on the problem solved rather than on the concrete solution is also healthy I feel.

whatever1 an hour ago | parent | prev [-]

I love that LLMs are already copying humans when it comes to estimates. When asked for estimate they provide a very padded estimate of weeks.

Then they proceed to implement the solution in 30”.