News for hackers. Stuff that matters.
Re:Agile Is Dead, McKinsey Just Killed It by Chris_Newton on Wednesday September 22, 2021 @07:31AM (#28615176)
In my experience, the term “Agile” itself has been so widely applied that it lost any useful meaning it might have had a long time ago. The ideas it prompted are the interesting part.

I’ve never fully agreed with the original Agile Manifesto anyway, mostly because I think it tries to separate concepts that aren’t independent in practice. For example, if you don’t have a comprehensive requirements spec, how can you possibly know whether you have working software?

I do think the early Agile advocacy served a useful purpose in highlighting how slow and heavy a lot of software development processes were at the time. I think a lot of good ideas have been popularised as a result of that awareness and the various alternative processes that have been tried as a result. I also think some not so good ideas have been popularised, and some ideas that work well in the right context but not universally.

IMHO, it is much more interesting to discuss those specific ideas. How can we build software more incrementally, so we can see real progress and identify any potential problems earlier when they might be easier to fix? Is there a risk of becoming too short-sighted, so we create an illusion of progress, yet overall it takes longer to build a product we can ship? How can we organise our code and our teams to be more adaptable as requirements evolve over time? How does our situation change depending on whether we’re building a line-of-business web application, a game for a next generation console, or the management system for an aircraft carrier? There are lots of interesting ideas and useful discussions to be had, but they can be had just as well without applying the loaded term “Agile” anywhere.

Re:Agile Is Dead, McKinsey Just Killed It by marcus_holmes on Wednesday September 22, 2021 @07:42AM (#28615250)
> For example, if you don’t have a comprehensive requirements spec, how can you possibly know whether you have working software?

Short answer: iterative prototypes.

Long answer: I have yet to see a single project in all my decades of experience in this industry where the requirements didn't change during the project. A "comprehensive requirements spec" is and always was a myth. Agile wasn't even the first to say this bit out loud. Software is always developed by a series of iterative prototypes, only sometimes does the process acknowledge this.

Re:Agile Is Dead, McKinsey Just Killed It by gilbetron on Wednesday September 22, 2021 @09:34AM (#28616127)
The waterfall method (which is what is being invoked when "comprehensive requirements spec" is stated) was, and is, always a fictional story told by people both during and after the project. The entire difficulty of a software project lies in figuring out what needs to be done. Well that and fighting with the tools and modules ;)
Re:Agile Is Dead, McKinsey Just Killed It by Jtsummers on Wednesday September 22, 2021 @09:45AM (#28616252)
I’ve said it before, and I’ll probably say it again, it’s not a fiction. I’ve watched millions of dollars get wasted by that approach. It’s a great way to deliver nothing on time unless you know the domain well and your customer really knows what they want. But it is, sadly, quite real.
Re:Agile Is Dead, McKinsey Just Killed It by gilbetron on Wednesday September 22, 2021 @11:10AM (#28617217)
Oh it's real, I agree. What I meant by "fiction" is that the success of waterfall, and the specifics of how waterfall are implemented, is fictional. As in during the "delivery phase", it is found that requirements were missed and so people will retroactively act as if those requirements were actually in the "requirements phase" all along. I did a lot of government contract work and saw the insanity in action.

Lots of retroactive changing of gantt charts, too :)

Re:Agile Is Dead, McKinsey Just Killed It by Chris_Newton on Wednesday September 22, 2021 @10:18AM (#28616574)
To be clear, having a comprehensive requirements spec has nothing to do with using a waterfall model, and I absolutely was not invoking that model when I used the term. The point is that at any given point in time, either you know what you are currently trying to build or you don’t, and you can only meaningfully define whether your software is working to the extent that you do.
Re:Agile Is Dead, McKinsey Just Killed It by DrJokepu on Wednesday September 22, 2021 @02:07PM (#28619657)
Also, you know, specs can and have bugs. You can have the most comprehensive requirements and specification and a 100% correct implementation of the spec and still end up with software that just doesn’t work, because the spec and the requirements had incorrect assumptions, or worse, had internal contradictions baked into them. Happens all the time. Best to just accept it as inevitable and design the process so that it can cope with it.
Re:Agile Is Dead, McKinsey Just Killed It by Chris_Newton on Wednesday September 22, 2021 @08:33AM (#28615563)
Short answer: iterative prototypes.

OK, but then how do you know what each prototype is required to do?

It’s true that you might be lucky enough to work on a project where your employer/client/customer is willing to let you make some of the decisions. In that case, you are effectively defining some of the requirements yourself and hoping that your employer/client/customer will be happy with your decisions. That’s a risk you can mutually agree to take, and sometimes it will pay off royally, and sometimes it will end in disaster, and probably most of the time it will end somewhere in between.

However, in my experience, the more important the software you’re building is, the less likely it is that you will have that kind of flexibility for the developers. At the extreme end of the industry, if you’re building something like the control system for medical equipment that will kill the patient if it goes wrong or a billion dollar satellite that you get one shot at launching, you probably aren’t going to be doing it through informal discussions with a “product owner” and relying on TDD to make sure everything is working (where “working” in that case is really a euphemism for “whatever test conditions an individual developer felt might matter”).

I have yet to see a single project in all my decades of experience in this industry where the requirements didn't change during the project.

Of course, but every time the requirements change, you still need to identify what the change is so you can change your implementation accordingly. There are many ways you can address that problem, some of which involve one big requirements spec document and some of which don’t, but if you don’t end up with some clear and well-maintained spec each time, you don’t know what you’re trying to build and you have no meaningful definition of “working software”.

Re:Agile Is Dead, McKinsey Just Killed It by krfsm on Wednesday September 22, 2021 @11:48AM (#28617746)
In everything except the most exceptional circumstances knowing what to build will be a blend of written requirements and shared knowledge within the team. You can advocate for comprehensive requirements which pushes the effort towards the written spec side, or you can advocate for "working software over comprehensive documentation" which pushes the effort towards using more shared knowledge. Depending on the nature of your project, one or the other might be preferable.

For most projects, both "knowing what to build" and "working software" will never be 100% clear.

Re:Agile Is Dead, McKinsey Just Killed It by marcus_holmes on Wednesday September 22, 2021 @09:12AM (#28615894)
> OK, but then how do you know what each prototype is required to do?

You define an area of exploration for each prototype. Like "we think that the hard part of this problem is getting the encryption right, so we're going to explore that in this prototype".

And I thought SpaceX disproved this whole waterfall approach to rocket science? They have used iterative prototypes to build better rockets considerably faster than the waterfall approach used by the rest of the industry.

Re:Agile Is Dead, McKinsey Just Killed It by Chris_Newton on Wednesday September 22, 2021 @09:24AM (#28616020)
I think perhaps you are reading a meaning into my comments that is not intended. At no point have I argued, nor would I ever argue, for some waterfall-based approach and magical everything-fully-known-up-front documentation.

My argument is that whatever stage you’re at in your development process, if you don’t have clear requirements, you don’t know what you’re trying to build and you have no way to define whether your software is working or not. The comparison from the Agile Manifesto makes little sense, because having comprehensive documentation of your requirements and acceptance criteria is a prerequisite for even being able to define the working software that the Manifesto says is more valuable.

Of course you might do all kinds of prototypes and proofs-of-concept to help you explore the problem space and clarify the requirements in the early stages of your project, and maybe again later if there are significant changes. But this work isn’t about building working software, because you don’t know what that means yet; it’s about doing experiments to help you find out.

Re:Agile Is Dead, McKinsey Just Killed It by marcus_holmes on Wednesday September 22, 2021 @11:00AM (#28617071)
yeah but if your "comprehensive spec" is neither comprehensive or even accurate, how is your software working any better? If "working" means "what the spec says" instead of "what the customer/stakeholder wanted" then your "working" software isn't working.

Providing the customer with a working prototype to criticise often (always) allows them to refine their vision of what they wanted and helps them communicate what they need. It's always easier to criticise something than create - saying "the interaction around X doesn't feel right, can we make it cornflower blue?" is a lot easier than "the X interaction must be three shades of grey off cornflower blue" in a spec document.

That's been my experience, anyway. Insisting on a comprehensive spec at the start has always been more effort than its worth, because no-one knows what they actually want at the start.

Re:Agile Is Dead, McKinsey Just Killed It by Chris_Newton on Wednesday September 22, 2021 @12:17PM (#28618198)
This has become a frustrating discussion, because it seems like several people read the words “comprehensive spec” and inferred some sort of waterfall process with everything implausibly known up-front. That is not at all what I’m arguing for. In fact, I’m not sure I’ve ever seen anyone argue for it in a professional context. It just seems to be the hypothetical bogeyman in these discussions.

In the case you’re talking about, creating a prototype and then soliciting feedback from the client might be an excellent way to go. More generally, building a project in stages with regular interaction with and feedback from the customer or other stakeholders is often helpful. My point is that you still need to decide what you’re putting in that prototype or any of those earlier stages, because ultimately some developer has to write that code and management need to tell them what to create.

So you might well have a spec, in whatever form, that has initially has gaps or ambiguities relative to the final product you’ll want at the end of the whole process. That’s fine, and as you say, it is very common. But it should still reflect everything you know you want at the current time.

If and when you gain new information, such as feedback from your client after showing them a prototype, you can update your requirements to fill in the gaps or clarify the ambiguities in light of the additional knowledge you now have. You still have a clear record of what is needed, taking into account all the actual decisions that have been made and all the actual feedback you’ve received, and that is (to the best of your knowledge at that time) what defines whether or not you currently have working software.

Put another way, if you don’t maintain a good record of that information, you’re just building your software based on hearsay. Some of that information about what the customer/stakeholder actually wants will inevitably be lost or distorted with the passage of time and perhaps the changing make-up of your team. And then you definitely don’t have working software, whether or not you realise it.

Re:Agile Is Dead, McKinsey Just Killed It by stefanve on Wednesday September 22, 2021 @08:54AM (#28615750)
"Working software over comprehensive documentation"

"That is, while there is value in the items on the right, we value the items on the left more"

I have had many discussions with both agilest and let's say traditionalist about these statements. funnily enough people from both "sides" sometimes mis interpet (or at least that is my view) the statement as; agile means no documentation. To me it is about just enough documentation. You should know what needs to be build, what you expect from it etc.

But in the end it is better to have working software than to have piles of documentation. So there is value is having documentation but the end goal is working software.

If you are old enough you remember months and sometimes years spend at documentation, scribbling over details, etc. At the end of the documentation phase they started building, than a building phase that could take months or years. After the building phase they found out the things that seemed handy at the time where not working in real life or where obsoleet. So a analyst should create a RFC which again would take lots of time before it would finally be made

The idea of having working software over comprehensive documentation is that it is better to start building the most important feature(s) and release it as soon as possible. This makes sure you add value as soon as possible. Documentation by it self doesn't add value, but working software does. This doesn't mean that the important feature should not be documented, but it should be documented enough to add value as quickly as possible. That way you get feedback from the users and change what is needed instead of talking for days about what something should do and what problems might arise from some theoretically edge case. Also it makes prioritisation much easier. Maybe an edge case can be tackled by a change of process in state of a difficult software solution. thus having time to work on a feature that adds more value

Re:Agile Is Dead, McKinsey Just Killed It by Chris_Newton on Wednesday September 22, 2021 @09:15AM (#28615915)
I would be the first to agree that a lot of documentation of little or no value has traditionally been created during software development. I saw an interesting report once about some research on where software developers actually look for information while doing their work. Sure enough, it turns out that some types of documentation are very useful and some are mostly useless, and which is which is very much as you probably expect if you’ve been developing for a while.

Still, when it comes to things like defining the requirements and acceptance criteria for software, “just enough documentation” and “comprehensive documentation” are often the same. Otherwise, you literally don’t know what you’re trying to build. That is not to say that you have to have one big requirements spec that never changes (or one big set of requirements specs including numerous cross-references, if it’s that kind of project) or that every change must go through an extensive change management process involving 27 people and a month-long delay to fix a spelling mistake in the original spec. But you need something that clearly defines what the software is supposed to be.

As I noted in another comment, if you are making software without that, you don’t really have a useful definition of “working software” to prefer. Obviously you can still go ahead and make something. It’s just that both sides are then taking on the risk that the development team’s assumed requirements when they fill in the gaps will be satisfactory to whoever is paying the bill. That could end anywhere from spectacularly successful to a dismal failure, which doesn’t seem like an ideal basis for a software development process to me. Perhaps a more common scenario, particularly for software developed in-house or outsourced on a T&M charging basis, is that when differences arise you go back and correct them afterwards, so you still get what the end customer needs but it takes longer and costs more than was really necessary to get there. This is a more insidious danger, because if things do work out in the end, you might not have any quantifiable way to assess what you lost or maybe any awareness that you lost out at all. But you still lost out all the same.

The idea of having working software over comprehensive documentation is that it is better to start building the most important feature(s) and release it as soon as possible. This makes sure you add value as soon as possible.

Sometimes. It depends entirely on your situation. Shipping a line-of-business application with 75% of the desired functionality that you can then incrementally develop further in production might offer a lot more than 75% of the value. Shipping 50% of the software that controls the mechanics of a modern car might offer 0% of the value, and if shipping that 50% early means the 100% point when the car is actually useable is delayed then doing so actually has negative value, and the only early feedback you’re going to get is that no-one has bought the car yet.

Re:Agile Is Dead, McKinsey Just Killed It by stefanve on Wednesday September 22, 2021 @09:38AM (#28616174)
So they idea of agile is to work closely to with the business and other stakeholders. That is why people do refinements to create shared understanding. Specification by example is also a good way to get shared understanding. If you have shared understanding, that is to say everyone understands the end goal it is easier to have less documentation.

If you work in an old school environment where you get work packages and you just have to do the work. You will need more documentation. simply because you can't ask any questions to the requestor.

Value is not only measured at the end of a total delivery. So for instance your car example. It could be really valuable to deliver the ABS part of the software to test it and any other safety and control functions. All these functions can get tested before the whole is delivered. If some less important features might not make it in time before the car launch you could decide to bring the car to market with the most important features and add the farting feature with an OTA update

Re:Agile Is Dead, McKinsey Just Killed It by Chris_Newton on Wednesday September 22, 2021 @10:16AM (#28616553)
So they idea of agile is to work closely to with the business and other stakeholders.

Sure, though can we please not pretend that Agile introduced the concepts of talking to other people between the start of a project and delivery or of trying to get everyone involved on the same page?

If you have shared understanding, that is to say everyone understands the end goal it is easier to have less documentation.

But how do you know that everyone really does understand the end goal, and crucially understand it the same way, if you haven’t fully defined what that goal is? If you have fully defined it, great, you have a spec.

If you work in an old school environment where you get work packages and you just have to do the work. You will need more documentation. simply because you can't ask any questions to the requestor.

Has any such environment actually existed since before most of us were born, though? This seems like the big waterfall straw man again.

Value is not only measured at the end of a total delivery.

Agreed.

So for instance your car example. It could be really valuable to deliver the ABS part of the software to test it and any other safety and control functions.

Yes, it could. Then again, modern car control software integrates numerous effects that determine the actual response required from different mechanical components to driver inputs and environmental factors, of which ABS is just one case. What ultimately matters is that the overall system is working properly by the time the car is ready to drive, and everything else is a stepping stone towards that end goal.

If building incrementally and working on the ABS in isolation allows for early testing and feedback and that in turn allows for more efficient correction of any defects in the original implementation, yes, absolutely, that has value.

On the other hand, if that kind of isolation and early testing is unlikely to find important defects in the finished system, perhaps because it turns out that the way you build individual systems is fairly reliable and the defects mostly arise when integrating the different systems, and if building everything in isolation and then integrating later delays your overall progress and the time when you can start the integration testing, then the more isolated approach has actually cost time and money rather than saving it.

I want to emphasize that my point here isn’t about this specific example. It is that every software project has its own context and it is important to use a development process appropriate in each context. Sometimes, it’s OK to guess at what your software should do and see if it works out. The kinds of startups we talk about all the time on HN often do this, obviously with varying degrees of success. But I think we should recognise that the whole business model in that case is essentially built around permanent experimentation and high variability outcomes. It’s not a way to build better software as most of us might define the term. It’s a strategy of throwing stuff at the wall to see what sticks, which happens to be a commercially viable strategy for some businesses in the current economic environment, where the definition of “working software” is basically “software we can run that will make us enough money to continue”. Somehow, I doubt that is what the authors of the Agile Manifesto had in mind when they wrote that line.

Re:Agile Is Dead, McKinsey Just Killed It by stefanve on Wednesday September 22, 2021 @10:52AM (#28616976)
Again the manifesto doesn't state that you should not spec. Nor did I make the claim that before agile nobody talked to each other

Sadly I have seen work packages delivered to software teams without any context just specs. Sadly I have worked and seen projects that went down the documentation rabbit hole and spend years trying to come up with the ideal spec before any thing has been build. (and I'm not even that old). You would see that kind of stuff with in government but also large enterprise and even at mid sized companies. And it still exists today

I also have seen successful waterfall projects and I have seen failed agile projects (although those tent to fail faster and thus less costly)

The agile way is not the only way, there are instances that other ways of working might be better.

But for me personally the best work experiences where all companies that worked agile or where transitioning to agile. I worked this way (and helped in the transition) at companies ranging from scale ups to big enterprise.

A many a time I have had these same discussions with people at the beginning of a transition. Mostly people that never worked this way or had a bad experience.

Re:Agile Is Dead, McKinsey Just Killed It by Chris_Newton on Wednesday September 22, 2021 @12:30PM (#28618372)
Yes, if a huge organisation tries to manage a huge software project top-down in waterfall fashion, it’s easy to imagine how things might not end well. I’m not sure anyone here is advocating that, though; certainly I am not.

My original comment on the Agile Manifesto, which seems to have attracted most of the responses I’ve read here today, was only intended to make the point that without knowing what you’re trying to build, you have no way to define whether or not you have succeeded. I therefore don’t think it makes much sense to talk about valuing working software over comprehensive documentation in general terms as the Manifesto does. You can only know your software is working to the extent that you know how it’s supposed to work in the first place.

Re:Agile Is Dead, McKinsey Just Killed It by dragonwriter on Wednesday September 22, 2021 @12:52PM (#28618648)
> My original comment on the Agile Manifesto, which seems to have attracted most of the responses I’ve read here today, was only intended to make the point that without knowing what you’re trying to build, you have no way to define whether or not you have succeeded. I therefore don’t think it makes much sense to talk about valuing working software over comprehensive documentation in general terms as the Manifesto does. You can only know your software is working to the extent that you know how it’s supposed to work in the first place.

The Manifesto is pretty explicit that “over” in the “over” statements means exactly what it says, and isn't a misspelling of “instead of”; the Manifesto very much does not claim that there isn't some degree of documentation that serves an essential role in defining and achieving correctly-functioning software and that that isn't instrumentally important.

I do wish, though, that rather than “over” statements with an explanation that “over” means “over” and not something else the manifesto had used something like “is/are served by” in place of “over” (with some light editing of the items on the sides to fit that structure):

  Individuals and interactions *are served by* processes and tools.

  Working software *is served by* appropriate documentation.

  Customer collaboration *is served by* contract structure.

  Ability to respond to change *is served by* planning.
They are about subordination, not exclusion, of the things on the right in favor of those on the left.
Re:Agile Is Dead, McKinsey Just Killed It by Chris_Newton on Wednesday September 22, 2021 @01:47PM (#28619421)
FWIW, I like your characterisation better. Saying that you value something as a means to achieve something else that you also value makes logical sense.
Re:Agile Is Dead, McKinsey Just Killed It by stefanve on Wednesday September 22, 2021 @01:48PM (#28619435)
You're where implying that by stating that is is a straw men argument and that only ages ago those environments excited.

like I said in the beginning of the discussing the manifesto reverenced to those type of environments.

Re:Agile Is Dead, McKinsey Just Killed It by Jtsummers on Wednesday September 22, 2021 @09:22AM (#28615989)
The kind of comprehensive documentation they were referring to were garbage 1000+ page documents that projects often created listing all requirements, specs, and design elements. In Waterfall and related BDUF approaches the intent was to produce this before any code. A months or years looking effort before even starting…

The point in the manifesto is to get to just enough (which is usually not 1000s of pages) and then start coding. Not to skip it entirely. The other issue with those documents form my experience was that unless it was a replacement of an existing system, the documents were wrong every time. And you’d lose more months fixing them or just continue to diverge and let them lie.

Re: your last paragraph. We’ve done that for aircraft. Ship a 50-80% solution that gets you into flight test instead of waiting for 100%. Then finish it over the next months or years. It’s very effective. You just have to be smart enough to identify what is the MVP.

Re:Agile Is Dead, McKinsey Just Killed It by Chris_Newton on Wednesday September 22, 2021 @09:51AM (#28616324)
The mind of comprehensive documentation they were referring to were garbage 1000+ page documents…

Perhaps, but I don’t believe that is how the documentation point in the Manifesto has always been interpreted since then, and I suspect no-one else here does either.

As I said in my original comment, I think the ideas around Agile can be an interesting and useful area for discussion, but I’ve never fully agreed with the Agile Manifesto as-written. The danger with making these kinds of short, profound statements about a field as nuanced as software development is always that you immediately have to start backtracking and clarifying that what you really meant was… And as soon as you’re doing that, probably the original statement has lost most of any value it might have had anyway and it’s more interesting and productive to discuss the nuanced issues that you brought up afterwards instead.

In Waterfall and related BDUF approaches the intent was to produce this before any code.

OK, but it’s not as if everyone was trying to write software that way before the Agile Manifesto came along. I’ve been writing software for money since well before the Manifesto was published, I’d say I’ve worked on a fairly broad range of applications over the years, and I don’t think I’ve ever seen that kind of process in actual use either before or since the publication. Waterfall just seems to be the preferred straw man for Agile advocacy.

You just have to be smart enough to identify what is the MVP.

Or, more generally, you have to be smart enough to identify which milestones in terms of functionality and performance add real business value. That is almost always some kind of step function. Reaching an MVP that you can deploy to start collecting feedback from end users on a realistic product and ideally bringing in some revenue as well is obviously one of the more important steps when developing certain kinds of software, but really there is nothing unique about it and even for those kinds of software the same principles apply both before and after shipping the MVP.

That then invites the question, how do we identify what we need to have ready before we take the next step, MVP or otherwise? And just like before, the options are essentially to check our requirements or to wing it and hope that we’ve guessed well.

Re:Agile Is Dead, McKinsey Just Killed It by Jtsummers on Wednesday September 22, 2021 @10:47AM (#28616919)
> Waterfall just seems to be the preferred straw man for Agile advocacy.

People keep saying this, but either I hallucinated the early part of my career, or it's real. The straw man is saying that it's a straw man.

Re:Agile Is Dead, McKinsey Just Killed It by Chris_Newton on Wednesday September 22, 2021 @12:36PM (#28618452)
Without wanting to make this unnecessarily personal, I’m genuinely curious to know what sort of work you were doing at the time and how long ago that was. Anecdotally, I wrote my first code for money about 30 years ago and have been a developer by profession for well over 20 at this point, and I’ve never encountered anything like it. Even working on firmware or device control software, where you tend to know more of your requirements early on because they are dictated by the physical equipment involved, the process has always been incremental and changes in requirements have always happened along the way and been incorporated accordingly. Of course that’s just my own personal experience; I’m not disputing that yours might have been very different, just a little surprised.
Re:Agile Is Dead, McKinsey Just Killed It by Jtsummers on Wednesday September 22, 2021 @12:43PM (#28618527)
About 15 years ago, aircraft safety systems at that point. One area where Waterfall is almost justifiable, but most of the other projects (in the same office) did not use Waterfall because (as that project demonstrated) it was crap. V-Model or Iterative & Incremental (slow-motion Scrum) were used with much greater success on all other projects. Success as in, they were rarely late by more than a rounding error (days, maybe a couple weeks). When they were late by larger margins the issues causing the delays were discovered early and were almost always requirements issues or hardware issues (that is, the former was partly on us, the latter never was).

I've seen Waterfall used on other projects since then including a major information system that resulted in about $1 billion of waste, fortunately I've only been adjacent to them not on them. The billion dollar waste relied on (as Waterfall often does) late integration, none of the pieces worked together even though everyone built everything per the spec they'd been given.

If you've not encountered it, that's great. Doesn't mean it doesn't exist.

Re:Agile Is Dead, McKinsey Just Killed It by Chris_Newton on Wednesday September 22, 2021 @01:51PM (#28619467)
Fair enough. Perhaps a better position would have been that a choice between Agile and Waterfall is often presented as a (false) dichotomy.
Re:Agile Is Dead, McKinsey Just Killed It by PaulKeeble on Wednesday September 22, 2021 @03:36PM (#28620771)
"Individuals and interactions over processes and tools"

The issue I have always had here is that in order to go fast and have short cycle times you need quite a bit of automation and the more you rely on automation and make it work the easier it is to maintain iterative agile development. That requires processes and tools maintained and the more you rely on individual personal preferences and nuances the longer those cycle times will be.

Once you get down to continuous delivery you don't have much choice but to have automated tests written for everything, the basis of which might have been a fantastic interaction with a stackholder with a good back and forth on the right tests, but its far too reductive to just always value people over process when solid engineering is critical to low cycle time for software agility.

It seems the manifesto was written from a contract interaction perspective for consultants. With the product mindset however these types of scenarios are a lot less common but the engineering doesn't go away. Its just one aspect that has annoyed me where Xtreme programming got more into defining what a good project actually ought to be able to do and the sort of processes that were necessary to make it work even if some of it was flawed it hung together better than a set of values.

Re:Agile Is Dead, McKinsey Just Killed It by scott_middleton on Wednesday September 22, 2021 @04:29PM (#28621346)
> IMHO, it is much more interesting to discuss those specific ideas.

Yes, agree here.

> I do think the early Agile advocacy served a useful purpose..

Agree.