Agile antipattern: Sizing or estimating bug fixes

Is the bug to the left a large bug or a small bug?  It looks HUGE to me!  Well, in reality it is probably between .5 and .75 inches long.  Not really a very big bug at all.  Why do we care? Because trying to size the fixing of software “bugs” is at least as hard as figuring out how big this bug is!

When I teach an Agile or Scrum course someone will almost always ask a question like “How do you handle bug fixes in iterations or sprints?”  When I ask “How do you want to handle them?” we get into a pretty interesting discussion.  Most people say something similar to “We should prioritize them with the user stories, size them like we do user stories and then see what fits into each iteration.”  I usually smile and ask any developers if they know ahead of time how long it will take to fix a defect.  They ALWAYS say “Sometimes.”  And THAT is the problem! [Read more...]

New to agile? Remember a user story is more than a card!

What’s wrong with the user story on the card?  It seems to have everything we need: a) short title, b) a size (in this case 2), and c) a well-written story using the standard “As a … I want … so that …” format.  So what’s wrong? Nothing!  Well, almost nothing.  The user story card is a great STARTING POINT, but it is not sufficient by itself.

In coaching Agile and Scrum teams I see many of them starting out with the assumption that the user story card contains all the information they need in order to create a high quality piece of software.  Forgive me for being harsh, but how stupid is that?  Assuming a single sentence can fully describe something which might take a few days to analyze, design, code and test seems pretty ambitious.  No, let me take that back.  It’s more than pretty ambitious, it is just not possible. So I ask again, what’s wrong with this story card? [Read more...]

Agile, scrum, lean and kanban blogs to watch in 2010

I’m going to be spending a lot of time in 2010 writing blog entries.  Remember, I’ve committed to trying to write 4 blog entries per week, but in order to continue to grow in my abilities as a trainer and coach I need to continue to expand my knowledge.  The internet is great for things like this, especially now that blogging is done by more people.  I can now find niche content which fits my needs and just focus on those sites.  I’ve decided to share some of the blogs which will be on the top of my “must read” list. [Read more...]

Agile pondering: How does a highly mobile agile team of 1 work?

ponderingIn my last post I gave you insight into how I do my work as an agile team of 1.  What I didn’t mention is I am highly mobile.  I travel a lot to other cities and even when I’m in my normal city I have meetings all over the place.  How do you remain agile if you don’t always have access to the same environment?  Let me tell you, it isn’t very easy.  It requires lots of help from tools which work without me having to think about making them work.  It also requires forethought on how your normal workflow will occur.  Finally, it requires knowledge about how certain tools function so they can be set up properly. [Read more...]

New to agile? Learn how to split stories

storyIn my last blog Agile antipattern: Taking on large stories I said I would give you some tips on how to split stories.  First though, it is important to understand WHY splitting a story well can be helpful.  It is about much more than just making smaller stories.  In fact, making smaller stories may be the least important part of splitting stories.  The most important aspect of splitting user stories is to help make sure the team can be successful.  However, that statement has a lot implied in it.  We need to dig a lot deeper to expose the real reasons for splitting user stories and not just do it as a good practice (we must BE agile vs. DOING agile).  Not that it isn’t a good practice, just that there are more reasons for doing it! [Read more...]

How to make a LOT more money using agile

Yesterday’s blog post dealt with how to manage scope for an agile project.  Today I have to admit it was a bit of a setup.  It was designed to set up today’s blog post which is really the important one!

See that pile of money over there to the left?  That represents a small fraction of the amount of money your organization is potentially wasting by not being able to properly manage the scope of projects.  I want to be clear this is not about project delays and overruns caused by scope creep.  I am actually writing about something completely different.  Something much more fundamental and actually fairly easy to obtain when an organization has truly embraced all that agile has to offer.  To me this is one of the most important benefits of agility, but the number of organizations doing it well is extremely small.  Warning, this is a LONG blog entry, but I think it is well worth the effort to read it!

[Read more...]

New to agile? INVEST in good user stories

As a <user> I want <function> so that<value>.

Above is a very simple user story template.  How can something so simple be so hard to get right?  User stories make up the heart of agile development.  They are the primary input to the team.  The team takes the user stories and creates product increments based on completing those stories.  Unfortunately, getting user stories “right” is difficult to do right away.  The Product Owner (or other product facing role) needs to learn how to create user stories which meet the needs of the team.  This is a skill which can be learned over time, but I’m about to save you a bit of learning curve. [Read more...]

New to Agile? Use a Rules of Engagement document.

How do we work together? Seems like a simple question, right? How wrong you could be!  For an agile team, working together is vitally important, but it is also the hardest thing to accomplish.  Why?  Because we don’t normally work together very well.  Think about the stereotypical high tech company and their sterile cubicles with “resources” working hard in isolation.  This is a far cry from the PEOPLE on an effective agile team who work in an open, collaboration friendly environment.  (In case you can’t tell, I have a pet peeve about calling people anything except people – in my opinion it is degrading to call people anything else)  But this isn’t the only problem… [Read more...]

New to agile? Get focused with a vision

Bear with me on this blog entry.  It takes a bit of setup until I get to the main point.

Lately I’ve been doing a lot of reading about blogging and how to make a blog better. I didn’t get very far when I was hit with the opening question which is

“Why do I blog?”

When I first read the question I thought how silly it seemed. Why start with such a simple question. Obviously I blog because… Uh, why do I blog? [Read more...]

New to agile? Don’t settle for mediocrity

James Shore recently changed the entire focus of his company. This blog entry gives his reasons why. The blog post really struck a chord with me because I often use the phrase “To me mediocre is not acceptable.” Now I’ve found someone that agrees with me!  To me there is nothing worse than seeing a team not reaching their full potential because they are unable to see the problems they are causing themselves.  In fact, some teams even laugh about it when it is pointed out to them!  Grrr, don’t let that happen to you.  Read on for some things to watch out for.

[Read more...]