Skip to main content

Business Analyst Corner: Write Later, Not Less

If you are a BA looking down the barrel of an agile adoption at your work place, you may feel worried that you will be switching from reams of paper stored in large binders to index cards. And not the big cards either. You're looking at the 3x5 ones.  You feel this plan is ridiculous.  You may murmur something to yourself about "insane fads!" or "damage control!" or "keep secret requirements locked in my desk and bring them out later to save the day!"  Take heart, dear friends.
card wall from http://www.scrumology.net/2011/09/15/kanban-kickoff/ (Mr. Yuck is public domain)
Things may be different at start-ups, in small shops, and in places already whirring like Kanban tops. But in most fair-sized enterprise IT shops I've worked in, your first efforts at agile implementation will not aim to reduce the quantity of requirements documentation significantly.  Instead, they change the timing at which the requirements are written, and with that change in timing, reduce the work you will spend as a BA filing and executing change requests, and reworking traceability matrices.  The overall work may also be reduced since you don't write details for features you don't implement, but the ratio of working software to the number of words and diagrams in corresponding documentation may not change at all.

That's right:  you will still end up with high quality requirements at familiar levels of bulk.  Let's compare what you do now with what you might do with a more agile process.

Requirements-first technique (you likely do this now):
1)  You and your group may write requirements for 3-6 months.  (This may be divided into separate "business" and "systems" requirements phases).  You may then have some "architects" do some further system requirements in the form of a detailed "systems architecture document."  (SAD)

2)  Once development starts, if anything changes, you file or update a change request and re-write all of the linked requirements (and the traceability matrix that links them together!) to match the actual behavior of the working software.  Changes can occur because:
  • the market changed, so now your business needs something different
  • you have learned more about what you're doing, so you don't want exactly the same implementation you wanted before
  • the development group ran out of time, so a bunch of requirements need to be removed.
  • or for other reasons.
If development takes 3 months, and system test takes 3 months, and UAT takes 3 months, you could end up spending 15-18 months first writing, then continuously re-writing the requirements.  And if you're in the kind of shop that has to "trace changes," your resulting documents may be very hard to read, because everything you ever wrote is still there, color coded or struck out.

"Just in time" requirements technique (typical enterprise-level agile teams do this):
1)  You, the SMEs, the developers, and the testers all get together for a "release planning" workshop to determine what the high-level goals are, and what the system will look like (also at a high level) to meet those goals.  You create a flexible outline of the pieces of the system using the index cards (sometimes called "story" cards), arranged in the rough order you plan to build those pieces.  You can think of this as just writing the table of contents for what would have formerly been your requirements documents.

2)  Just before development starts, you work with SMEs and other BAs to write fully detailed requirements for each of the stories you intend to tackle in the upcoming 2-week iteration.  You may start an iteration ahead, or you may just start a few days ahead.  The fully detailed requirements attached to a story are called "narratives" at ThoughtWorks, or sometimes just "detailed requirements."  As you go, you keep writing the details, the stuff that adheres to your table of contents, just before the developers actually start coding.  If changes occur to the big picture or any of the implementation that's going to occur down the line, that's fine.  You let developers complete the work for the current iteration, but you change the remaining "release plan" cards to reflect the team's new learnings and business needs.

If your workshop took 2 weeks, and development takes 3 months, you have now completed exactly one outline of the work (the release plan), and one set of detailed documents for what you actually did (the narratives attached to the stories you did).  Roughly speaking, 18 months turns into a little over 3.

Graphically:
 

So if someone tries to tell you that agile lacks rigor, or that you don't need BAs to facilitate SME discussions and record the results any more in an agile project, you may want to take their hysteria with a pound or so of salt.  Ask them:  are they a theory-drunk zealot, or have they actually tried it in your environment?

I was originally going start the title of the post with "BA Corner," but I didn't, because my teenage daughter has confided in me that whenever I say "BA," she thinks "Bad A**."  You can imagine the resulting dinner conversations, when I attempt to talk shop.  At any rate, if you're feeling particularly fierce today, please feel free to re-read this post substituting her "BA" definition.  Power to the BAs!  

Comments

Popular posts from this blog

How Do You Vote Someone Off of Your Agile Team?

One of the conundrums of agile conversion is that although you are ordered by management to "self-organize," you don't get to pick your own team.  You may not have pictured it this way, but your agile team members are going to be the same people you worked with before, when you were all doing waterfall!   I know I wasn't picturing it that way for my first agile team, so I thought I should warn you.  (I thought I was going to get between six and eight original Agile Manifesto signers.  That didn't happen.). Why "warn" you (as opposed to "reassure" you, say)?  Because the agile process is going to reveal every wart, mole, quirk, goiter, and flatulence issue on the team within a few hours.  In the old days, you could all be eccentric or even unpleasant in your own cube, communicating only by document, wiki, email, and, in extreme situations, by phone.  Now you are suddenly forced to interact in real time, perhaps in person, with written messag...

A Corporate Agile 10-point Checklist

I'm pretty sure my few remaining friends in the "small, collocated team agile" community are going to desert me after this, but I actually have a checklist of 10 things to think about if you're a product owner at a big company thinking of trying out some agile today.  Some of these might even apply to you if you're in a smaller place.  So at the risk of inciting an anti-checklist riot (I'm sorry, Pez!), I am putting this out there in case it is helpful to someone else. From http://www.yogawithjohn.com/tag/yoga-class/ Here's what you should think about: 1.        Your staffing pattern.  A full agile project requires that you have the full team engaged for the whole duration of the project at the right ratios.  So as you provision the project, check to see whether you can arrange this staffing pattern.  If not, you will encounter risks because of missing people.  Concretely it means that: a.    ...

Requirements Traceability in Agile Software Development

One of the grim proving grounds for the would-be agile business analyst (henceforth "WBABA")  is the "traceability conversation."  Eventually, you will have to have one.  You may have seen one already.  If you haven't, you may want to half-avert your eyes as you read further.  It gets a little brutal.  But if you close them all the way, you can't read. From:  http://www.highestfive.com/mind/how-to-perform-a-successful-interrogation/ Dialogue: WBABA :   ...so in summary, we complete analysis on each story card, and then we support the developers as they build it that same iteration! Corporate Standards Guy:   but how do you do traceability in agile?  You have to have traceability.  It's broadly recognized as an important factor in building rigorous software systems. These software systems permeate our society and we must entrust them with lives of everyday people on a daily basis. [The last two sentences are an actu...