Live data from Hacker News

Coconut Headphones: Why Agile Has Failed

mikehadlow.blogspot.co.uk

91–100 of 133 posts

Re: Coconut Headphones: Why Agile Has Failed

#91

Earlier quoted context omitted.

I think you are missing a couple, somewhat related failure modes. First, if the software project is part of a larger integrated hardware/software project, people above the project manager may be making promises of deliverables without consulting the program manager at all, thus creating externally-imposed deadlines that cannot be changed without rippling through to other teams, who may or may not be in your own compa…

Disclaimer: I've only recently decided to Stop Worrying and Love the Scrum, so my perspective on the subject may still be heretical. That said: I think these are not failure modes that can be laid at Agile's feet. They represent a situation that Agile quite explicitly does not even attempt to fix. A key part of the (for lack of a better word) Zen of Agile is that on anything above the smallest of scales, it's impossi…

Yes, you've definitely got the theory. In a well-run Agile shop, dates are derived from the backlog and the team's observed pace.

I'll add that Agile teams should also have something releasable every iteration (which ideally is every week). When that's true, dates are less of a problem. Instead of managers sweating engineers over when it will be done, managers in an Agile context spend their time arguing with other managers about the business question of whether to release something small and soon or something bigger and later.

In a well-run Agile context, anyhow. If you're not seeing those behaviors, but instead see the traditional drama, a high-pressure single convergence on a fixed date with fixed feature goals, then it's the sort of faux Agile this article is talking about.

Re: Coconut Headphones: Why Agile Has Failed

#92

All these late "agile has failed" posts are out of touch with reality. They assume that it is always possible to get the best developers and best managers to work with the problem on hand. I'm a consultant. Officially my title is Senior Test Engineer and usually my job is to go to a company where shit has already hit the fan or will hit in a short time. The reality is that the company has a bunch of developers who ar…

I think you've mainly missed the point of his article, but let me address the last bit, about non-technical managers.

The way to reconcile his view and yours is to have parallel engineering and product management structures. There are non-technical product managers, but there are no non-technical engineering managers. Every team has engineers and a product manager, but neither reports to the other.

That way you get people dedicated to understanding needs without putting them in charge of things they aren't qualified to understand.

Re: Coconut Headphones: Why Agile Has Failed

#93
post #23

Earlier quoted context omitted.

