-
Get a monthly update on best practices for delivering successful software.
Gwarred Mountain over at Climax Studios has posted a very thoughtful blog post about software development methods and the appropriateness of Agile Software Development. I was ready not to like this article, what with the title and things like this:
If I have to sit through another meeting with some little "agile" toe-rag defending their train wreck of a project then I may end up forcibly ramming a kanban where the scrum does not shine.
But then I thought about all of those fresh-faced management consultants we've run into recently -- who have read a book about agile -- trying to teach us how to do it. Well, yes. I've had some uncharitable thoughts myself. Continue reading »
For any software development professional who has contracted out from time to time, this story must seem familiar. You interview and are told that they practice agile development. Once you show up at the job site, they tell you they practice their own "brand" of agile, which turns into "sort of agile" or "we've take the best parts of a couple of different methods" or "it isn't exactly" -- wild and crazy hand gestures -- "XP."
It's a classic case of people following the form or ritual of a process without understanding the why of it. Take the morning scrum, for instance. The ritual around these usually calls for them to be done standing up. We've of course all heard of the standups that run an hour or two. Someone on that team doesn't understand the function and is following the ritual.
Topics: Agile Development, Fake Agile, Scrum
Some interesting posts from around the blogosphere:
These were some of the posts that I found valuable over the last week. Please share yours in the comments.
Topics: agile, COMET, Grails, GWT, ROI, Scrum, User Experience Design, WebSockets
I had a nice little vacation this past week in Los Cabos. It's always sunny, 80 and it never rains. Very nice. My wife and I had another installment of our long running discussion called "Computer Science is not a science." My wife is a real scientist with a Ph.D. in physical chemistry, and so she has a bit of a chip on her shoulder about the whole "science" thing. It's a one-sided discussion because I agree with her. Computer science is not about experiments and the scientific method, it's about three or four different and disparate areas -- mathematical computer science, AI or clever algorithms, chips and clock logic, and software engineering.
Then she told me that she thought of me more as an engineer. That got me thinking. Am I really an engineer?
Hamid Shojaee from www.axosoft.com put together a great video to introduce the core concepts of scrum and Agile practices called "Scrum in under 10 minutes"
I really like what he said particularly the focus on the importance and simplicity of the burndown chart which helps to :
A simple burndown chart quickly shows the impact of some of the most common efficiency killers or blockers
He mentioned the standup, but didn't cover the 3 questions (What did you do?, What are you going to do? What do you Need in order to accomplish it?), or the idea that only people that have work can speak (Chickens vs. pigs)
I also liked his take on bugs, that you should plan a sprint to tackle them, and any bugs that come up during a sprint should be tackled immediately.
That's actually something that a lot of teams struggle with, "How do you plan for and estimate the time necessary to fix bugs?"
I always say Bugs Can't be estimated. While you may be able to plan how much time you will allocate to working on bugs, you can't really estimate how long it will take to fix bugs unless you have already looked at them, and have figured out the problem. From my point of view its the "looking at it and figuring out what's wrong", that takes the longest, and is the part that needs to be accounted for.
How do you plan for bugs?
Do you let bugs accumulate and then have a final sprint before a Release where you tackle all of the bugs? (How would you know that you can fix all the bugs in time for the release?)
Do you tackle all High-Priority bugs as soon as they come up, and leave the medium and small priority bugs for later?
Do you have a 'zero-bug' policy, where you fix any bugs that are opened?
UPDATE: I've expanded on this discussion a little more in a new post Bugs Can't be estimated, and after having some discussions around how best to plan for bugs, I was asked to do a last minute Security Analysis, and I wrote a post about How to avoid the last minute security review, and I think that the planning part can actually apply to how you manage a big list of bugs as well.
Topics: agile, Bugs, estimation, planning, Requirements, Scrum