Live data from Hacker News

Warning Signs that Agile Is Declining

javacodegeeks.com

61–70 of 95 posts

Re: Warning Signs that Agile Is Declining

#61

Earlier quoted context omitted.

I feel you got it backwards. The whole idea behind agile is to treat programming as a craft and to focus on the people, as opposed to treating development as a production line. Some good readings on the subject: Extreme Programming Explained, Agile Software Development Ecosystems, Balancing Agility and Discipline.

My problem with this is the 4th tenet: "Responding to change over following a plan". Some tasks require lots of planning. When you are building a complex system, you cannot plan as you go, and in some cases your first usable release cannot happen after the first 'sprint'. In this way, agile programming assumes that the programmer cannot make long term development plans, and in fact prevents him from doing so. While t…

Agree. I think of Agile as sort of "the hill climbing of software development" (hill climbing as in the optimization algorithm). If you want to take the analogy to its logical conclusion it's really simulated annealing because in a refactoring you're allowed (with some probability) to back down from the hill in search of another slope. :)

Agree about the line worker thing too, and that I think is a fundamental problem with most methodologies. Great authors write great books. Great programmers write great software. Any methodology that pretends there is a way around that I think is bound to fail.

Re: Warning Signs that Agile Is Declining

#62

Earlier quoted context omitted.

Organizing groups of people to put together something decent in a highly limited amount of time and with humane treatment is extremely hard. I don't see Programming, Motherfucker addressing that in any way.

I don't see much evidence of Agile methodologies addressing that in any way, either. That's rather the point. After this long, if Agile is as superior to the alternatives as its advocates frequently claim, there should be heaps of empirical data miles high to justify each and every practice these consultants charge so much to explain by now. So where are they? The best I've seen any big name Agile consultant cite is…

It would be awesome if somebody would fund those experiments. But since Agile methods are mainly about sustaining high quality over the long term for teams of experts, studies with a useful n would be stunningly expensive.

And honestly, there's no great reason to believe Agile consultants. Most of the market for software process improvement is in helping the clueless and/or terminally lazy. (And there's often even better money in not helping them, but instead just making them feel special.) Plus, a lot of the benefit from particular practices depends on the existing code, the business conditions, and the people involved.

I think the right way to deal with Agile techniques is the same way one deals with new tools or new languages: try 'em for a while and see. E.g., I tried out TDD for a while and ended up liking it a lot. As does the rest of my team, such that they all were specifically looking for test-driven shops when I hired them. But even we tend to only use it on core code; test-driving most UI just doesn't pay off.

Re: Warning Signs that Agile Is Declining

#63

Earlier quoted context omitted.

I feel you got it backwards. The whole idea behind agile is to treat programming as a craft and to focus on the people, as opposed to treating development as a production line. Some good readings on the subject: Extreme Programming Explained, Agile Software Development Ecosystems, Balancing Agility and Discipline.

My problem with this is the 4th tenet: "Responding to change over following a plan". Some tasks require lots of planning. When you are building a complex system, you cannot plan as you go, and in some cases your first usable release cannot happen after the first 'sprint'. In this way, agile programming assumes that the programmer cannot make long term development plans, and in fact prevents him from doing so. While t…

I don't think agile methods necessarily rule out planning. It's possible to combine Waterfall and Agile within the same project, so long as you are clear about what you are trying to achieve.

When I embark on a new project, it's routine for me to spend a couple of weeks with the customer sounding out their requirements and helping them form an initial vision of what they want the software to do. (Big companies call this "business analysis".)

Once I'm reasonably certain what sort of thing the customer wants, I start work on the first "sprint". This first sprint is often quite a bit longer than subsequent sprints, and incorporates the holistic design phase you mention. It's not uncommon for me to spend a month designing and working on this first iteration.

The goal of this first iteration is to capture the essence of the vision without implementing the details. Only once the customer has viewed the results do I reduce the time for each sprint to a week. (I believe two weeks is more common, but this period suits me and seems to fit with what my customers want too.)

A dozen or so iterations/sprints later, and I tend to be done. At least for a while, anyway... inevitably a customer will decide they want another big feature and I start over with the business analysis and the long first iteration followed by shorter incremental steps.

Re: Warning Signs that Agile Is Declining

#64

Earlier quoted context omitted.

Agile is just another in a long line of fads that try to use management "methodologies" to make programming a commodity that can be done by line-workers It's sad that so many people have that perspective. I've always looked at it in the opposite way. I mean, the first part of the agile manifesto is "People over Process" and the first wave of agile evangelists were actual programmers and not fad-prone management types…

Yes, but actual programmers with an altruistic desire to improve the state of software development are never going to be as loud and noisy as various salesmen (agile consultancies, agile coaches, agile tool developers) and hence the latter group of people are going to take over the word "agile".

