One of the bloggers we respect and follow in the software development community is Jonathan Babcock. Recently, I had a chance to chat with him and get his insights on a few questions relating to requirements management, the business analyst role and his experience working with various teams and projects over the years.

Jama: Jonathan, how long have you been advising and teaching organizations on the best practices of requirements management?
Jonathan: I’ve never formally held a position of teaching organizations, but I’ve been a business analyst for several years now and have had opportunities over the course of that time to mentor Junior analysts, and especially over the past three years, to help shape some of the business analysis and requirements management processes at my current company. Additionally, I’ve been sharing what I’ve learned via my blog for a little more than 2 years.
Jama: During that time, which aspects of the software development process have you seen evolve over the years and which aspects have remained the same?
Jonathan: Probably the most obvious evolution has been the general shift in focus from the heavier, document-centric development methodologies to more agile development practices. From a business analyst’s perspective, we’re seeing increased emphasis on requirements modeling and prototyping as an alternative – or at least a supplement – to the big document of “system shalls”.
In terms of things that have remained constant, I think we’re still seeing that not getting requirements right is a leading cause of project failure, and that lack of effective cross-team communication and collaboration is still a leading cause of not getting requirements right.
Jama: What compelled you to start your blog JonathanBabcock.com? (note: now called PracticalAnalyst.com)? What problem or gap did you see that your blog addresses?
Jonathan: I started the blog primarily as a means to network and as a repository for lessons that I had learned. I knew that putting my ideas out there for public consumption would drive me to make sure that first, I really believed what I was saying, and second, that I was expressing my ideas clearly.
If there’s a particular gap that I’m trying to address with my blog, it’s that while there are lots of books and other blogs of conceptual stuff out there by managers, methodologists and industry thought leaders – who have all kinds of ideas about what the analyst should do, how it should be done and where the analyst fits into methodology “X” – there isn’t nearly as much content available for analysts by analysts. I like to hear what’s working and what isn’t from my peers who deal with the same types of things on a daily basis, and I think lot of other BA’s feel the same way. That’s the perspective I can provide. I am basically trying to write the blog that I wish had been around when I first began as an analyst.
Jama: If you had one fundamental tip to provide people, what would it be?
Jonathan: If it had to be just one, it would be to strive to satisfy ALL your customers. As business analysts, we work with the IT delivery organization to deliver products that satisfy business needs. That’s the obvious part.
What’s less evident, but perhaps equally important is that we also work with the business to meet the needs of the IT delivery organization (sort of a “help me to help you” scenario). As consumers of the business analyst’s products, the designers, developers and QA folks are also very much a business analyst’s customers.
I think focusing on the consumers of our deliverables as customers gets us to the point where we acknowledge that writing a bunch of requirements statements and tossing them over the wall is not meeting the internal customer’s needs. It drives us to the type of collaboration that results in good requirements and successful projects.
Jama: What’s your perspective on the role of requirements management for organizations adopting newer Agile development methodologies?
Jonathan: One of the key tenets of becoming more agile is learning to embrace change throughout the life of a project. Competent and consistent requirements management is a critical factor in keeping up with and managing change.
I think agile adoption has spurred changes in requirements management tools as well. For example, we’re beginning to see more integrated and stand-beside requirements definition tools included under the requirements management umbrella. Because agile asks us to focus on getting working software out the door and less on exhaustive documentation, our requirements don’t always “look” the same as they have in the past in that modeling and rapid prototyping become more widely used means of requirements capture.
Jama: Bonus music question – If you were stranded on an island and had only one album with you, which would it be?
Jonathan: Hmm… that answer would probably vary from day to day. I’m on a bit of an Irish music kick here lately, so it would come down to a greatest hits album from either U2, The Cranberries or The Corrs… and The Best of U2 (1980 – 1990) probably wins out in the end.
Jama: Thanks Jonathan for the insights. You have to respect the music choice too, cant’ go wrong with U2.