News for hackers. Stuff that matters.
Re:Agile at 20: The Failed Rebellion by AndrewKemendo on Sunday July 25, 2021 @02:22AM (#27947169)
The fundamental problem with Agile is the fundamental problem with all product development:

The customer doesn't know what they want

Agile assumes as a first principal that including the customer throughout the development process will align the building team and the customer to come to the same conclusion.

This is almost never actually true. Having built and managed a lot of products I can state fairly confidently that the amount of time the customer has, and clarity about the problem they want solved is orders of magnitude more ambiguous than is required to actually build and deliver something to their satisfaction.

In my opinion successful products, and I mean ones with significant flywheels with customers and viral growth and stickiness are with few exceptions - accidents. It was someone who had an interesting thought and a lot of people for whom the product was good enough for their desire that they often didn't even know they had

You can't write down how to do that, it's like asking a nobel prize winner how they came up with their discovery. It's not repeatable. Some people have better intuitions than others and these are the people who are repeatably successful with products. But it doesn't generalize.

That said, the fundamental problem isn't wrong in theory, it's just naiive in practice.

Re:Agile at 20: The Failed Rebellion by dirkt on Sunday July 25, 2021 @02:40AM (#27947250)
> The fundamental problem with Agile

This is not what the article is about. If you look at the Agile Manifesto, it says e.g.

- Individuals and interactions over processes and tools - Responding to change over following a plan

What you get in quite a few big companies following "Agile" with the air quotes is the opposite:

- Processes and tools over individuals and interactions - Following (and making) a plan over responding to change

Because that's what makes middle management happy.

So this perversion of "Agile", which is actually the opposite of Agile, is the FUNDAMENTAL problem.

Re:Agile at 20: The Failed Rebellion by pydry on Sunday July 25, 2021 @07:29AM (#27948374)
The agile manifesto was the problem. It's a vague as hell set of proscriptions that everybody could project their own ideas on to that got turned into a pseudo-religion.

I once had it used against me to justify not writing tests ("processes and tools!"). We had meetings about bugs instead. Seriously. Complain all you like about perversion, that was a perfectly valid interpretation coz those hallowed commandments are, frankly, ill-defined bollocks.

The principles are better but still suffer the same problem. If the most efficient way to convey information in a dev team is face to face why don't you come over here and I'll whisper my pull request in your ear. Jesus.

There's no point complaining about the perversion of a thing that was never very specific about what it wanted to be in the first place.

Once people (especially managers) get specific about what agile means to them it turns out it means very different things to different people. This is entirely the fault of the originators.

One benefit of Scrum (the catholic church to agile's christian sect) was that it was proscriptive and was specific. Unfortunately it's also a bit shit and its practitioner-priests LOVE to tell you that if it isnt working, well, You Probably Just Weren't Doing It Correctly.

Re:Agile at 20: The Failed Rebellion by rramadass on Sunday July 25, 2021 @10:14PM (#27954826)
>The agile manifesto was the problem. It's a vague as hell set of proscriptions that everybody could project their own ideas on to that got turned into a pseudo-religion.

thank you, Thank You, THANK YOU!

It is a useless set of vague platitudes which offered nothing but a sense of seeming aphoristic depth. How so many people fell for it is still a mystery to me. Instead of focusing on the core problem of Requirements gathering and Software Specification, well known trial-and-error approaches were dressed up as something profound and a whole industry was created out of thin air. People seem to have forgotten the works of Fred Brooks/Barry Boehm and that their iterative "Spiral Model" IS Agile. There is nothing new i could find in the "modern" Agile/Scrum movement except mindless emphasis on Processes/Tools which is insanity, eg; The position of "Scrum Master" is the very definition of a "Bullshit Job" and should be abolished forthwith.

Re:Agile at 20: The Failed Rebellion by wheelinsupial on Tuesday July 27, 2021 @02:00AM (#27969114)
> the core problem of _Requirements gathering and Software Specification_

Where I work there was a huge shift in this.

From Business analysts (BA), who usually had comp sci or engineering degrees, and an expectation to get PMP and CBAP / PMI-PBA / other BA certification to move up, were responsible for requirements.

Now we have product managers and scrum masters with a 1-3 day agile certification and no comp sci or engineering background who are responsible for requirements.

Re:Agile at 20: The Failed Rebellion by rramadass on Tuesday July 27, 2021 @09:54AM (#27972464)
My sympathies!

Nothing is worse than non-domain knowledgeable, non-technical people lording it over actual Technical Engineers who do the work.

I always recommend Dave Packard's 1960 "Speech to HP Managers" to every "Manager" - https://gizmodo.com/the-hp-way-how-bill-hewlett-and-i-built-...

Relevant Excerpt:

Over the years we have developed the policy that it is important for the supervisor to thoroughly know and understand the work of his group. A debate on this has been carried on by management people for years. Some say you can be a good manager without having the slightest idea of what you are trying to manage, that the techniques of management are all important. There are many organizations which work that way. I don't argue that the job can't be done that way but I do argue strongly that the best job can be done when the manager or supervisor has a real and genuine understanding of his group's work. I don't see how a person can even understand what proper standards are and what performance is required unless he does understand in some detail the very specific nature of the work he is trying to supervise. We have held closely to this philosophy and we intend to continue to do so. We expect you who are supervising to learn techniques of supervision and keep up to date. I want to emphasize you can supervise best when you know a great deal about the work you are supervising and when you know the techniques of supervision as well.

This is how great companies were built.

Re:Agile at 20: The Failed Rebellion by kps on Sunday July 25, 2021 @10:27AM (#27949408)
> Scrum (the catholic church to agile's christian sect)

At least the Church only had confession once a week in private.

Re:Agile at 20: The Failed Rebellion by kapad on Monday July 26, 2021 @04:39PM (#27965152)
Hahahaha.. this is brilliant!!

And treat this comment as an acknowledgement for all future occasions on which I quote you.

Re:Agile at 20: The Failed Rebellion by g051051 on Sunday July 25, 2021 @08:01AM (#27948523)
> those hallowed commandments are, frankly, ill-defined bollocks.

I wish I could upvote this more.

Re:Agile at 20: The Failed Rebellion by 3grdlurker on Sunday July 25, 2021 @12:04PM (#27950183)
> It's a vague as hell set of proscriptions that everybody could project their own ideas on to that got turned into a pseudo-religion.

Then you're just complaining about the nature of language, because people do the same thing with religious text, literary text, the law, contracts, even daily conversations and flirtations. This is hardly a point that you can hold against the Agile manifesto.

> I once had it used against me to justify not writing tests

If you thought of your work as a complex system where there are a lot of variables which have multiple underlying causes, then you would have been able to describe some undesirable effect as being heavily caused by not having writing tests. And really, this is why people don't get Agile--they don't see their work and their organization as a complex system.

Re:Agile at 20: The Failed Rebellion by pydry on Sunday July 25, 2021 @12:24PM (#27950407)
>Then you're just complaining about the nature of language, because people do the same thing with religious text, literary text, the law, contracts, even daily conversations and flirtations. This is hardly a point that you can hold against the Agile manifesto.

Funnily enough the features of language which are ideally suited for flirtation and writing poetry and preaching religion or nationalism and other such "let your fantasy go wild and fill in the gaps" uses of language aren't as appropriate when you're doing engineering.

Law and contracts ARE different (more like engineering), incidentally. What is described as "legalese" actually exists because non-legal equivalent language is often insufficiently precise and subject to dangerous and costly misinterpretation. Mathematical discussion has the same problem to such an extreme degree that it's almost pointless using English at all most of the time.

>And really, this is why people don't get Agile

The reason people say "people don't get Agile" is because they don't get that when the manifesto flirted with them it encouraged them to fill in the gaps with their own idealized version of software development that wasn't necessarily shared by everyone else.

Re:Agile at 20: The Failed Rebellion by 3grdlurker on Sunday July 25, 2021 @01:31PM (#27951122)
> aren't as appropriate when you're doing engineering

Yeah but that's not the point that I'm making, is it? What I'm saying is that people project their own meanings into language all the time regardless of whether the language is being used in deeply personal interactions or in professional settings; therefore you can't just fault the Agile manifesto for its supposed "ambiguity".

On the point re: how laws and contracts are different -- sure, these things have gotten more precise over time, but if the language of law was inherently precise then we wouldn't have a need for judges and courts and congresses. Heck, even mathematics isn't safe from the problem of the imprecision of language. Wasn't there a time just in the last year or two when people were debating about the correctness of the statement, "one plus one always equals two"?

Which, really, brings us to the ultimate question, which also happens to be my response to your last sentence:

> The reason people say "people don't get Agile" is because they don't get that when the manifesto flirted with them it encouraged them to fill in the gaps with their own idealized version of software development that wasn't necessarily shared by everyone else.

So then is it a problem with the manifesto or with the people?

Re:Agile at 20: The Failed Rebellion by pydry on Sunday July 25, 2021 @02:22PM (#27951562)
>Yeah but that's not the point that I'm making, is it? What I'm saying is that people project their own meanings into language all the time

That was MY point.

>therefore you can't just fault the Agile manifesto for its supposed "ambiguity".

You absolutely can. They didn't have to write it in an obtuse, ambiguous and metaphorical way that practically required people to project their own meaning. They deliberately chose to.

Scrum is a clear example of a methodology that is relatively (not completely) unambiguous. It's describing (in theory) a much more concrete form of "aspirational agile" and as such is at a lower risk of becoming all religious.

>On the point re: how laws and contracts are different -- sure, these things have gotten more precise over time, but if the language of law was inherently precise then we wouldn't have a need for judges and courts and congresses. Heck, even mathematics isn't safe from the problem of the imprecision of language. Wasn't there a time just in the last year or two when people were debating about the correctness of the statement, "one plus one always equals two"?

It's a sliding scale. Flirting and poetry is way over on the far left with the agile manifesto. Scrum is further to the right. Legalese is further still to the right. Math further still. It's fairly self-evident that the level of specificity required in the language used varies depending on the task. Being too specific when you flirt is common sitcom grist and nobody's ever made poetry out of a shopping list.

>Which, really, brings us to the ultimate question, which also happens to be my response to your last sentence: So then is it a problem with the manifesto or with the people?

It's the manifesto.

Re:Agile at 20: The Failed Rebellion by rramadass on Sunday July 25, 2021 @10:41PM (#27954982)
>It's a sliding scale. Flirting and poetry is way over on the far left with the agile manifesto. Scrum is further to the right. Legalese is further still to the right. Math further still. It's fairly self-evident that the level of specificity required in the language used varies depending on the task. Being too specific when you flirt is common sitcom grist and nobody's ever made poetry out of a shopping list.

Beautifully said, you have a way with words!

Re:Agile at 20: The Failed Rebellion by 3grdlurker on Sunday July 25, 2021 @03:45PM (#27952295)
I think that you fundamentally misunderstand the purpose of the Agile manifesto. It’s not meant to be an algorithm or a highly specific set of instructions—it’s really just a collection of values that are meant to be the foundations of specific Agile frameworks, like Scrum. If you have trouble understanding that, then you must have trouble understanding the difference between Mission-Vision statements and KPIs.
Re:Agile at 20: The Failed Rebellion by rramadass on Sunday July 25, 2021 @11:12PM (#27955154)
I see exact parallels between the Agile Manifesto and Agile Movement same as the Golden Plates of Moroni and Mormon Church.
Re:Agile at 20: The Failed Rebellion by garfieldnate on Wednesday July 28, 2021 @12:44PM (#27985877)
In your opinion, are the four principles of the "modern agile" manifesto any better, or do you predict that they will fail completely as well?
Re:Agile at 20: The Failed Rebellion by lrdswrk00 on Sunday July 25, 2021 @10:20AM (#27949355)
They’re purposely ill defined.

The outputs they seek are emergent.

You also belittle scrum for becoming too specific.

Seems you’re still processing what to make of any of it.

Knowledge work is immaterial and should have no prescribed rails or all you get is run of the mill outputs.

It’s similar to business; billions have been spent investigating what technology or management style brought the biggest gains. The math quickly becomes so Byzantine there no meaningful conclusions.

No matter how detailed our consciousness will let us imagine, there’s still one reality ruled by physics. Esoteric math may be correct in that it has the order of operations right, but that truth doesn’t give it any real influence on physical reality.

Re:Agile at 20: The Failed Rebellion by pydry on Sunday July 25, 2021 @11:05AM (#27949677)
>They’re purposely ill defined.

Yes they were. The cynical side of me says that this was because they were purposefully trying to create a rallying cry or something akin to a religion to better sell their wares and were unconcerned about the fallout that would ensue.

The less cynical side of me says they did it because they came up with "extreme programming" and knew that a lot of it was kind of bullshit, disagreed with each other on the details, but wanted some way to push people in "that sort of direction".

The net result either way was... well, a kind of religion.

>You also belittle scrum for becoming too specific.

No, I didn't belittle scrum for being specific. It's one of the good things about it. It is, however, a specifically defined bad way of running a team. We do need designed processes as specific as scrum, that are less one-size-fits-all and that have a more systematic and refined approach to software quality, estimation and design.

"Scrumban" is definitely an improvement, but even that is still lacking.

I'd like to see software team processes treated in many respects as a kind of "software to run teams", specifically meaning:

* That it gets iterated frequently and responds to feedback at every level (not just team, but philosophically - by its founders).

* That it's clearly and precisely defined.

* That there are a variety of different config switches depending on circumstances (e.g. number of people, skill distribution, are you building CRM or flying space rockets, etc.).

* That the individual pieces (e.g. retros, sprint planning) can be chopped and changed and upgraded/iterated on individually and yet still couple to each other sensibly - akin to the UNIX philosophy.

>Knowledge work is immaterial and should have no prescribed rails

No, anarchy is no good either.

Re:Agile at 20: The Failed Rebellion by rramadass on Sunday July 25, 2021 @10:59PM (#27955078)
>this was because they were purposefully trying to create a rallying cry or something akin to a religion to better sell their wares

> they came up with "extreme programming" and knew that a lot of it was kind of bullshit, disagreed with each other on the details

Money quotes!

I had attended a presentation by Kent Beck on "eXtreme Programming" well before the Agile/Scrum movement started and came away with the exact sentiments listed above.

Re:Agile at 20: The Failed Rebellion by lrdswrk00 on Sunday July 25, 2021 @01:12PM (#27950945)
Who is they? The original authors have little to do with the administrative state that’s been wrapped around our agency.

Anarchy is no good.

Haha.

Your efforts are constrained by physical science, social objectives.

There’s plenty of structure to prevent anarchy.

But you would further impose problem solving constraints on others thought work.

Shit n hellfire; what a dumpster fire of a culture.

Would you say something as minimal as “E=mc^2” promotes anarchy? It hardly illustrates the full meaning of relativity.

Perhaps where you perceive emptiness and anarchy, others perceive correctness and order.

Like religion; one mans abstraction is another mans insanity.

Re:Agile at 20: The Failed Rebellion by pydry on Sunday July 25, 2021 @01:29PM (#27951098)
>Who is they?

The 17 authors of the manifesto.

>But you would further impose problem solving constraints on others thought work.

I would, yes. I've worked with a diversity of methodologies and several times with no explicit methodology all and in a team context we ended up a disorganized mess.

Re:Agile at 20: The Failed Rebellion by lrdswrk00 on Sunday July 25, 2021 @01:53PM (#27951328)
You might try to accept the rest of us don’t jump through the hoops of having a financially thriving job for you.

It’s not to bring order to chaos. It’s to afford shelter, food, and healthcare.

Sorry, not sorry.

Perhaps you’d be happier living as a hermit, where you can organize as you wish; everything just so! without the rest of humanity, that does quite a bit of the heavy lifting for you, interfering.

Re:Agile at 20: The Failed Rebellion by rramadass on Sunday July 25, 2021 @10:26PM (#27954907)
To apply one of my favourite phrases to your post;

"What ineffable twaddle" !

I highly recommend to you the works of David Parnas, Barry Boehm, Fred Brooks, Gerald Weinberg for edification.

Start with the paper; "A Rational Design Process: How and Why to Fake It."

Re:Agile at 20: The Failed Rebellion by pydry on Monday July 26, 2021 @08:36AM (#27958621)
Big fan of all of those already. Fred Brooks in particular is seriously underrated.
Re:Agile at 20: The Failed Rebellion by dragonwriter on Sunday July 25, 2021 @07:29AM (#27948372)
I think the way the Manifesto and early community around it lent itself to this inversion is this:

(1) The Manifesto is written in non-actionable terms.

(2) Many of the same people that initially attached themselves to the manifesto were already pitching canned processes, that may have been the outcome of agile process where they originated but did not put the critical feedback mechanisms more prominently than the low-level processes. So, those became the actionable versions of “Agile”.

It would be so much better if instead of the “X over Y” language, the Manifesto has spent a few words talking about how the less important things were subordinated to the more important ones.

The weird thing is that continuous, bottom-up, empirically-based process improvement wasn't an unknown concept at the time the Manifesto was written. It wouldn't have been hard for it to reference more concrete, actionable, concepts and practices.

Re:Agile at 20: The Failed Rebellion by baxtr on Sunday July 25, 2021 @03:44AM (#27947503)
It’s easy to blame management. In my experience the radicalism of some agile coaches and scrum masters helps to fuel the divide significantly.
Re:Agile at 20: The Failed Rebellion by mmarq on Sunday July 25, 2021 @05:46AM (#27947972)
The existence of coaches and scrum masters is the result of decisions of management, that see agile as a way of getting daily reports from the team through the daily standup.

I don’t think that people who don't write or never wrote software should have a place in a software development team. We don’t allow scrum masters and agile coaches in hospitals and ask them to “improve the process”, because we know the only “improvement” we will get is millions of dead and injured. But for whatever reason we allow freshly minted certified scrum masters to lecture seasoned professionals on process, to organise 19 meetings a day to discuss the differences between scrum and agile and, in general, to unleash havoc and destruction.

Re:Agile at 20: The Failed Rebellion by AndyPa32 on Sunday July 25, 2021 @05:55AM (#27948005)
This is exactly what drove me off my last team. We were seasoned developers with a combined experience of more than 50 years, 25 of them in scrum. And we were assigned a scrum master that never worked in software development before, fresh of the scrum master training and was telling us in a very condescending tone, how we could improve ourselves and our team. That guy didn't know anything about software development, not anything about our problem domain and nothing really about our client or users. It was ridiculous.
Re:Agile at 20: The Failed Rebellion by walshemj on Sunday July 25, 2021 @11:05AM (#27949676)
How can you even get a Job as a "scrum master" with no experience in development or the industry.

You should collectively have just refused to work for them in this case.

Re:Agile at 20: The Failed Rebellion by wheelinsupial on Tuesday July 27, 2021 @11:54PM (#27980101)
The consultant that comes into your company decides to start by applying scrum to software development teams. Leadership likes this new approach and expands it to other departments. Now you have scrum masters who were previously accountants, marketers, HR, and other business domain experts. Consultant decides that it’s in the scrum coaching team’s best interest to let the scrum masters determine where they are placed. Scrum masters want to work on software because other companies pay more. All scrum masters converge to become involved in software teams.
Re:Agile at 20: The Failed Rebellion by xorcist on Sunday July 25, 2021 @07:04AM (#27948274)
> We don’t allow scrum masters and agile coaches in hospitals

They're not called scrum masters but the healthcare industry is absolutely full of them. One peculiar thing about the covid crisis was, at least around this particular corner of the planet, in the all-hands-on-deck situation where everyone on the floor in healthcare had to help out, these people suddenly found other things to do. It was impressive to see what could be accomplished when everyone was focused on a singular goal, without a coach in sight. I'm sure there's a lesson there somewhere.

Re:Agile at 20: The Failed Rebellion by schwurb on Sunday July 25, 2021 @08:33AM (#27948713)
> I'm sure there's a lesson there somewhere. There sure is: Having one goal and being able to allocate all/most resources towards that goal. The problem is that this is not sustainable. Times of crisis usually ends and then what? Then we are back at square one with "How do we allocate our scarse resources between these really important 4-5 goals?"

Concluding: It is certainly refreshing how efficient groups can be once a crisis forces all attention towards one single goal. (Perhaps unfortuntately) that is not a reliable (crisises are usually not predictable) nor sustainable (other goals tend to get neglected in crisis mode).

Re:Agile at 20: The Failed Rebellion by dsr_ on Sunday July 25, 2021 @09:08AM (#27948909)
A fair number of hospitals have been taken over by MBAs. The result is generally more money for the administration, and cost-cutting elsewhere.

Since the purpose of a hospital is not to make money but to improve health-related outcomes, this is usually bad.

On the other hand, it turns out that focus on improving health-related outcomes by applying science and statistics works really well... and usually decreases costs, too.

Re:Agile at 20: The Failed Rebellion by Aeolun on Sunday July 25, 2021 @08:22AM (#27948639)
> I don’t think that people who don't write or never wrote software should have a place in a software development team

This is no guarantee any more. Newly minted managers coming from a development position that have only ever worked in dysfunctional organisations (and got promoted from within) will only reinforce the existing bad practices.

Re:Agile at 20: The Failed Rebellion by jim-jim-jim on Sunday July 25, 2021 @06:00AM (#27948027)
> We don’t allow scrum masters and agile coaches in hospitals

Give it a few years.

Re:Agile at 20: The Failed Rebellion by brnt on Sunday July 25, 2021 @08:48AM (#27948776)
My hospital had them 10 years ago. Leaving is, second to marrying my wife, the best decision I ever made. Hospitals are, much to my sincere regret, not able to attract much talent in IT. Mediocrity is the best you can hope for, and I wouldn't even count on that.
Re:Agile at 20: The Failed Rebellion by dsr_ on Sunday July 25, 2021 @09:10AM (#27948921)
It is the same as the government IT problem: if you can make much more money in private practice, why would you work at a hospital or government? Selling software to the hospitals or government is a better deal.
Re:Agile at 20: The Failed Rebellion by CRConrad on Sunday August 01, 2021 @03:24PM (#28029075)
> Hospitals are, much to my sincere regret, not able to attract much talent in IT.

I think the GP meant "in hospitals" as in "among medical people", doctors and nurses, not IT staff.

Re:Agile at 20: The Failed Rebellion by outsomnia on Sunday July 25, 2021 @03:48AM (#27947513)
You know why it's "easy" to blame "management"?

Because they often don't understand the technology question or even what the issue is, but insist to intercept every decision.

Re:Agile at 20: The Failed Rebellion by smokey_circles on Sunday July 25, 2021 @04:51AM (#27947755)
The air quotes sell it.

It's easy to blame management because developers and engineers haven't the foggiest idea what management actually does.

Instead of engaging with that problem, they retreat to themselves where they hiss the name management in dark corners.

Fact is: Developers are incapable of self organising, and would drown overnight without management's stiff hand.

I absolutely hate how accurate that is because I always thought I was a big boy and I wouldn't need management if I just had "1 good tech idea".

Docker had the philosophy.

Now they are dying after losing the container wars. That's what happens when you have no idea what a product actually is...

>but insist to intercept every decision

Yes, because left to our own devices, developers will not contribute meaningful business value.

There is a better way, evidently it's not agile, but it needs management's buy in, because well they're in charge (get over it in all honestly, none of us actually want the job, trust me).

WE as engineers need to find a better way to engage management.

But those of you who just grumble "management ruin everything" deserve the pain that such a divide causes and we need to stop wasting lifeboat's on that mentality please

Re:Agile at 20: The Failed Rebellion by denton-scratch on Sunday July 25, 2021 @05:33AM (#27947914)
> Fact is: Developers are incapable of self organising, and would drown overnight without management's stiff hand.

I beg to differ.

A dev team doing agile, with a team leader who is a manager/dev, can definitely self-organise. The team leader interfaces with non-dev management, removes roadblocks, and in collaboration with the rest of the devs sets the direction for a sprint.

You need this team lader role to keep the suits off your back, and to ensure the demands are achievable.

Project managers used to be people who wandered around with GANTT charts, and signed-off expenses and timesheets. Very rarely, I worked with a PM who saw their role as removing roadblocks, and shielding devs from suits. Those few PMs were a delight to work with (this was long before the appearance of Agile etc.)

> Yes, because left to our own devices, developers will not contribute meaningful business value.

I think that's rather obvious; management runs the business and sells the products. They set the business objectives, and there has to be clear communication between the devs and management, otherwise you get the "rewrite it all in X" syndrome.

Re:Agile at 20: The Failed Rebellion by baxtr on Sunday July 25, 2021 @06:05AM (#27948046)
> I think that's rather obvious; management runs the business and sells the products. They set the business objectives, and there has to be clear communication between the devs and management, otherwise you get the "rewrite it all in X" syndrome.

That’s a view in many large corporates. However, in product focused companies and many startups every developer has to have a customer focused mind. Every single day.

Re:Agile at 20: The Failed Rebellion by denton-scratch on Sunday July 25, 2021 @12:57PM (#27950776)
I think you'll find that view in any smoothly-running business with an eye on the future - not just large corporations. Unless the management are the devs.

We have to specialise at some point - not everybody that gets hired is going to be an ace industrial strategist. Few devs know how to qualify a sales prospect. If you have such people in management, then as a dev I don't want to do their job for them; they should set strategy and find good customers.

I guess we all have differing perspectives on this kind of thing; one's perspective is partly formed by one's experiences.

I'm not talking about startups - I never worked in one. But I've worked for quite a few companies with < 20 staff.

Re:Agile at 20: The Failed Rebellion by walshemj on Sunday July 25, 2021 @11:21AM (#27949786)
I agree - though unfortuetly it seems its less common for developers to experience working in a well formed and efficient team these days.
Re:Agile at 20: The Failed Rebellion by chrisan on Sunday July 25, 2021 @06:35AM (#27948163)
I've found the opposite to be true. Management is what chases the quick buck and not the long term scalability of more money.

When I first started we would be doing 1-off feature requests "because the client would _really_ like it". Everything was justified because money and because "we cant afford to lose that customer!" in our SaaS product.

I saw our main product being neglected because we'd invest so much time in these 1 off features only 1 client would use. All we would ever do would be client features, I was going crazy. It took a lot of talking, and still to this day I have to get him to think in terms of the product instead of the individual client.

Now we make more money, have more clients, and better our product for everyone which in turn gets more clients to get more money.

Re:Agile at 20: The Failed Rebellion by dccoolgai on Sunday July 25, 2021 @01:13PM (#27950958)
Doing 1 or 2 features at a time to make 1 client happy or win one deal is called consulting. Not that there's anything wrong with consulting: consulting can be quite lucrative and fulfilling but mistaking it for "product" work is responsible for some large X% of small/early startups failing.
Re:Agile at 20: The Failed Rebellion by the_gipsy on Sunday July 25, 2021 @06:04AM (#27948044)
> Fact is: Developers are incapable of self organising, and would drown overnight without management's stiff hand.

Open source does self-organise, and manages to produce some products of exceptional quality. It’s just almost completely unsteerable.

In a company, you can pretend to order people around. But the truth is that what really matters is how all the personal and political goals happen to align.

Re:Agile at 20: The Failed Rebellion by mgbmtl on Sunday July 25, 2021 @09:49AM (#27949149)
I think the difference is having a leader vs shepherds. Most open source projects have shepherds who do a lot of invisible work.

The project I work on has around 100 regular contributors, but also a few small teams, either volunteer or staff, who meet regularly and make sure things move forward in a coherent and sustainable way.

Re:Agile at 20: The Failed Rebellion by dragonwriter on Sunday July 25, 2021 @07:36AM (#27948393)
> Fact is: Developers are incapable of self organising, and would drown overnight without management's stiff hand.

If that's true in an organization, its only because either management has failed to hire developers that can self organize, or management has constructed structures and incentives which inhibit self-organization by developers. Usually, both. Often deliberately, because line managers are often more comfortable passively recieving directives from above and crafting directives for below than any other mechanism of management, since this minimizes conflicts with those in organizational power positions.

Re:Agile at 20: The Failed Rebellion by eecc on Sunday July 25, 2021 @09:29AM (#27949032)
If developers were given Operational Research and a couple management classes during university training, the pretense that they are some kind of highly functioning idiots would evaporate overnight.

Problem is that the industry is full of untrained individuals who hustled their way ”fake it until you make it” and will use all their political and manipulatoy clout to justify their positions and fight back any attempt at effective process engineering.

Re:Agile at 20: The Failed Rebellion by sorokod on Sunday July 25, 2021 @05:04AM (#27947802)
I agree and want to add that sometimes the devs are not very good at, well... "deving".

It is very convenient then to shift attention to inadequacy of others.

Re:Agile at 20: The Failed Rebellion by temac on Sunday July 25, 2021 @09:41AM (#27949103)
There is probably some truth in all of that (although I strongly disagree in some specific points), but also consider that if "management" is incapable to convey their own value, and to cooperate with "engineers" in a non-antagonizing way, maybe they share some of the responsibilities in the divide... esp. if they are supposed to be "management" and take care of rational things (business value being an obviously rational one...) while engineers are basically... playing with their toys?

I don't understand how your vision of things is not also contributory to a strong divide.

Re:Agile at 20: The Failed Rebellion by outsomnia on Monday July 26, 2021 @03:52AM (#27956806)
> Fact is: Developers are incapable of self organising, and would drown overnight without management's stiff hand.

Heard of Linux?

Re:Agile at 20: The Failed Rebellion by brtkdotse on Sunday July 25, 2021 @04:26AM (#27947651)
You can also flip that around. As much as devs try to disagree, technology is not a goal in of itself. Management is an abstraction on top of money in/money out and if in<out it doesn’t matter if you have the crispest tech, you’re going out of business.
Re:Agile at 20: The Failed Rebellion by yobbo on Sunday July 25, 2021 @04:48AM (#27947743)
> As much as devs try to disagree, technology is not a goal in of itself

Can you find one dev that has ever disagreed with this?

Re:Agile at 20: The Failed Rebellion by Ma8ee on Sunday July 25, 2021 @05:08AM (#27947825)
I’ve seen countless systems built where technology choices where more exciting than economical. Why build something in c# on top of SQL-server in six months when it can be done in three years with micro services, Kotlin, Cassandra, Kafka, mongoDb etc…
Re:Agile at 20: The Failed Rebellion by brtkdotse on Sunday July 25, 2021 @05:20AM (#27947867)
For real. That why I’ve focused my consulting on pure Microsoft stack at insurance companies. My knowledge _acumulates_ for each assignment, rather than having to start over with the tech du jour.
Re:Agile at 20: The Failed Rebellion by pjmlp on Monday July 26, 2021 @03:00AM (#27956503)
Java, .NET and C++ over here.

Get to rewrite the micro services, Kotlin, Cassandra, Kafka, mongoDb hardly documented, back into C# on top of SQL Server when the teams have left for the new jobs after haved pimped up their CV.

Re:Agile at 20: The Failed Rebellion by Aeolun on Sunday July 25, 2021 @08:29AM (#27948685)
To be fair, this can also be because one random developer suggests this, management hears a fancy new term for their buzzword bingo, and they decree that that tech shall henceforth be used.
Re:Agile at 20: The Failed Rebellion by sorokod on Sunday July 25, 2021 @05:07AM (#27947822)
"CV driven development" is a thing. "I am bored with the old framework, let's use the new shiny one" is a thing.
Re:Agile at 20: The Failed Rebellion by brtkdotse on Sunday July 25, 2021 @04:52AM (#27947760)
I can find a ton of devs paying lip service disagreeing, but the second they utter “we need to rewrite this in…” the facade falls apart.
Re:Agile at 20: The Failed Rebellion by choeger on Sunday July 25, 2021 @05:06AM (#27947813)
Management in turn doesn't pay any attention whatsoever to the technology. They have no idea how quality and productivity is influenced by outdated or poor choices or simply a lack of investment into maintenance.

You need people that care about the how you do it as much about the why and the what. Everything else is going to be disfunctional rather soon.

Re:Agile at 20: The Failed Rebellion by Ma8ee on Sunday July 25, 2021 @07:51AM (#27948465)
It’s part of your job to explain that to them. And you have to do it in business terms, that is, how it will impact budget and schedule for the project. And prepare for questions like “ok, you have convinced me that Kotlin is superior to Java, but you are the only one in the team with any Kotlin experience, and we have a rather hard deadline for this project in 9 months. Are you hundred percent sure that we will both manage to train the team and deliver in that timeframe? And you know Karl, who’s retiring in a few years, he doesn’t seem to be very eager to learn something new. And he’s a damn productive Java programmer.”
Re:Agile at 20: The Failed Rebellion by sorokod on Sunday July 25, 2021 @05:40AM (#27947939)
I would argue that technology is in general not management's responsibility, but resource allocation is.

If you care about quality and productivity, please quantify those and present your findings in terms of tradeoffs.

Re:Agile at 20: The Failed Rebellion by rgblambda on Sunday July 25, 2021 @09:33AM (#27949059)
When I hear “we need to rewrite this in…”, it's usually because someone isn't familiar with the language it's currently in and wants to switch to the old language/framework they like best. I don't think I've ever actually heard someone trying to advocate for shiny new x just because.
Re:Agile at 20: The Failed Rebellion by tchalla on Sunday July 25, 2021 @05:26AM (#27947892)
It’s a constant daily struggle to explain technology experts that inferior technology with superior business/customer/product results can be prioritised over superior technology with inferior business/customer/product results.
Re:Agile at 20: The Failed Rebellion by avereveard on Sunday July 25, 2021 @05:38AM (#27947927)
The whole JavaScript ecosystem
Re:Agile at 20: The Failed Rebellion by ratww on Sunday July 25, 2021 @08:01AM (#27948525)
I'm all for shitting on the JS ecosystem, but honestly there haven't been any noticeable shifts whatsoever in its ecosystem for at least 6 or 7 years now.

Both React and Vue.js are now older than jQuery was when both were released. Same for Babel and Webpack. Typescript is older than all of these. SASS/SCSS also older than Typescript. Those are the only things you see in 99% of the frontend job descriptions out there.

If anything, frontend is kinda boring, and it can be argued that some of those tools above need some disruption.

Re:Agile at 20: The Failed Rebellion by avereveard on Sunday July 25, 2021 @08:31AM (#27948694)
They keep releasing versions that break backward compatibility forcing whole app rewrite left and right, that counts too
Re:Agile at 20: The Failed Rebellion by ratww on Sunday July 25, 2021 @06:56PM (#27953716)
The track record for compatibility in the tools I mentioned is extremely good. Even when new approaches were launched (Hooks, Composition in Vue), backwards compatibility was kept. You can even mix and match approaches in the same app. Of course there's Angular, but that's the exception to the rule.

Heck, Microsoft has completely changed the way of writing native Windows apps in the last 10 years more ways than Javascript frameworks have introduced new stuff. Apple even changed the language to one that (unlike Typescript) is not backwards compatible. Complaining about the JS ecosystem evolving too fast is anachronistic, that happened more than 8 years ago.

Re:Agile at 20: The Failed Rebellion by CRConrad on Sunday August 01, 2021 @04:13PM (#28029464)
> Heck, Microsoft has completely changed the way of writing native Windows apps in the last 10 years more ways than Javascript frameworks have introduced new stuff.

No they haven't. You still write them in Delphi or Free Pascal / Lazarus just the same way you did ten years ago.

Oh, you meant "the way of writing native Windows apps" with Microsoft tools? Yeah, well... Heard the old joke about the guy who complains, "Doctor, doctor, it hurts when I do this!"? My answer is the same as the doctor's: Well, don't do that then.

Re:Agile at 20: The Failed Rebellion by treeman79 on Sunday July 25, 2021 @09:44AM (#27949126)
Had a year long project in Angular. Most of the time was spent rewriting the app and learning the right way “again”
Re:Agile at 20: The Failed Rebellion by watwut on Sunday July 25, 2021 @03:58AM (#27947555)
But agile project get effed where management is not messing into internal process too. Developers make agile into hell too.
Re:Agile at 20: The Failed Rebellion by klodolph on Sunday July 25, 2021 @06:56AM (#27948248)
It’s easy to blame management but there are also good reasons for it.

The naïve thing to do when you’re a manager is to manage more in response to problems. When you start out with an agile process, and you manage more / manage harder, you end up with no agile process at all.

Scrum masters / agile coaches are very hit or miss. Just like managers, just like programmers. Management takes the blame because their failures have a larger blast radius.

Re:Agile at 20: The Failed Rebellion by andrei_says_ on Sunday July 25, 2021 @03:51PM (#27952347)
There’s a fascinating talk by Dave Thomas, one of the authors of the agile manifesto, speaking of the simple meaning of the manifesto and the insanity of the Agile Industrial Complex bureaucratic cult created around it.

Agile is Dead - https://m.youtube.com/watch?v=a-BOSpxYJ9M

Here’s a blog post by him: https://pragdave.me/blog/2014/03/04/time-to-kill-agile.html

Re:Agile at 20: The Failed Rebellion by commandlinefan on Sunday July 25, 2021 @04:56PM (#27952834)
The Agile Manifesto never came out and said so, but it only ever made any sense if you give up the idea of a fixed delivery date. Of course, the idea of a fixed delivery date for a software project never made sense in the first place, but you’ll have to pry that nonsense from their cold dead hands. Big-A “Agile” is an attempt to keep what they (think they) want… so it ends up being useless.
Re:Agile at 20: The Failed Rebellion by zugi on Monday July 26, 2021 @09:48AM (#27959297)
Or you can have a fixed delivery date, but not a fixed feature set. If a feature isn't ready by the release date, it gets pushed to the next release. If you deliver often as agile encourages, this is a fairly short delay.
Re:Agile at 20: The Failed Rebellion by felipellrocha on Sunday July 25, 2021 @09:45AM (#27949128)
This reeks of “no true scotsman” to me. They claim is the manifesto, but the author even makes the claim that his process allowed engineers “a month of time without management intervention (a sprint length of 4 weeks). The author being one of the original signers and creator of scrum.

If that’s not following a plan over responding to change, i don’t know what is.

Re:Agile at 20: The Failed Rebellion by steveBK123 on Sunday July 25, 2021 @09:32AM (#27949056)
The problem is most agile followers take "Responding to change over following a plan" to mean Don't plan. So you have 100+ person organizations running in a direction quickly for 2 week sprints to find out what the new direction they are going to run once they get there.
Re:Agile at 20: The Failed Rebellion by walshemj on Sunday July 25, 2021 @11:02AM (#27949653)
Exactly I did a couple of very early agile projects for BT in 94 One using RAD/DSDM and one using a waterfall design with a RAD development phase
Re:Agile at 20: The Failed Rebellion by ako on Sunday July 25, 2021 @05:44AM (#27947961)
Problem is that most developers think they're in product manufacturing rather than product design. If only the requirements were clear, we could build it right in one go.

Agile tries to turn software development into a product design process rather than a product manufacturing process. Together with the client, iteratively you try to find the right solution and design for the customer problem.

By being easy to adopt, software lends itself to an iterative design process, where you adopt it multiple times based on the iterative feedback of the customer. But this means that at the end of the design process, you can skip the manufacturing part, as you've already built the software during design.

Alternatively you could argue that this is too expensive, inefficient and slow, and you need some design before you begin to manufacture software. Modeling tools could help here, e.g, low code tooling like CAD tools in fysical product design.

Re:Agile at 20: The Failed Rebellion by felipellrocha on Sunday July 25, 2021 @01:22PM (#27951038)
> Problem is that most developers think they're in product manufacturing rather than product design. If only the requirements were clear, we could build it right in one go.

Oh, man. I think you hit the head of the nail. One succinct phrase that describes the entire problem.

Re:Agile at 20: The Failed Rebellion by CRConrad on Sunday August 01, 2021 @04:29PM (#28029605)
Two, actually. :-)

(And I think for completeness' sake the next two need to be included too.)

Re:Agile at 20: The Failed Rebellion by mirekrusin on Sunday July 25, 2021 @03:14AM (#27947402)
I don't think agile was meant to take everything client says without critical thinking. Quite opposite actually, it encourages dialogue. Often developers know better how to solve certain problems.

Early in my career somebody said something like "make sure you distinguish between <<what they (customers) want>> and <<what they need>>.". This thought stuck with me for years and in my opinion has been reposible for success I witnessed.

It's important to unwrap "what they want" so you, as developer, can apply more first principle thinking to arrive at "what they need".

BAs have tendency to project their own solutions, however when unwrapped so you see the problem that needs solving, you may arrive at solution that is simpler (like orders of magnitue is not that rare in my experience), reflects reality better, takes advantage of somehow hidden from BAs PoV system internals etc.

Agile enouraged dialogue is the platform where those ideas can surface.

Re:Agile at 20: The Failed Rebellion by catmanjan on Sunday July 25, 2021 @02:24AM (#27947183)
I thought agile hedged against that by getting product in front of customers early - they may not know what they want but if you show them 100 things they don't want you'll probably be close
Re:Agile at 20: The Failed Rebellion by pjmlp on Sunday July 25, 2021 @02:32AM (#27947217)
That is the theory, except on the customer side you actually need the people that will use the product.

Usually what happens is that you get a customer team, that is supposed to voice how the organization wants the software to be.

So the same mismatch is bound to happen anyway.

And when they do involve the people from the field, depending on the company culture, they might even be quite positive on the demos (cause being negative isn't good) and then completely find it unusable on final delivery.

Agile misses that many engineering teams lack people skills to actually navigate and avoid these scenarios.

EDIT: several typos

Re:Agile at 20: The Failed Rebellion by Clewza313 on Sunday July 25, 2021 @02:40AM (#27947247)
This is (IMHO) the biggest single miss in most attempts to be "Agile". The customer/end user is supposed to be embedded in the team, doing actual work with the program, raw and hacky as it may be. This way the feedback is immediate and accurate. Passively watching smoke and mirror demos once every sprint is a far cry from this.

Of course, this isn't applicable/possible for all types of software (you can't really iterate your way to an MVP nuclear reactor) but there's less of this than you'd think.

Re:Agile at 20: The Failed Rebellion by nicoburns on Sunday July 25, 2021 @05:11AM (#27947838)
One key part of this that a lot of businesses miss is that this means that every member of the team shoul have direct contact with thw customer, not just a "point of contact"
Re:Agile at 20: The Failed Rebellion by 2sk21 on Sunday July 25, 2021 @06:40AM (#27948182)
This is a good point. However in practice we wind up with a number of gatekeepers between the developer and the actual users. These gatekeepers are both on the customer side and the developer side. For example on the developer side, sales people typically do not like being disintermediated since it reduces their relevance. On the customer side, managers often do not want outside developers bothering their workers.
Re:Agile at 20: The Failed Rebellion by pydry on Sunday July 25, 2021 @08:46AM (#27948770)
As a developer I've had plenty of pointless and unpleasant customer interactions thrust upon me. It's not a good thing.

I have always appreciated product managers who effectively intermediated customers, had deep domain knowledge, managed stakeholder expectations, learned how to interpret what they said (and ignore what isnt relevant), asked the right questions, prioritize effectively and output to me a nice set of, de-noised, ordered, precise answers to the question "what do I do next?"

It's a rare skill. It boosts my productivity immensely when done right. It removes cognitive load from the developer.

Even when POs make mistakes and misinterpret requirements I still appreciate that being somebody else's problem. It quells my anxiety immensely and lets me focus on developing the thing right without having to worry about whether Im developing the right thing.

Re:Agile at 20: The Failed Rebellion by pjmlp on Sunday July 25, 2021 @05:16AM (#27947856)
Because that isn't something their management levels will even consider a possibility, given security concerns, politics, and whatever might come up if the project goes south and a lawsuit is bound to happen.

These agile ideas only work in an ideal world of "we are all friends here".

Re:Agile at 20: The Failed Rebellion by nicoburns on Sunday July 25, 2021 @07:13AM (#27948307)
I'm sure this is true of some companies, but I've definitely seen this done well in a few places. Often software agencies.
Re:Agile at 20: The Failed Rebellion by walshemj on Sunday July 25, 2021 @11:25AM (#27949822)
Co located teams is what you really need (sorry WFH fans)
Re:Agile at 20: The Failed Rebellion by detaro on Sunday July 25, 2021 @12:34PM (#27950503)
The best "agile" experience I've had was with a team spread across the continent. Good communication & process != co-located. (And if your customer is external, it even puts them on a more equal footing)
Re:Agile at 20: The Failed Rebellion by walshemj on Sunday July 25, 2021 @04:08PM (#27952481)
Ok it might be "good" but its not the best "communication & process " you get with collocated teams.

The skunkworks teams the developed the Apple MAC is one very good example.

Re:Agile at 20: The Failed Rebellion by pjmlp on Sunday July 25, 2021 @12:26PM (#27950427)
Try to sell that to corporations with distributed teams, on the RFP answer.

The majority will rather pick other vendor that doesn't propose such change into their internal processes.

Unless they are asking for consultation on how to change work processes, that is.

Re:Agile at 20: The Failed Rebellion by walshemj on Sunday July 25, 2021 @04:10PM (#27952493)
That would not be Agile then - Agile trades off almost every thing for speed.
Re:Agile at 20: The Failed Rebellion by pjmlp on Sunday July 25, 2021 @05:02PM (#27952887)
Hence why it is in its current adoption state.
Re:Agile at 20: The Failed Rebellion by heisenbit on Sunday July 25, 2021 @04:07AM (#27947583)
Agile willfully closing eyes to skill mismatch is a wider problem. Complex projects have a need for specialization and I cringe every time when new teams or scrum ‚masters‘ ignore that.
Re:Agile at 20: The Failed Rebellion by pjmlp on Sunday July 25, 2021 @04:56AM (#27947776)
Yep, just pick whatever ticket you feel like working on, for example.
Re:Agile at 20: The Failed Rebellion by AndrewKemendo on Sunday July 25, 2021 @01:07PM (#27950895)
And in the process you have burned out the client who hired you so that they didn't have to make decisions.

"I thought this was your job" is something I've heard a few times from clients when we have sent over wire frames or beta applications.

Re:Agile at 20: The Failed Rebellion by tarsinge on Sunday July 25, 2021 @04:58AM (#27947780)
We kind of successfully to that in my shop, the early stage product usually being graphic mock-ups (wireframes may not be enough when the client really lacks product vision) to iterate fast.
Re:Agile at 20: The Failed Rebellion by fsloth on Sunday July 25, 2021 @03:33AM (#27947461)
I disagree mildly all succesfull products are pure accidents.

Especially in B2B and technical realm it is feasible to actually plan in every sense of the word "plan" a new product - business, tech, etc. Of course the plan must be malleable on the facts on ground. And probably is incorrect on a few places. But never the less, a plan that will get a business from place a (no product, but strong understanding of customer needs and business plus strong technical savvy) to place b (final product, customers, revenue etc).

I've seen this many times, both in startups with a new product and new customers (automotive software) and established companies that just expand their existing portfolio (cad software).

I'd say the "not an accident" is feasible if these facts are in place:

- enough A-team players (tech,business,sales)

- healthy culture (that facilitates long term growth and can focus on the product without too much politics)

- understanding of customer business

- identified an OBVIOUS need for the customer

- strong engineering org (can be just a few coders that get things done or larger)

So I agree, you can't train for these requirements like you can train airplane pilots.

But I do claim you can have enough understanding that is the current org in possession of these qualities. And if it is, it's a very reasonable risky investment to try to create a product for the need.

Re:Agile at 20: The Failed Rebellion by RandomLensman on Sunday July 25, 2021 @02:41AM (#27947259)
The vast majority of software is not for flywheel type situations.

For internal customers or in B2B settings getting the actual users and outcome owners involved early is vital - but they are often poorly incentivized to get into the action as there are layers of business mangers etc in place that are supposed to stand in (but lack the detailed knowledge).

Re:Agile at 20: The Failed Rebellion by mytailorisrich on Sunday July 25, 2021 @02:53AM (#27947319)
"Customers don't know what they want": this is something Agile specifically tries to address by releasing often and adapting to change. This is a quick feedback loop: the customer can quickly see a product and the development can quickly adapt.

What was the 'standard' way to develop systems when the Agile Manifesto was written: the same as for building a bridge.

You gather and freeze requirements. You write a massive plan and plenty of specs. You code accordingly. You deliver.

Time to working software is long and a lot of the effort that goes into specs is wasted, especially for design specs.

Re:Agile at 20: The Failed Rebellion by eesmith on Sunday July 25, 2021 @03:34AM (#27947463)
Your characterization is not true. The reality was quite the opposite.

Here's the introduction of Steve McConnell's "Rapid Development" from 1994 - well before the Agile Manifesto! - Chapter 1, page 1:

> The product manager told me he wanted to build a product right for a change. He wanted to pay attention to quality, prevent feature creep, control the schedule, and have a predictable ship date.

> When the time came to actually do the project, it became clear tha getting the product to market quickly was the only real priority. Usability? We don't have time. Performance? It can wait. Maintainability? Next project. Testing? Our users want the product now. Just get it out the door.

> This particular product manager wasn't the manager on just one product. He could have been almost any product manager I've worked for. This pattern is repeated day after day, state by state, all across the country. ...

This is as far from building a bridge as you can get. The next page of the book starts:

> [1.1] What is Rapid Development?

> To some people, rapid development consists of the application of a single pet tool or method. To the hacker, rapid development is coding for 36 hours at a stretch. To the information engineer, it's RAD - a combination of CASE tools, intensive user involvement, and tight timeboxes. To the vertical-market programmer, it's rapid prototyping using the latest version of Microsoft Visual Basic or Delphi. To the manager desperate to shorten a schedule, it's whatever practice was highlighted in the most recent issue of Business Week.

Agile drew from earlier methods ("intensive user involvement", "rapid prototyping") which were pretty common even before Agile.

Re:Agile at 20: The Failed Rebellion by CRConrad on Sunday August 01, 2021 @04:44PM (#28029765)
> Steve McConnell's "Rapid Development" from 1994 - well before the Agile Manifesto!

> > To the vertical-market programmer, it's rapid prototyping using the latest version of Microsoft Visual Basic or Delphi.

Huh? Did you get the year wrong, or was he referring to a brand-new / not yet released / tool as a "standard" for some segment of his audience? AFAICR, Delphi was introduced in 1995, or at the very earliest, late 1994. Feels weird that he should mention it in a book published in 1994.

Re:Agile at 20: The Failed Rebellion by mytailorisrich on Sunday July 25, 2021 @05:23AM (#27947883)
The 'standard' method is the waterfall model, which proceeds like you would for a bridge (of course this is just an approximate analogy) from specs, to architecture, detailed specs, implementation, and tests.

Of course the shortcomings of this model have been known for a long time to anyone building software and so a number of other models appeared.

Re:Agile at 20: The Failed Rebellion by eesmith on Sunday July 25, 2021 @03:03PM (#27951910)
What does "standard" mean to you?

From what I can tell, that assertion is common in Agile advocacy.

But from my experience as a professional software developer in the 1990s, and from reading stories about software development, waterfall was not used at Apple, Be, Commodore, Data General, Infocom, Microsoft, VisiCorp, and more.

That's not to say no one used a (modified) waterfall model. Simply that I haven't found evidence that it's meaningful to say it was the standard development model. [1]

[1] Technically, DOD-STD-2167A's apparent bias towards waterfall was a "standard", but I don't think that's what most people mean in this context, and in any case it was replaced by MIL-STD-498 in 1994, well before the Agile Manifesto.

Re:Agile at 20: The Failed Rebellion by mytailorisrich on Sunday July 25, 2021 @04:35PM (#27952687)
I put 'standard' in quotes and meant that it (and its derivatives) was widespread. I'm sure not all companies used it, perhaps it also varied by domain. My experience is that it was indeed common, and still somewhat is. I read at my first job 20 years ago we had to take a training on the V model, which is derived from the waterfall model. It has also always been common in my experience to write plenty of detailed specs before writing any code, for instance.

I don't see much value in debating this. It seems clear to me that the people who wrote the Agile manifesto have experience in working in such, or similar environment and reacted to change it. And clearly that way of working was widespread enough and enough of a pain point to strike a cord. Certainly, when I first read the manifesto it struck a cord and I understood exactly where they were coming from. I think it is spot on.

Re:Agile at 20: The Failed Rebellion by eesmith on Monday July 26, 2021 @02:24AM (#27956300)
I can agree with "standard in [domain]", as there are many domains know nothing about.

What raises my hackles is the lack of any qualifiers, given how rarely it's used in the projects I know about.

Re:Agile at 20: The Failed Rebellion by throw2500 on Sunday July 25, 2021 @04:44AM (#27947728)
Isn't Agile more or less gradient descent (well, approximating the gradient for an undifferentiable function), applied to software development?

The objective function is some function of the quality of the product, as measured by the customer, and the work put in. The gradient evaluation is then the process of determining which feature gives the most bang for the buck, implementing it, and repeating.

But gradient descent has problems with local minima. So if that's what Agile is, no surprise it doesn't do surprising projects - even if the customer does know what they want. If the programmers are too inexperienced and it's not just a CRUD, then you'll end up with something like Jeffries' TDD Sudoku solver.

Re:Agile at 20: The Failed Rebellion by dragonwriter on Sunday July 25, 2021 @04:58AM (#27947779)
> Isn’t Agile more or less gradient descent (well, approximating the gradient for an undifferentiable function), applied to software development?

Lean is.

Agile is “It would be nice to do what works for your team in your particular challenges, not some pre-packaged one-size-fits-all processes sold by consultants. Now, here’s a bunch of pre-packaged one-size-fits-all processes, and an army of consultants selling them.”

Re:Agile at 20: The Failed Rebellion by rlonn on Sunday July 25, 2021 @03:50AM (#27947526)
You’re right that customers don’t know what they want and that can make it a bad idea to include them in the dev process directly. But is that what Agile is about? I thought it was about iterative development. As a long time product dev I know that you want to follow your own vision when building your product. You let your vision be influenced by customer feedback for sure, but you should always second guess the feedback, never take it at face value, never just build something because a customer asks for it - that would be Henry Ford trying to breed faster horses.
Re:Agile at 20: The Failed Rebellion by lugged on Sunday July 25, 2021 @04:03AM (#27947567)
It's probably better to phrase it being a development method that focuses on a tight feedback loop with all stakeholders.

You push decisions as far out as possible and gather feedback from individuals every step of the way.

This is what allows the greatest amount of flexibility.

The biggest problem with agile is that it assumes all problems can be put off to the last minute.

I'm frequently finding myself in situations where it is 100x better to hammock program it out for a few weeks before pushing any code. Those systems last ten years. Those systems are able to be modified simply and quickly when business needs change. Those systems do build up legacy code, but it's at a slower rate than other systems. Those systems have fewer hacks over time and fewer bugs as a result.

This isn't a dig at agile, it's a dig at using agile as a design process, for which it is utterly inept. Agile is great at pushing products, terrible at pushing thoughtful system design. (On average, sometimes working a problem works too but more often than not you don't get the chance to redo middle sprint 5.)

Re:Agile at 20: The Failed Rebellion by grecy on Sunday July 25, 2021 @04:33AM (#27947679)
> The fundamental problem with Agile is the fundamental problem with all product development: The customer doesn't know what they want

I don't disagree, though I firmly believe Agile does a much better job of dealing with the problem you state than any other software development methodology that has been attempted before.

Is it perfect? of course not. As a methodology, is it better for building software than methodologies that have been used to build enormous physical structures for generations? Undoubtedly yes.

As far as I'm aware, there currently isn't anything better for building complex software with changing requirements (i.e. the real world).

Re:Agile at 20: The Failed Rebellion by Aeolun on Sunday July 25, 2021 @08:18AM (#27948621)
> Agile assumes as a first principal that including the customer throughout the development process will align the building team and the customer to come to the same conclusion.

The only thing that is less likely to have the building team and customer come to the same conclusion is to add many more layers in between.

I’ve seen where that ends. It’s not a good place.

Re:Agile at 20: The Failed Rebellion by austincheney on Sunday July 25, 2021 @05:16AM (#27947855)
> The customer doesn't know what they want

If that were true the customer never drop you for the competition. The customer will drop you in a heartbeat.

The customer cannot express what they want in a language you can articulate which is something amazingly different. As a product manager you need to account for that.

Re:Agile at 20: The Failed Rebellion by Robin_Message on Sunday July 25, 2021 @05:44AM (#27947960)
I'm not sure if Agile ever claimed to be a good process for coming up with unicorn startups though.

It's a way to meeting actual business software needs, much more suited to custom development for one customer than product development, which necessarily requires some additional insight into what the market wants.

Re:Agile at 20: The Failed Rebellion by xg15 on Sunday July 25, 2021 @07:21AM (#27948333)
So then, what do you advise to do? Give up?
Re:Agile at 20: The Failed Rebellion by AndrewKemendo on Sunday July 25, 2021 @01:12PM (#27950949)
Develop product engineers to be better. Have empathy and communicate with the target customer more clearly and understand the landscape better.

That's pretty much all you can do. How you organize it only matters insofar as it makes your team effective - sprints, waterfall, XP whatever... is kind of a toss up and context dependent.