I totally agree, and it makes me sad.

Just because some snake-oil salesmen are selling it, doesn't mean it's snake-oil, it just means that opportunists smell an opportunity. The altruists who are trying to improve the state of the art are still out there, if you know where to look.

Re: Warning Signs that Agile Is Declining

#65
post #19

"Those things that looked “shiny” a few years ago, like TDD or continuous integration, have lost their shine, and aren’t attractive anymore. Don’t believe me? check out the big conferences – seen these topics lately?" I don't know about TDD, but IMO continuous integration isn't mentioned at conferences anymore because it has won. I haven't seen a software shop not doing continuous integration in years: ranging from h…

> "IMO continuous integration isn't mentioned at conferences anymore because it has won"

Oh if only that were the case! It hasn't won per se, it's just no uncontroversial. Everyone agrees CI is a good thing, but you'd be surprised how many companies still aren't doing it.

Re: Warning Signs that Agile Is Declining

#66
post #60

Assuming facts not in evidence error at line 1: Presumption that Agile ever ascended. The basic problem with the Agile movement is that it took a few proven helpful practices -- almost all of which were well known and often used by experienced software developers before the buzzwords were attached, even if managers didn't realise -- and instead of promoting those, it wrote a "manifesto" so vague that it would make a…

That is approximately the opposite of how it happened. Several different groups of people invented processes that worked for them (e.g., Scrum (1995), XP (1996), FDD (1997), DSDM (1994)). They all liked what they had done, but discovered they had commonalities that were worth talking about. They got together for a long weekend and came up with the Agile Manifesto (2001). Having lived through the transition, I promise…

You're not the only one who lived through the transition. And IME the good practices that are used in Agile processes mostly are the ones that were well-known and widely-used.

People have written automated tests for decades. People have been testing at the interface level since the dawn of OO and before. Put those together and you've got what is now called unit tests.

People have been making small changes to improve the design of code without changing its behaviour forever, too. Fowler published Refactoring in 1999, but even then it was common practice among experienced programmers to work that way. I assume you're not seriously going to suggest that no-one thought of doing things like moving a method up and down a class hierarchy or splitting a long function into a higher level control function using lower level functions for the details before the book was out. (I'm not disputing that Fowler did a good job of pulling a lot of common knowledge together in a way that is helpful to those just starting out.)

I also assume you're not seriously going to dispute that long-term projects have been managed using shorter-term milestones for a very long time. That's hardly unique to software development, never mind to Agile processes.

Every project I've ever worked on professionally has seen developers naturally pair up or form small teams around the same computer or whiteboard to work through difficult problems or review each other's solutions.

People have been doing what is called continuous integration today for as long as there have been source control systems with check-in hooks.

I first had the idea of organising a big project by keeping a pool of little projects and picking out the most important one to do next when I was about 13 or 14, so I rather suspect that plenty of managers were using the same idea to prioritise long before anyone called it a backlog and worked through it in sprints.

I could go on, but I think you get my point.

Now, there are plenty of other practices required by various Agile processes that weren't (in my experience) almost universal among good programmers before Agile came along. They include:

- TDD

- Full-time pair programming (same computer, two keyboards)

- Collective code ownership (everyone owns everything)

- Forcing short-term milestones into periods of exactly the same length

- Frequent meetings (daily in some processes)

- Relying on organic designs that evolve through arbitrary refactoring by individual developers rather than a carefully planned architecture and smaller-scale designs that are peer reviewed by multiple people

If you want to claim those as the gifts Agile has given us, you're welcome to them. As I said before, most of the good practices were already in use, and the consultants mixed in a bunch of unproven ones later.

Re: Warning Signs that Agile Is Declining

#67
post #62

Earlier quoted context omitted.

I don't see much evidence of Agile methodologies addressing that in any way, either. That's rather the point. After this long, if Agile is as superior to the alternatives as its advocates frequently claim, there should be heaps of empirical data miles high to justify each and every practice these consultants charge so much to explain by now. So where are they? The best I've seen any big name Agile consultant cite is…

It would be awesome if somebody would fund those experiments. But since Agile methods are mainly about sustaining high quality over the long term for teams of experts, studies with a useful n would be stunningly expensive. And honestly, there's no great reason to believe Agile consultants. Most of the market for software process improvement is in helping the clueless and/or terminally lazy. (And there's often even be…

> But since Agile methods are mainly about sustaining high quality over the long term for teams of experts

> Most of the market for software process improvement is in helping the clueless and/or terminally lazy.

So are we trying to help teams of experts or the clueless and/or terminally lazy here? I don't know many clueless, terminally lazy experts, so it's got to be one or the other...

Also, experts will evolve a workable process for any given project without needing to follow any particular Agile process to start with. That's one of the reasons they're experts.

