When Agile Projects Go Bad 139
blackbearnh writes "CIO Magazine has an article up looking at some of the ways that Agile projects can fail, or Agile can be misapplied in organizations. Some of the issues raised may not be new, but folks might want to pay special attention to these, since the people throwing the stones are two of the original Agile Manifesto signatories, Alistair Cockburn and Kent Brock. From the article: 'Once individuals become familiar with Agile, either through training or practice, they can become inflexible and intolerant of people new to the process. Cockburn has seen this in action. "I'm one of the authors of the manifesto, so if I say something 'weird,' they can't tell me I don't understand Agile. But if someone else — and it doesn't matter how many years of experience they have — says something funny, they get told they don't understand Agile."'" Here's another recent article by the same author on the perils now besetting Agile.
It's taken root. (Score:1)
No way! (Score:5, Insightful)
Oooh, the irony! (Score:1, Interesting)
XP is probably the most prescriptive of all methodologies I can recall.
If you aren't following all 12 practices, you're not doing XP. It's ironic that the people that want to shy away from CMMI's use of the term 'discipline', requires more of it than any other. Even RUP is more flexible (albeit bloated on an altogether different scale). CMMI is a model, not a standard, but with XP - it's all 'do it our way or you're not doing agile'. If you dear criticize some practices, there's a chorus of fanboys cryin
SHOCKA (Score:4, Insightful)
Re: (Score:2)
In my experience, bad management coupled with agile programming leads to dramatically worse results, however.
Agile programming requires good management and very experienced engineers to work effectively. Very few organizations have both.
In the several organizations I've been at that have toyed with it, its been a total failure because of that reason -- a failure clear to the engineers involved, and people like myself looking at the mess from the outside, but the management directly involved can't seem to se
Re: (Score:3, Interesting)
Of course, they probably did, and management probably ignored it because the Agile Consultant had a nice suit and a cool car...
Re: (Score:2)
If they were doing Agile development then the management would have been responsible.
What agile needs is buy in. with buy in, bad managers become better managers, developers get work done faster, and with fewer bugs.
I was amazed at the work we got done when I did Agile, but we had buy in through the whole chain.
Our application had 1(ONE) bug found in the year I was there after we finished.
1 bug, 287000 lines of code.
In a vain attempt to keep the "Idiot pedantic"* at bay, yes in was in sue during that year,.
Re:SHOCKA (Score:4, Insightful)
I'll agree with that. Bad management, a top notch team and agile can not only lead to worse results but effectively dismantle the team as well. From the rest of my career experience, assembling that "right" team is a very very hard thing to do. I'd trash almost any product if it meant keeping a high quality, high functioning team.
Agile sort of masks management mistakes for a while and creates the illusion that it's not as important, it places emphasis on the team, encourages team responsibility and the breaking point is when the team is so overloaded that they start to fail. A lot of really good teams will absorb that load for a while though, you'll hear some rumblings but the management mistakes will continues to build. When the load starts to break the team, it's way way too late to fix, the team will fracture and break apart.
I don't like the "2.0" moniker, so I won't call it "web 2.0" or whatever but the current generation of top notch software, lead by Apple and the very few similar companies (come to think of it, I can't name one that is truly similar so much as wants to be and pretends to be, except maybe google) is kind of different. You really have one shot to win or lose the customer, the expectations are exceedingly high, and every product has to pretty much be "lights out" from the start. The old MS "fix it in 2.0" doesn't cut it, there can't be much that needs fixing and in 2.0 you need to further raise the bar, not continues to get in to the game. Web services are a bit different in that you have a little bit more room for mistakes, but not much, the web crowd won't use crap while you figure out the "right way." To put together an itunes or an iphone you need excellence throughout the organization, not a razor sharp dev team and a bunch of morons surrounding them playing iterative games to mask their own incompetence. I think as the rest of the industry wakes up to it and realizes what they have to do they'll realize that it is much harder than it was before. You need a very cohesive management team with vision and high standards that is all on the same page and you can't just pick that up at some seminars. If you have that then maybe Agile might work for you.
Re: (Score:2)
You're being generous. It was more like "fix it in 3.0", and that strategy has never worked for anyone but Microsoft.
Extremist Programming (Score:5, Interesting)
We've had quite a few people around my workplace promoting extreme programming and (fr)agile software development. It's not going to replace lack of talent, lack of planning, or not knowing what the true costs of things are. I think many people in management have taken in only the parts that they want to hear, and ignored the rest. The results of this kind of misapplication are fairly obvious.
My biggest objection is the lack of credible proof that it actually works any better than the tried an true software methodologies.
Re: (Score:3, Insightful)
I think many people in management have taken in only the parts that they want to hear, and ignored the rest. The results of this kind of misapplication are fairly obvious.
My biggest objection is the lack of credible proof that it actually works any better than the tried an true software methodologies.
as a part of a company that only does things the agile way, we have a saying "you cannot do agile, you can only be agile" in short it is completely dependent on the kind of people you have on your team.
Re: (Score:2)
Fair enough. I just don't defend the tried and broken ones, like many do.
Re:Extremist Programming (Score:5, Interesting)
My biggest objection is the lack of credible proof that it actually works any better than the tried an true software methodologies.
But can you provide proof that the "tried and true software methodologies" work?
Our biggest problem in process improvement is that we can't easily measure productivity. If we could, then it would be a walk in the park to determine if one way of doing things was better than another. Instead we can say that project A was successful at meeting its targets while project B was not. Even then management always games the system to claim that their projects were successful. How else would they get promoted?
Lately I've been hearing from a lot of people who claim to agree with agile principles and therefore feel that they must be agile. Whether or not they actually achieve results seems to be secondary. A good example would be, does your team *actually* welcome changing requirements? If not, then I would argue that you aren't agile.
If you read through the agile principles and think to yourself, what would you do to actually achieve this, I hope that people start to realize that becoming agile isn't trivial. In fact, I think many people would argue that it's impossible. Having worked on a couple of teams that were actually agile in this respect, I disagree.
I think scepticism is healthy. But when we're comparing development methodologies it's hard to find ways of comparison. Even though I'm retired from professional programming, if I were to take it up again I wouldn't work in a more traditional setting. Especially one of the XP teams I worked on, while not being particularly exceptional in terms of talent, was one of the most amazing experiences of my career. I highly recommend others to try to get the same feeling. But it is by no means easy.
Measuring productivity (Score:1)
Measuring productivity is easy:
Just give the same projects to 2 teams,
with randomly given different methodologies,
and then see how often and how fast they succeed.
One can then use the usual statistical tools to analyze these results.
Of course this costs a lot.
But not knowing also costs a lot.
Kim0
Re: (Score:2, Redundant)
It also depends on the team members. If one team has people in the top 10%, and the other team has average programmers, the methodology will be mostly irrelevant.
Re: (Score:3, Interesting)
Furthermore, you can't consider a group comprised of people in the top 10% (however you determine that they are) to necessarily perform X amount better than a group that comprises people in the bottom 10%. Supposes your top 10% group contains two genius prima donnas who grow to hate each other? Suppose your bottom set contains a group of jobsworths who don't show much initiative and consequently follow the design plans of the power-hungry one and consequently follow a cohesive and well-delegated plan? How
Re:Measuring productivity (Score:5, Interesting)
Because in real life you rarely find enough of the top 10%-ers to do all the work that needs to be done.
Re: (Score:2)
They built technology for that. It's called Java.
Re: (Score:2)
(I jest, I jest).
Many, many monkeys (Score:2)
Once that's done, the other poor programmers writing the app will have a harder time diverting blame for their poor code. Then:
Re: (Score:2)
AFAIK, most medical trials assume a Gaussian distribution for reactions in humans. With programmers, the distribution is not Gaussian. There is a short head of extremely good programmers, and a long tail of average ones (and a few bad ones).
The good programmers massively outperform the average, so if you have a few good programmers in your team, you can see massive productivity gains.
Accidental complexity today is dominated by the overheads of communication. Most agile methods require increased, frequent co
Re: (Score:2)
wow, only a developer would think that's how to do it...or a crazy person.
There are many, many matrices you can use to compare productivity to different projects.
Re: (Score:2)
No, not easy, but certainly doable.
Yes, I'm inclined to agree... the people who are arguing with you are essentially quibbling about details. There are different ways you could do tests like this with different populations -- the results would certainly differ for the different populations, but that's also something worth knowing about.
I
Re: (Score:2)
"Our biggest problem in process improvement is that we can't easily measure productivity."
Perhaps the difficulty in evaluating processes' efficacy should lead to the conclusion that process improvement is not a worthwhile endeavor.
Ironically, if a test-first approach were used to develop an agile methodology, you'd have to stop because
you can't write the test.
Re: (Score:2)
There are several ways to measure productivity.
It's just complex and requires looking at design, not just 'coding'.
Of course, since most software projects are not done correctly, and inconsistently it can be difficult.
Re: (Score:2)
Re: (Score:2)
It's a canned approach that worked for other people, so it is guaranteed to work for you.
You all meet once a day in these meetings that are referred to as "scrums". :P Then, various feature additions, major refactorings etc. are labeled as "stories", and each "story" is further broken up into "tasks" which are also meticulously labeled and tracked. Every piece of code is pounded by unit tests that nobody has any time to write because of the proliferation of stories. There's a lot more BS to be found on the
Re: (Score:2)
Actually, I think this is a lazy cop-out by people who don't want to do the work of getting the answer.
Myself, i can t
Re: (Score:2)
I'm not accusing you of being lazy, I'm accusing the field of "computer science" as a whole of shrugging off the admittedly hard job of trying to answer these questions.
I think you're greatly exaggerating the difficulty of the problem: there are ways these things can be hashed out, however crudely, and the links I provided should at least suggest some ways they might be hashed out.
Nearly every objection you raise can be dealt with by (a) by abandoning the quest for perfect certainty and just trying to
Re: (Score:2)
It's pretty clear that there's a risk that "we're doing agile!" can be used as a justification or smokescreen when what you're really doing is blindering through and making it up as you go along.
Re: (Score:2)
"Making it up as you go along" seems rather attractive to me, as long as *some* kind of compass needle is pointing towards the goal. I'm no agile fanboy, but planning everything first and then executing The Plan -- that's not realistic.
Re: (Score:2)
"(fr)agile "
The cfact that you put that there indicates you don't actually understand Agile programming.
"My biggest objection is the lack of credible proof that it actually works any better than the tried an true software methodologies."
There is a bigger issue there, can you figure it out?
Personally, I've seen it work a lot better then waterfall. With far superiour results. Obvious my few dozen large projects(150,000 line) is a very small pool to draw a sample from.
Re: (Score:2)
I worked for a manager for a while who has had some problems with agile development. He stressed constantly that Scrum was the way things were to be done, but often his behavior contradicted that. One day, he arbitrarily decided something that all of his employees as well as *his* boss thought was inappropriate - the boss' comment was "That's not how Scrum works."
The manager's response? "Fine, then we're not doing Scrum for this task."
My observation, in retrospect, is that Scrum and similar systems only
Re: (Score:2)
Whoa. You want people to actually prove their claims? The next thing you know you're going to demand that Computer Scientists learn how to do science.
Anyway, see you at the next "my language is better than yours" flamefest.
Re: (Score:2)
Uhm... (Score:4, Funny)
Alistair who ??
Re:Uhm... (Score:4, Informative)
Actually, it's pronounced Coburn because he's from Scotland and apparantly that's how they pronounce it there. He starts nearly every talk by explaining how to say it correctly :)
Re: (Score:1)
Re: (Score:2)
And after every talk, people still refer to him as superstar cock burn.
Kent Brock - s/ro/e - Kent Beck (Score:4, Informative)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
And the article is not by Jim Shore, who wrote the linked article at the bottom of the summary. TYPO TYPO TYPO
Name misspelled (Score:2, Insightful)
That should be "Kent Beck" in the summary, not "Brock".
Project steps (Score:1, Insightful)
I constantly see so many adhoc dev teams operate with almost no formal processes and I would be very interested to see a basic list of steps that you perform to manage your project from the start to production deployment.
At the moment the most common methods for small teams seems to be the following
- Customer asks for a change to some software, website etc
- Programmer may do basic class designs
- Progrmmer codes the changes
- Pushed into staging envr
Re: (Score:3, Funny)
list the steps from requirements gathering right through to production deployment.
That would not be agile :-)
Re: (Score:2)
You're missing a stage there where it is reviewed by someone else and accepted or rejected.
I don't understand why more companies don't employee someone to review everyone's patches/commits.
Writers have editors for a reason, so should programmers. Much easier finding the problems on the way in then debugging the problems on the way out.
Re: (Score:2)
wine does that exactly, if the code can not be understood then it is rejected and told to be made into smaller patches.
Inspection of source code when it's already in the database isn't the way to do it. However, it's very easy to review code coming into a repo.
Holding code up to a certain standard and rejecting the rest does work because it gets rid of a lot of time consuming errors that you will debug later and keeps the code base clean.
When you're working with someone who is a really crap programmer this
XP is a cult (Score:1, Informative)
It's intellectually lazy, without proof that XP techniques are more effective than other systems development methods. They rely on repeated assertion and abuse of people who dare to ask them to prove their case.
This book gives a good overview of the case against XP.
http://www.amazon.com/Extreme-Programming-Refactored-Case-Against/dp/1590590961/ref=sr_1_1?ie=UTF8&s=books&qid=1227079014&sr=8-1
Some of my favourite XP cultist quotes :
"Unacknowledged fear is the source of all software project failure
Re: (Score:1)
I've rarely found that writing silly songs is a sign of intellectual rigor.
Re: (Score:2)
All development processes have cult following (Score:2)
There isn't one of them that doesn't have individuals that follow the processes blindly.
I think this is the point of TFA, you need to think about what you are doing and never assume that you have a silver bullet.
This is actually where XP/Agile have a major advantage over other more formal processes - the Agile processes try not to promote rigid thinking and if applied correctly should be self-correcting or applied in more than just name only (but you would know that if you had read TFA).
yes, but here it's funnier (Score:5, Interesting)
Yes, but here it's funnier, since you were supposed to trust it without any proof, and in fact in spite of proof to the contrary, from the start.
Since the topic is agile projects gone bad, you only need to look at the original Chrysler C3 project that became the poster child for XP: from Chrysler's point of view, the project was an abject failure. By the time it was _years_ overdue, it still hadn't delivered a tenth of the promises. At least one of the managers involved as client-representative in that project got stress-related health problems during it. Chrysler not only cancelled the project, but forbade XP. It's something you'd normally call "EPIC FAIL!" as projects go.
But in true CCCP fashion, a failure got redefined into a smashing success, and presented as such in the books. In fact, turned into the poster child for successful XP.
So there we have our answer already: when XP projects go bad, failure gets redefined as a smashing success.
Later studies into, well, how much better _is_ pair programming, actually showed that such a pair is somewhat better than a single programmer for inexperienced freshman year programmers, but barely marginally better than a single programmer when done with experienced programmers. Both cases delivered actually less than the two programmers working separately on different parts of the problem.
Again, it won't stop anyone from still pretending that it's the opposite.
XP also redefined what "bug" is, by pretending that only stuff caught by the client's automated tests are bugs. Hence, if your tests for my "int add(int x, int y)" method only test for x = 2 and y = 3, and the whole method is just a "return 5;", it's not buggy. If you wan it changed, that's a change request, mate.
Hence making possible the claim that XP delivers 100% bug-free code. Now, if you want to redefine what "bug" means, you could do the same for any other methodology, but XP zealots like to ignore that. (I mean, seriously, if "not caught by the acceptance tests" doesn't mean "bug", then Windows 3.0 was 100% bug free too. Dumbly enough it was only tested internally on identical Compaq computers, but it ran flawlessly on those and with the particular software mix used in the test. If it doesn't work on your computer, though, XP would call it a change request.)
So, heh, it's mildly funny to hear the same guys who did that reality redefinition complain about others doing the same.
Seriously, it reminds me of a joke by Vince Ebert, translated loosely from memory: If you think there's a beer in the fridge and go look, that's science. If you think there's a beer in the fridge but don't look, that's religion. And if you look, see there's no beer, and still think there's a beer in the fridge, that's esotheric.
That's what XP is: something that started as a religion, and ended up an esotheric cult.
I'll be the first to say that flexible thinking is great, and that XP even has some good ideas. The point where it fails is that "turning all the knobs to 10", to quote the authors.
Essentially what they do is discovering something like "hey, some salt in a soup tastes nice, and a bit of vinegar makes it even better"... and from there formalizing an ideology in which all soup is done only with salt and vinegar. In fact, by boiling a kilo of salt in 5 litres of vinegar, since that's the turning all knobs to the max point.
Re: (Score:3, Informative)
Re: (Score:2)
Honest question:
Does that joke originate the word esotheric?
m-w.com has no entry. Google suggests witchcraft, but there are few links of any value. The sentence (I guess) suggests blind & willfully ignorant faith, which does not quite specify witchcraft. Does the word have a history?
Re: (Score:2)
I see ByteSlicer already pointed you at the definition.
The point was the many esoteric movements that, yes, are all about believing in magic. Witchcraft, occultism, new age, etc. A lot of which aren't as much about blind faith that it is that way, but the other way around, that you can make it be that way by just believing in it hard enough. Or by being initiated enough in some mysteries. E.g., that you can make a beer appear in your fridge by just refusing to acknowledge its absence. (Though sometimes it's
Re: (Score:2)
I think IT and programming have too much of both (A) people acting as if they can redefine reality by PR
Or badly misspelling words like esoteric and using them in an awkward fashion, and then trying to justify it?
The context in which Vince Ebert used it... well, he's a comedian. I think it was just supposed to be funny.
Well, I searched, and couldn't find the joke online. You're probably just be retelling the joke badly.
Sorry for the swipe, but you're being a little hypocritical here.
Re: (Score:2)
Considering that English isn't my mother tongue, if that's all you found to pick on, I'll take it as a compliment.
What's _your_ excuse? That you could do well in a spelling bee in your own native language? Heh.
The original joke is in German, actually, so no wonder you didn't. If you need a link, look
Re: (Score:2)
It wasn't just the misspelling, it was also using the wrong word in a confusing way. Finally, when asked for clarification you went through great pains to justify the use of the word -- like the people redefining what a bug means. Hence, hypocritical.
Re: (Score:2)
Ah, thanks. I thought I knew fully what esoteric meant, and it didn't really make sense in this context.
Thanks to Wikipedia apparently I can blame that on my "Western, English-speaking society" where "the term 'esotericism' is not necessarily used in the sense of mystical knowledge or practice."
Re: (Score:2)
"programmer for inexperienced freshman year programmers, but barely marginally better than a single programmer when done with experienced programmers. Both cases delivered actually less than the two programmers working separately on different parts of the problem."
except that's not what it's about.
Shared knowledge, consistency, and predictability is what it is about.
"If you wan it changed, that's a change request"
A completly impractical scenario, that shows quite a bit of ignorance on your part.
They do defi
Re: (Score:2)
I see your point, but it's not just a matter of looking at it that way. There have been and are people running around making that exact claim: that XP never produces any bug, in fact it's the only _guaranteed_ way to have a bug-free product. I've occasionally had people throw that exact idiocy at me both in person and here on slashdot. And it's almost invariably based on exactly that redefinition. They can't have a bug, because their whole contract is in the client's automated tests, and the only way to hav
Cockburn? (Score:5, Funny)
Cockburn has seen this in action.
I have personally experienced cockburn and assure you will become "become inflexible and intolerant".
Re: (Score:2)
pft (Score:1, Flamebait)
Gimme a break. 'Agile Programming' is just an appallingly pretentious buzzword describing a myopic development process which misappropriates components built by other people to a task they were never intended to solve. I.e., a circle jerk running down a blind alley, smearing lipstick on a colossal pig with terminal cancer.
I know, flamebait. Flame away!
Re: (Score:2)
no, i think agile programming is what everyone does by default when there is no thought about what one is doing or why
Re:pft (Score:4, Informative)
no, I've done both and they are very different.
If your impression is that agile methods are directionless then you have met poor practitioners or read negatively selective descriptions. It actually quite rigorous, but on other axes than traditional methods. They focus on process and feedback and controlling uncertainty as you go rather than pretending you can plan away uncertainty.
Of course like any buzzword it attracts unwarranted 'namedropping' use, and like any subculture it attracts overzealous idiots who just want to be 'part of it' and look down on others. But that doesn't really say a lot about what it can offer or not.
Re:pft (Score:5, Informative)
Agreed; Agile is a specific methodology that is quite orderly and efficient.
Too often, though, sloppy managers let the project run wild, zero specs, zero plans, do what you feel like doing how you feel like doing it, the deadline is yesterday, so there's no time to plan anything, the customer is our alpha-tester - and they call it "agile development" because "total brothel development" doesn't have the right ring in the name. And people who see such projects really believe this is what Agile is all about.
Re: (Score:2)
I'd never heard of "total brothel development". Is it related to this? [everything2.com]
Or perhaps you literally translated from the French, who use "bordel" to mean "Hmm, this situation is somewhat less than optimal, isn't it?"
The lesson of Agile: (Score:1)
Re: (Score:2)
1) Traditional - get everything working, time and money are flexible(to a degree)
2) Agile - Hit our deadline, how much needs to be working can be changed as we go along(to a degree)
Even the approaches by the customers aren't the same
Re: (Score:2)
I agree that those two rules are useful, but I think that traditional leans heavy on #1 and agile leans heavy on #2 and a s
Buzzword Boredom (Score:4, Insightful)
In my thirty years of design and programming on projects big and small, high level to low, I've seen this crap come and go. It's always more or less the same, and it's always instigated/pushed/proposed by those who cannot code, or those who are looking for something to do besides code.
Re: (Score:2, Insightful)
No, agile really is different from the old methods. And it's not that much about how to code it's about how to run a project, maintain control, and be able to deal with changing requirements.
You still need good coders, it won't magically improve anyone. But you need more than that. There is no lack of failed projects staffed with good coders. If your projects regularly succeed, you are also employing some planning and management skill that is evidently not obvious to everyone.
Re: (Score:1)
Re: (Score:2)
Yeah I'm in the middle of a huge truck of agile fail at the moment. Its good for people like me - the sort of contractor who is called in to "save the project" when its too damn late.
People seem to think you can easily refactor a completely broken domain model for a complex system. Requirement capture via user stories is only going to work when you have a clearly defined problem domain and precise terminology. If at 90% into the project timeline you are still having trouble getting questions answered like "
Re: (Score:3, Funny)
Agreed. Despite some successes, generally speaking mostly small or low mid-scale projects, "Agile" is to software engineering what Red Bull Flugtag contraptions are to aviation engineering.
Here, Here (Score:2)
Agile does reduce some of the work on the developer staff, but we tried it here and it INCREASES the workload on the support staff by just about TRIPLING the workload. We threw it out.
Out of context (Score:2)
Cockburn has seen this in action.
Did anyone else giggle like an 8th grader when they read this?
Not the Same Author! (Score:1)
James Turner and James Shore are two very different authors.
Scrummed to death (Score:1, Interesting)
Having worked on a Scrum-managed development project for 3 years in a large French/Canadian software house, I am happy to have the opportunity to get it off my chest that Scrum SUCKS the big one!!! and Scrum slowly strangled a decent project over 3 years until death. Finally our company was bought out, and the project was consigned to the trashcan by accountants due to faiure to show any results after such massive investment. Due to the fact that it was a project for a new product, using new development tec
Re: (Score:1)
Re: (Score:2)
I'd worked that much out before I'd finished the first sentence.
You guys were using Scrum the wrong way (Score:5, Interesting)
Just reading your post shows me that you guys where using scrum the wrong way. Most people don't understand the true purpose of Scrum. We do Scrums every day at 11:30 and they take about a minute ot two per team-member (just did todays and I'm checking on slashdot while adding my new tickets to mantis).
Scrums are stand-up meetings. Everybody stands and keeps his turn short. You say what you where doing since yesterday, what you achieved and what you are going to do today. It's mostly about self-awareness and being able to judge your capacities - it's a mental exercise, not a classic meeting (we have those too, but only like once every 8 weeks).
Agile came out of the need to deal with controll-freaks who didn't do their homework and tend to weigh down things that should be lighweight with to much bureaucracy. Where human interfacing is a key point of your software, Agile is a very good method to handle things. If the pipeline has skilled people at each section, that is. Our company is technology driven with managers that actually wrote code at some point in their career. I'd call our process somewhat agile - we get changes every odd week - and everybody deals with it without a single hitch. ... Coming to think of it, maybe that's why we dominate our market.
Bottom line:
You guys got Scrum and Agile all wrong. Maybe you should've steared clear from the get go.
Re: (Score:1)
I'm currently on the tail end of a 6 month internship doing software development. Our team is one of the few in the company practicing a form of agile development. This turned out to be a huge benefit for me. If we were using a waterfall model, I would have to spend my entire time here doing one thing, depending on what stage of the waterfall we are in.
Agile gives me more experience in most steps of the development process; I do design, implementation, and testing. We are getting a lot done, and there i
Re: (Score:2, Insightful)
Our team uses some of the artifacts of scrum - the daily meetings, burndowns, b
Re: (Score:2)
Maybbe it failed becasue your team sucked? Clearly you weren't doing scrums..sure, they may ahve called the scrums, but they aeren't.
Scrums should last less then a minute a person.
Scrums work very well.
In your case you need to ask youself.
A)Did they tale longer then a minute a person?
B)Why was technical savvy required among they Scrum masters?
"people just lying about the completion level of their tasks,"
You can not do that with actual Agile programming, everyone knows when you fail to finish your piece whe
Lots of ragging on Agile here (Score:3, Informative)
I'm reading lot's of ragging on Agile here. Maybe you guys should actually f*cking read the agile manifesto [agilemanifesto.org]. It's only a few sentences after all. You'll notice that it's actually quite a good thing that tries to rid the software devprocess of bloat and get close to the people for whom software is written.
Whenever I've used agile with the right people, it was a breeze getting the job done. It's basically common-sence systematically applied to software developement in my book.
Re:Lots of ragging on Agile here (Score:4, Insightful)
Well, whenever I've done anything with the "right people", it's always been a breeze. The problem is that those projects are few and far between. The methodology that will eventually work the best is one that takes the wrong people and makes them productive. (Like assembly lines making cars - if you had a bunch of skilled mechanics, they could make a good car, but if all you have is a bunch of high school drop outs, and you want to build good cars, you need an extremely rigid process to make them useful.)
Re: (Score:2)
If you have programmers in the top 10%, then it's not guaranteed to work. However in the absence of factors like impossible requirements, bad management or personality clashes the odds favour success much more than they would with less capable ones (who aren't immune to those factors either).
Rather, it's "right people" who are rare. Not every project can hire only prog
Re: (Score:3, Funny)
Rather, it's "right people" who are rare. Not every project can hire only programmers that are in the top 10%. There just aren't that many to go around. Maybe as low as 1 in 10, by some estimates...
That can't be right - over 75% of the developers that I've asked rate themselves in the top 10%!
Re: (Score:2)
Next time someone tells you they're in the top 10% compare their code to the Samba, Linux, or Subversion code base; they won't stack up. The problem is that the people who think themselves great aren't reading other peoples code, so they're
Re: (Score:2)
I can't even remember the number of times I've told a hot-shot young developer "you know, you could google it before trying to impress me with a bunch of waffle"...
Another gem is them trying to make something "as complicated as can possibly be mustered in the time alotted". Why don't these people understand "the simplest thing that could possibly work", I wonder...
But I have to work with the average developers because we simply can't find enough of t
Re: (Score:2)
Well, whenever I've done anything with the "right people", it's always been a breeze. The problem is that those projects are few and far between. The methodology that will eventually work the best is one that takes the wrong people and makes them productive. (Like assembly lines making cars - if you had a bunch of skilled mechanics, they could make a good car, but if all you have is a bunch of high school drop outs, and you want to build good cars, you need an extremely rigid process to make them useful.)
Nope. The sooner we getting out of the idea that anyone that wants to be a computer programmer can be one the better. I'm not a musician, I'm tone-deaf, so I don't pretend that I can be a rock star. Why do we spend ages trying to get those people with a talent for coding to help people to whom its just a job and have no talent for it? All it does is generate mediocrity.
Re: (Score:2)
True, but agile works well with any group of programmers that are competent.
Amen (Score:2)
Agile works fine for us. Maybe we don't do it by some 'book', and I have no use for consultants, but what we do WORKS.
And I disagree that you have to have some exact certain people to implement it. Not that you can just take some random collection of developers and send them off to do agile development, but with one or two key people that can actually communicate and teach people how to do what needs to be done it works fine.
I've taken groups of nothing but myself and interns and done it, people with no ind
Agile as a defense mechanism (Score:2, Insightful)
As someone who had the "fun" of becoming a scrum master at a company that was trying (and eventually failed) move off of waterfall I got to be the main Agile advocate with our management.
This company failed from both ends. Developers began to use Agile as a shell to protect them from the problems that were in the old system. That's understandable given how badly they were overworked during deadlines. However what they didn't see was how this poisoned upper management to the entire concept. Management was wi
Yet Another Fad, Misapplied (Score:2)
XP, Scrum, etc. have some good ideas--however, as TFA mentions, they require *thought* to implement well. They are also not new, just re-packaged. Ed Yourdon was talking about interviewing users to find out how the system/process *really* works over 20 years ago. (His "Structured Analysis" [yourdon.com] is an excellent on-line book for learning how to design systems)
However, any method that relies on your team members being in the top 10%/experienced programmers is only going to be useful for a few, high-profile or speci
Software is about the end user, not the process. (Score:2)
Waterfall, agile, who cares?
Any process which gets the job done so the software runs well and the defects which impact the end user experience are minimized is a good process. Sometimes that process is highly formalized, sometimes not. Sometimes the process is something which an organization simply made up from common sense and experience. It doesn't matter.
Programmers shouldn't have to worry about special keywords ... let the compilers worry about that stuff. :-)
Really successful techniques (Score:2)
The number one strategy for a successful project is to admit once and for all, any time estimate that happens in the first few weeks is a pure unadulterated lie. You don't know how long it takes until you know exactly what it is you're doing. In turn, you can't do that before you have the FULL specs. AFTER you have the specs AND have designed the system, then you know how long it should take.
Hint, well done software development will devote 50-90 percent of the total time to design. Translation: Time estimat