This. So much this. I got involved with Extreme Programming in 2000. Loved it. Best thing since sliced bread, yadda yadda. I was completely spoiled for other kinds of work. So when that contract ended, I went looking for other opportunities to do XP. But guess what? In 2001, there weren't any. So I started teaching people how to do it. Bam! I'm a consultant. Several lean years later (I don't mean Lean, I mean ramen),…

So for someone that wants to study the non-watered down management version of "Agile", which books would you recommend? And just out of curiosity, are there any popular Agile books that you would not recommend?

To James's suggestion, I'd add Beck's Extreme Programming Explained. At this point the book is pretty old, and we've learned a lot since then about how to do things well. But as far as seeing the roots of it, I think that's still a good resource.

Re: Coconut Headphones: Why Agile Has Failed

#94
post #66

I found that in my team that agile worked brilliantly for us at first - we were working together to create features that customers loved. Then support queries came in for the features we developed previously. At first a couple of team members would split off and work on the existing features while the rest of us carried on working on the new hotness. As we increased the number of (quite diverse) features, the more di…

I think the error here is a common but artificial distinction between "existing features" and "new features".

From the point of view of a well-run Agile team, there's just work to do. It all gets managed through the same process. One queue, one team.

In my last team, we created a rule that when you finished something, you'd just pull the next card at the top of the stack. You could ask for help as needed, but it was your job to see that card through to completion. That forced us to cross-train. Which was certainly fun. But it also really helped us to make better software. It was very consistent, both on the surface and under the hood.

Re: Coconut Headphones: Why Agile Has Failed

#95
post #92

All these late "agile has failed" posts are out of touch with reality. They assume that it is always possible to get the best developers and best managers to work with the problem on hand. I'm a consultant. Officially my title is Senior Test Engineer and usually my job is to go to a company where shit has already hit the fan or will hit in a short time. The reality is that the company has a bunch of developers who ar…

I think you've mainly missed the point of his article, but let me address the last bit, about non-technical managers. The way to reconcile his view and yours is to have parallel engineering and product management structures. There are non-technical product managers, but there are no non-technical engineering managers. Every team has engineers and a product manager, but neither reports to the other. That way you get p…

If you have two parallel organizations that interact tightly but have no power over each other, you end up needing a mediator. This usually ends up being project management, or "the process". This is where you get the mixed bag in companies with mediocre talent levels -- usually they don't have anyone who understands the needs of both the engineers and the business. The level of process usually either chokes the engineers' productivity or ends up not giving the business what they need.

Again, it's possible to do, but it takes talent that understand both the business needs and how to manage a development organization (note: this is not the same as knowing how to code.) That's rare to find through a corporate HR process.

Re: Coconut Headphones: Why Agile Has Failed

#96

The article closes with this idea: @sbellware we should bury agile, mourn the dead, and get on with establishing something that is designed to be resistant to being so easily undermined https://twitter.com/sbellware/status/443397344436817920 Which makes me wonder, is it even possible to create a "thing" (idea, movement, methodology, system, whatever) that is resistant to being undermined? I don't think so. It seems l…

The one big mistake I think the Agile people made is not trademarking the term Agile and then enforcing some standards. There was discussion early on, but for some reason it never happened. For Agile it would have been hard, because Agile isn't a methodology on its own; it's an umbrella for a bunch.

Enforcing standards doesn't make it proof against being undermined, but it does make it harder. There's still a tradeoff between being popular and being great that's hard to resolve. Especially since a popular, non-great thing is more likely to get lots of money and attention.

Re: Coconut Headphones: Why Agile Has Failed

#97

All these late "agile has failed" posts are out of touch with reality. They assume that it is always possible to get the best developers and best managers to work with the problem on hand. I'm a consultant. Officially my title is Senior Test Engineer and usually my job is to go to a company where shit has already hit the fan or will hit in a short time. The reality is that the company has a bunch of developers who ar…

I've read your comments a couple of times and still can't really see what you've added. You're talking about very abnormal situations. Companies that are so technically incompetent they have to hire you. And then saying that we should listen because in your abnormal experience of dealing with teams so dysfunctional they can't even ship bad software that agile at least gets them going a little bit. I suspect almost an…

I disagree. The "companies so technically incompetent they have to hire consultants" are the norm. Think Fortune 500 companies developing internal software tools here; a lot of these guys are still stuck in the "we release software every year and hope the requirements haven't changed" mindset. Meanwhile the "customer" expectations have changed: people expect faster releases because Google, Facebook, Netflix, etc. update their shit every month. The business environment changes quickly too; the old development ways just aren't fast enough to keep up.

Agile helps force groups like this, who have been doing things a certain way for a long time, to re-think how they manage requirements and release schedules. Most likely, the developers at the bottom level have been screaming about this for years, but middle management doesn't hear them because they're stuck in meetings all day having to explain why all their projects are over budget because change management costs are through the roof. Along comes Agile as a solution to all of this.

This isn't a technical problem, it's a management problem. So yeah, a lot of these companies hire consultants to come in and tell them how/what to do because consultants have no skin in the game and aren't involved in the typical petty management squabbles.

Re: Coconut Headphones: Why Agile Has Failed

#98

Earlier quoted context omitted.

Yes, the idea that almost everyone considers themselves to be a better than average driver. I've always wondered with that whether the problem is with the question. What it's really checking is whether someone will admit to being worse than average, which is a very different thing to thinking you're worse than average.

In "thinking fast and slow", I'm sure the author gave an example of something people will all admit to being below average at. Googling it, the example given is "starting conversations with strangers" and his theory is that people ignore the question they are asked ("how they compare with average") because it's hard/impossible to actually answer, and instead, without realising it, substitute an easy question ("are yo…

That's interesting. I have Thinking Fast and Slow as an audiobook I've not yet got round to listening to.

Does he talk about other theories? I wonder if there's also an element of what the person has tied up in that skill and what the consequences of being bad at it are?

Certainly it seems unlikely that anyone would want to admit to being bad at their job (kind of tantamount to admitting to be a fraud), or at something which, as with driving, can be actively dangerous if you're bad at it.

Re: Coconut Headphones: Why Agile Has Failed

#99

All these late "agile has failed" posts are out of touch with reality. They assume that it is always possible to get the best developers and best managers to work with the problem on hand. I'm a consultant. Officially my title is Senior Test Engineer and usually my job is to go to a company where shit has already hit the fan or will hit in a short time. The reality is that the company has a bunch of developers who ar…

Agile is the new RUP. The main audience is shifting toward the shitties. It's the circle of life for cultural movements. Nothing wrong with Agile. It's just not my thing anymore.

I've actually come to the conclusion Agile propagates poor developers and poor managers.

I've known some really good developers who go belly up in Agile systems because they can't cope with the tight deadlines, having to ship something in two weeks, or people constantly breathing down their necks.

Over the years, I feel like Agile has been used to deliver mediocre products, and in turn, turned good developers into shitty developers simply because the "business" wants to ship something a lot sooner than it should be. It's a downward spiral since all they care about is something getting built, not the inherit quality of said product.

Hence, its because of Agile there are shitty developers and shitty products being shipped, not the other way around.

Re: Coconut Headphones: Why Agile Has Failed

#100

Earlier quoted context omitted.

Unless you have a very oddly skewed set of people, by the definition of average most people are average (or close to it)...

I think you missed the part where he implied that what programming culture considers "good" software is nothing short of a near-perfect to perfect technical implementation. In other words: what the other guy called "shitty" is actually the average. See also the odd thing that most people consider themselves better than average, which by definition cannot be true.

I'd like the flip that thinking on it's head a bit. It's not about "average" or "better or worse" than average. The need to put yourself and others into some sort of ranking stems from the need to categorize everything into a hierarchy.

I'm talking about something more binary. Good or bad. Progress or stagnation. The right or wrong side of history.

I'm also talking about power. Who determines engineering practice. The engineers or the marketers?

Evidence of power is in the corporate hierarchy. Are there n tiers of middle management? Can an engineer truly make a difference at a company? Will the engineer be able to have a voice in what the priority is?

Post reply on HN