Also also, while it's convenient to pretend that no serious studies exist because of the cost, it should still be pretty clear that Agile processes have potential, because there should be a strong correlation between the time many organisations introduce them or which teams within a large organisation have adopted them and an improvement in measurable performance for the Agile groups. Correlation doesn't prove a causal link, of course, but lack of correlation is a strong indicator that no such link exists.

Re: Warning Signs that Agile Is Declining

#68

Oh boy, could I give a good rant about how we're seriously screwing up Agile. In fact, I did -- http://www.whattofix.com/blog/archives/2010/09/agile-ruined-... But as bad as the average Agile adoption is, I disagree with the author. Let's take each of his points: Companies are “doing agile” Yes. As an example, last year I had a huge manufacturing company (which I will not name) ask me to come in to help as an Agile c…

I took a quick look at your ebook - $50 seems pretty steep, particularly when I can't view more than the first page, and I don't know how many pages there are. A table of contents would definitely help know what the book's about. Also, it's confusing how you've laid out the "You're doing it Wrong" parts. I'd merge them, call it "You're doing it wrong if..." (the if... is important) and make it all bullet points or el…

Thanks! I have a TOC -- just need to figure out how to make that available on Amazon.

The book is very short, perhaps 20-30 pages. I make no apologies about that. The point is to be direct and provide lots of instruction. So if you're looking to pay for your book depending on it's weight, not it's usefulness, probably not for you. I know some of the best hacking books I've owned have been short. I'm hoping to make this book more like them and less like those huge encyclopedia monsters I have on my shelf.

For anybody who wants to see some sample pages and the TOC, just shoot me an email. Happy to help out. Also for more book information, check out the landing page I made for it, http://tiny-giant-books.com/scrummaster.htm

Re: Warning Signs that Agile Is Declining

#69
post #19

"Those things that looked “shiny” a few years ago, like TDD or continuous integration, have lost their shine, and aren’t attractive anymore. Don’t believe me? check out the big conferences – seen these topics lately?" I don't know about TDD, but IMO continuous integration isn't mentioned at conferences anymore because it has won. I haven't seen a software shop not doing continuous integration in years: ranging from h…

Never in twenty years have I had the opportunity to do CI with a team, mostly because nobody I've ever worked for invested in such comprehensive automated testing that manual regression tests could be abandoned. Where I'm at now, we literally schedule integrations and releases around what QA has had time to test, and they're guided by project priorities rather than whatever got finished earliest.

This is exactly how it is in the company I work for as well. There has been a half-assed attempt at CI, the guy who was setting it up left before it was finished though, its rather sad that its this way but when a codebase is 10 years old it can be hard to inject new processes.

Re: Warning Signs that Agile Is Declining

#70
post #62

Earlier quoted context omitted.

It would be awesome if somebody would fund those experiments. But since Agile methods are mainly about sustaining high quality over the long term for teams of experts, studies with a useful n would be stunningly expensive. And honestly, there's no great reason to believe Agile consultants. Most of the market for software process improvement is in helping the clueless and/or terminally lazy. (And there's often even be…

> But since Agile methods are mainly about sustaining high quality over the long term for teams of experts > Most of the market for software process improvement is in helping the clueless and/or terminally lazy. So are we trying to help teams of experts or the clueless and/or terminally lazy here? I don't know many clueless, terminally lazy experts, so it's got to be one or the other... Also, experts will evolve a wo…

> So are we trying to help teams of experts or the clueless and/or terminally lazy here?

Me? I'm trying to help teams of smart, well-intentioned people. Which is why I'm happy to share what's worked for me and encourage people to try those things if they're interested. That's what motivates the early Agile people I know.

But consultants are mostly in business to make money, and the bulk of their audience is clueless, so most of what gets sold as Agile today is tuned for them. I go into more detail on that here: http://agilefocus.com/2011/02/21/agiles-second-chasm-and-how...

> Also, experts will evolve a workable process for any given project without needing to follow any particular Agile process to start with. That's one of the reasons they're experts.

True, but that ignores the people who aren't experts yet. They're the ones I care most about. And it ignores the substantial costs of learning all the important lessons yourself; it's often better not to reinvent the wheel.

> [..] teams within a large organisation [...]

Personally, despite 10 years of looking, I have never seen teams within a large organization successfully adopt what I would consider a serious Agile approach. I have seen a lot of large organizations adopt Agile jargon and get nothing out of it, though.

The problem is that Agile methods require a shift in power relations from top-down to bottom-up. Their approaches and values are basically antithetical to a lot of American business culture and MBA dogma. And successful exploitation requires deep change on the business side as well.

I think Agile failed for the same reason that Lean Manufacturing failed here: the important part wasn't the easily observed rituals, but the cultural differences. And the vast majority of the people who are "doing Agile" (whatever that means) would not accept deep cultural change.

Post reply on HN