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 not, and it can't be made so. Programming is a highly skilled craft. Good code is written by good programmers. Bad code is written by bad programmers. Bad management can hobble good programmers, but no form of management can make bad programmers write good code…
Warning Signs that Agile Is Declining
51–60 of 95 posts
Re: Warning Signs that Agile Is Declining
#52Oh 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…
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 else separate the points a bit to make them stand out more (I'm not 100% sure you can do that last bit in Kindle though).
There are other things, but those are the two that I immediately noticed.
Re: Warning Signs that Agile Is Declining
#53Earlier 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…
Agile is born from rapid prototyping and makes a lot of sense for that environment. If you're doing work where one day you might be developing one thing, and the next day you might be working on a completely different product altogether, then reducing the cost of change is the only thing that makes sense. If you're not, then don't use pure agile, it doesn't make that much sense.
There's obviously an issue with one size fits all approaches to agile, and as agile matures people realize that more and more, instead of forcing you to do everything by the book. The point is, as you get more and more experience with driving software projects, you need to be smart enough to understand what will make sense and what won't.
Re: Warning Signs that Agile Is Declining
#54Earlier 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…
If you are lucky enough to work in a domain where you can reliably plan years or decades ahead, then you can still happily use Agile methods. Incremental delivery still lets you get more for your money by putting the most valuable parts of the system in production first.
But if, like most people, you have competitors, or if you learn new things when you put your product in the hands of users, then the ability to respond to change is absolutely vital. In that case, holistic reasoning is an ongoing process, not something that happened once, years ago.
Re: Warning Signs that Agile Is Declining
#55Earlier quoted context omitted.
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…
It really depends on the kind of project you're working on. Some modern Agile authorities (see Balancing Agility and Discipline: A Guide for the Perplexed) will tell you that you should tailor the process to your specific requirements. They would never recommend that you use XP for the development of life-critical software that has hundreds of engineers working on it. Agile is born from rapid prototyping and makes a…
Agile methods were born from in-house enterprise software projects. The ur-project for Extreme Programming was a payroll system, and SCRUM's was something similarly dull. The original SCRUM paper says, "Scrum is concerned with the management, enhancement and maintenance of an existing product[...]. Scrum is not concerned with new or re-engineered systems development efforts."
If I'm doing rapid prototyping, that's when I'm least interested in Agile techniques like pair programming, test-driven development, and refactoring. Those only really pay off in the long haul.
Re: Warning Signs that Agile Is Declining
#56"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.
Anyway, it is possible to bring Agile to a large organisation, but it generally needs first to solve tooling and build problems - I would not start a single sprint until there was source control, complete automated build, and enough tests to be reasonable. Amazing how much pain can be endured by teams. That much pain can teach you not to care.
Re: Warning Signs that Agile Is Declining
#57Isn't this a sign that "agile" as he is defining it simply isn't working? More importantly, why is this a bad thing? We don't really think that this process was "the" process that would stick for the next hundred years, did we?
What most people are doing under the name "Agile" bears little resemblance to what many of the early adopters used the name to mean. Not that anybody thought it would be the One True Process. As one of the XP originators says, "Extreme Programming isn't where you'll end up. But it's where you should start."
Re: Warning Signs that Agile Is Declining
#58The devil is in the details. You still need competent people to determine and estimate tasks, and to implement those tasks. Implementation is the biggie. How do you design the implementation? How complete are your tests? What are the important requirements of the task? There seems to continue to be this idea in management that process will take the place of skilled programmers. That you can then just plug any program…
This is true, but it's not what Agile originators meant. The early Agile stuff was exactly the opposite. E.g. the initial SCRUM paper starts out talking about "Small teams of competent individuals, working within a constrained space that they own and control." Extreme Programming specifically removed from management the power to arbitrarily mandate a schedule:
http://www.techrepublic.com/article/extreme-programming-bill...
Re: Warning Signs that Agile Is Declining
#59Getting things done is not that hard. I don't need a burn down chart and some dude with a Dilbertesque PHB role to do my job effectively. I view anyone waxing on about so-called agile in the same light as those who speak of synergistic paradigm shifts in innovation etc.
Sure, you don't. Once you have a team of people, though, you're going to have some sort of process, be it formal or implicit. Especially so when that team includes technical and non-technical people. And they are externally accountable, or face hard resource constraints.
And for what it's worth, the Agile originators were fighting against Dilbertesque PHB roles.
Re: Warning Signs that Agile Is Declining
#60Assuming 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…
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 not all the good practices were "well known and often used". Frequent releases were generally considered dangerous, and weekly iterations were seen as heretical. Unit testing was done by a small number of projects, but mainly in safety-critical areas. Test-driven development was unheard of. Continuous integration was certainly rare, as was using refactoring (supported by high test coverage) as a way to manage change.
Personally, I think the Agile movement is irredeemably doomed at this point. It's basically a question of incentives:
http://agilefocus.com/2011/02/21/agiles-second-chasm-and-how...
However, the current sad mess happened in spite of the good intentions and major discoveries of the people behind the methods that got rolled up into Agile(TM).