Tuesday, 16 August 2011 09:32

Three Baby Steps Toward Agile Requirements Management

Written by 
Rate this item
(0 votes)

FeatureAug16thIf you are beginning to consider a move to more agile methods, you may be looking for a set of ‘best practices’ for agile requirements elicitation and agile requirements management. What you will likely find is many prescriptive and detailed ‘best practices,’ which I have personally found to be situational at best, and often just too much to consume for an organization new to the concepts. What I propose to offer in this post are a few ‘baby steps’ that can help an organization move toward an agile environment and prepare for some of the more prescriptive methods like SCRUM or eXtreme programming (XP).

When making a move toward agile methods, there are three main recommendations that I believe should be considered to prepare for a more agile requirements practice, and a team as a whole.

  1. Collaboration ─ While this is obviously a good idea in all methods of requirements management and all stages of a project lifecycle, it is an essential element to agile methods and agile requirements management.
  2. Embrace Change ─ This is almost a counter-intuitive step for many business analysts. To be agile in requirements management, we must acknowledge change happens, embrace it, and make it part of our process.
  3. Support of upper management ─ Becoming agile is an organizational change as much as a development practice, and without clear support from upper management, this change will be difficult, if not impossible.

Recommending good collaboration is a bit like recommending good work ethic; it seems as if it should go without saying. However, for organizations used to a very siloed waterfall method, real collaboration as a standard operating procedure may have fallen by the wayside. It can become easy in a waterfall method to simply over-document deliverables and blindly send them to the next team. In an agile method, an organization will begin to keep ‘living documents’ that constantly change and grow ─ this requires true collaboration and teaming. In order to include all members of the project team and stakeholders properly, an organization must not only take on more inclusive methods, but must educate all associated people on the use of the method, including management and stakeholders. If one expects individuals to be involved, the individuals must know how, why, and when they are expected be involved. Simply said, to create an inclusive method, all individuals associated with the project must feel and be encouraged to be involved. One simple step many larger organizations have found useful is the adoption of stakeholders’ terminology. Often in agile methods, we get very focused on the new names, terms, and roles ─ all at the detriment to collaboration. Many stakeholders will feel more comfortable with requirements, time periods, and project roles being expressed in their own terminology. This should be seen by the project team as a minor secession for the sake of greater collaboration.

Embrace Change. To many Business Analysts and Project Managers, this will seem counter-intuitive. As professional BAs and PMs, we have been taught to identify all requirements and lock down the scope. However, we all know change does happen, and what often defines the success of a project is how we deal with that change. Traditionally, an organization would manage this change with some sort of project or scope change management process, which gives a structure to altering requirements that are typically fully elicited. In agile methods, organizations acknowledge that change is constant in technology projects, and move to embrace that change. To make steps toward agility, an organization may need to change their requirements elicitation methods. The elicitation can begin with very broad requirements that outline a general scope, do some high-level requirements modelling, prioritize what has been captured, and prepare the team to change as needed. Once the broad requirements are documented and ranked, the team can then begin to add further detail to requirements in an ordered fashion. This means the stakeholders will give detail as it is needed, and the team will change documentation as details emerge. The stakeholders know their priorities and requirements will change, and the project team knows the project documentation is ‘alive’ and changing as the project moves on, and as the need for detail requires.

While the above-detailed steps are important ways to ease into agile, arguably the most necessary step is getting upper management support. The management lines for both the project teams and the stakeholders must understand the use of agile methods is an organizational change, and not just a development method. These management lines must fully comprehend the concepts behind embracing change, increasing collaboration, and the notion of practicing constant requirements prioritization. As with many successful organizational changes, the use of ‘on the ground’ champions of the new process are important, but a clear message of support by company leadership is imperative. A project kick-off that includes an executive saying a few words of support for the new methods and mentioning that management is watching for this to be a successful implementation will go a long way to drown out the voices of the detractors.

As an organization strives to become agile, it is important to remember to be agile in the implementation of agile. Meaning, only take on as much agile process and change as your organization can handle in each ‘sprint,’ or short change window; and only keep the agile processes needed to improve implementation of technology projects. Organizations can often lose focus of their underlying purpose for adopting agile methods, and begin to focus on ‘becoming agile.’ There is not a prize or reward that comes with completely adopting any particular agile method, so look to embrace the parts of agile methods you need to find your success, and question anything else — because that is truly becoming agile.

Don't forget to leave your comments below.


Kurt Solarte is a Managing Consultant working for IBM Australia in Sydney; focusing on Agile Development methods. Kurt recently spent eight years with IBM Global Business Services in the U.Ss as a Sr. Business Analyst; where he specialized in keeping business analysis alive and relevant in the agile delivery of eCommerce, web portal, and business analytics projects.

Read 8544 times Last modified on Tuesday, 27 March 2012 13:46

Comments  

 
0 # Stoyan 2011-08-16 06:15
Good article! Hopefully more managers will see the benefits of implementing agile processes within their business. I've been working in an agile project environment for 6 years and it does deliver value to businesses quicker, and agile handles really well the ever-changing user requirements. However, one note to remember is that you should always look at the nature of your product before switching to i.e. Scrum. If your product is developing a 'space rocket' then you should probably stick to the classic methodologies such as the Waterfall SDLC model and identify requirements before designing and implementing the product. Agile processes are based on Iterative and Incremental approach and assumes that revisions will be made. Thanks for publishing this article. SS
Reply | Reply with quote | Quote
 
 
0 # David Wright 2011-08-16 10:20
Locking down scope has never been a good BA practice; managing scope change is. Having complete requirements to start makes it easy to measure the impact of change and allow the business to decide if the change is worth it or not. ... And management support is necessary for any change in practice at a company, every new method says you need it.
Reply | Reply with quote | Quote
 
 
0 # Lissy Page 2011-08-16 18:55
I dundamentally disagree with David statement 'Locking down scope has never been a good BA practice;' - scope must be defined to control budget, resource, and delivery to TCQ. Managing scope is of course key, and things change so its a matter of understanding the tolerance for scope creep but to presume defining scope is somehow a bad practice is, quite frankly, rediculous!
Reply | Reply with quote | Quote
 
 
0 # Lissy Page 2011-08-16 18:55
written by Lissy Page, August 17, 2011 I fundamentally disagree with David statement 'Locking down scope has never been a good BA practice;' - scope must be defined to control budget, resource, and delivery to TCQ. Managing scope is of course key, and things change so its a matter of understanding the tolerance for scope creep but to presume defining scope is somehow a bad practice is, quite frankly, rediculous!
Reply | Reply with quote | Quote
 
 
0 # Nathan 2011-08-16 19:52
Thanks Lissy, I agree with you. The positive aspect I love about the agile methodology, and specifically Scrum is the collaboration between analyst and the development team. However Scrum and XP is development methodologies, and to expect the Accounts department to be on standby for "Just In Time" requirements are unrealistic. As a consultant I need to "lock down" my requirements as changes impacts project delivery cost. Adding to this, a project in general must have start and end point. Yes change is inevitable, and that is what drives us in IT, but there must be solid baselines to work against. The other myth is having "just enough" requirements. This statement throws solid systems engineering practices out the window. I've witnessed this in many companies, where Scrum was implemented with a "text book" approach. Yes, the IT solution will be in place, but the systems performance would be poor, the architecture of the solution not scalable, testing inadequate etc. It actually took much longer to deliver good solutions. Another myth is documentation. Scrum preaches that as little documentation should be produced. Guess what, as a consultant, the specification documents acts as a contract, in addition to the financial contracts signed. Am I anti agile? The answer is No. There must be common ground found between the Waterfall systems engineering and the Agile collaboration processes.
Reply | Reply with quote | Quote
 
 
0 # Kurt Solarte 2011-08-16 22:31
I would tend to agree that locking down scope is not what Business Analysis is at its purest, but the reality is (as others have pointed out) that Business Analysis doesn't happen in a vacuum; it MUST integrate with the realities of project management (scope control) finance (cost control), enterprise architecture (environment control), Systems Integration, and many many other things that go with large IT projects. To be a good BA we must adhere to our constraints, just like the systems we so often describe/design . Being agile doesn't mean being scrum or xp only, as Nathan pointed out these are development methods and have to be blended with other aspects of Project and Product lifecycle to be successful at a large scale. I have delivered 'agile' projects as a consultant, and even on fixed bid projects where our application integrated with multiple other systems, by using some blended methods of requirements management and a form of blended Systems Integration Testing. All while the development team ran scrum. This does take a lot more collaboration and integration with Stakeholders, and other projects, which is the premise of this article. But at the end of the day we were very successful. Ma ybe that will be my next article..... T hanks for reading, -Kurt
Reply | Reply with quote | Quote
 
 
0 # Asif Jehangir 2011-08-17 15:54
Your article is good , but I think in ERP environment where all the modules are integrated agile will not be a success , beacuse for each change you have to do impact analysis otherwise if you make changes in one module without doing impact analysis then that change will be failure. We have developed our own ERP but our products are cutomized and on & off we recieve requirements related to product changes , for this we do complete ERP impact analysis and also enterprise analysis. But whenever we have used agile methodology we always get stucked and requirements got prolonged and become never ending requirements
Reply | Reply with quote | Quote
 
 
0 # David Wright 2011-08-18 12:57
I am not anti-anything, if something works for you, take it to the max, just also recognize when it doesn't work either, be flexible in your methods, there is no absolute one way... Also, I think I was misunderstood earlier. It is absolutely crucial to define scope, then you know which possible requirements are actually in-scope or not. I was just saying that absolutely freezing scope and requirements until a product/system is delivered is NOT what you/we should have been taught as a BA practice. The key is short project phases to deliver a part of a system, the shorter the delivery period, the lesser amount of change is likely to occur, and that which does should be manageable without grossly impacting the delivery. This is incremental delivery, it has its roots in architectural approaches that define a whole system at a a high level, uses architecture to divide it into pieces that can be delivered separately, then get to the details when working on each piece. If you have a wealth of resources, you can even do several pieces in parallel. This is different than iterative delivery (use of iterations), which I understand is the basis for agile and is a big driver for RUP as well. In that you build a complete something (system, product, component) quickly, usually not complete enough to deliver, but enough to get the feedback to use in the next iteration to build/re-build the thing; do and repeat until done. You can certainly use an iterative approach to build increments of a large system, but I would not try it without the overall architecture. But not all development needs an iterative approach; if you can define the requirements , then just build it. There is a difference between using an iterative approach to elicit requirements because they are truly unknown (new product/service , new line of business), and using iterative because your requirements process is inadequate for defining knowable requirements (existing product enhanced, automating a a manual process). I understand the frustration of developers receiving crappy requirements, and using iterations to get to the actual requirements. It's just that with a good process, un-crappy requirements can be defined before development starts...and then be changed during development if the client agrees it is worth doing.
Reply | Reply with quote | Quote
 
 
0 # Bob Oehmen 2011-08-19 03:24
Nice article, nice food for thought. One of the biggest challenges is how to clearly document the changes to requirements. Obviously, I've developed some ways that work, up to a point. It's a balancing act, with no silver bullet. There's the need to have a document that is readable - by all the stakeholders. Well, primarily the BA's, programmers and QA. What the heck is the system supposed to do? You want to keep track of significant changes, without making the document unreadable. Hey, we decided to use codes 'x, y and z' on July 1, 2011. Then in a meeting on Aug 10, 2011, the users came up with different codes. Cool. But then some people missed a meeting, or forgot that we made changes. Using the 'track changes' option in Word has limitations. And what defines 'significant'? Part of this just 'comes with the territory'. But new ideas (maybe another article) would be nice. - Bob
Reply | Reply with quote | Quote
 
 
0 # Bob Oehmen 2011-08-19 03:29
Why are people still using the engineering metaphor for IT projects? I've been in IT since 1986, on the mainframe. Humogo projects and small. I find the Software development as Craft" much more practical. And, the idea of treating everyone involved in the process as reasonably smart people is the best thing I like about Agile.
Reply | Reply with quote | Quote
 
 
0 # David Wright 2011-08-19 06:04
Bob, 1) Change control, change requests systems are in wide use of course, but often to manage lists of requests to change systems. There are many pure Requirement Management Products as well. 2) I avoid metaphors and analogies for IT like, well, the plague. Beware Dilbert's Analogy Police! So I can't say I like your craft metaphor in general, and specifically it reminds me of Luddites attacking machinery... beware the code generator! Whe n I started out, the engineering analogy was in full vogue, including tools like IEF that I used that did generate code from models/specs. That they did not catch on may be more due to the reaction from software "craftsman" rebelling against them rather than the quality of the tools (IEF was a good one). It is just that software is such a different thing than the usual physical things that both craftsmen and engineers build. And those disciplines have existed for centuries, software is still really new. Analogies can be helpful in gaining understanding, but I would not use them to define what we do in creating software.
Reply | Reply with quote | Quote
 
 
0 # Kurt Solarte 2011-08-22 15:43
@Bob, Thanks for the comment it is a realistic issue I have faced too, many times. While we all have our own tips and tricks of how we work, I think in large implementations with lots of change (ie iterative or agile) a requirements management tool is key. I have the outline of another article around lessons I learned from Source Code Management, and how to apply those to Requirements Management; look for that one next.
Reply | Reply with quote | Quote
 
 
0 # JustAReader 2011-09-21 05:17
Pretty amazing sentence: "A project kick-off that includes an executive saying a few words of support for the new methods and mentioning that management is watching for this [SUPPOSEDLY COLLABORATIVE APPROACH] to be a successful implementation will go a long way to DROWN OUT THE VOICES OF THE DETRACTORS. So unds like the Scientists promotion Global Cooling, I mean Warming... I mean "Climate Change".
Reply | Reply with quote | Quote
 
 
0 # Kurt Solarte 2011-09-25 12:09
Not really sure what is meant by your comment JustAReader, but most of us here use our real names and make an attempt at thoughtful commentary and discussion. My statement was more a statement regarding organisational change management, then agile. I was pointing out that I have found the most successful org changes to include clear and expressed support from upper management. Since most org change will have its detractors which will get in the way of change.
Reply | Reply with quote | Quote
 
 
0 # Karen Spencer 2011-10-11 08:19
In my humble opinion, although the bits and pieces of this article sound right, altogether it raises a red flag. When the "authority" says we're going to do it, but the implementers stick with a lot of the familiar to do it in baby steps, there is a lot of value that is going to be missed. Ultimately, you end up with "Agile-Lite" and "Scrum-But" and an organization that either claims it is Agile, but things are not much different or an organization that says Agile/Scrum can't work here. As a BA, an Agile/Scrum approach can be such a relief! No more having to know it all up front and chasing down signatures on 100 page documents that you suspect (or know) aren't thoroughly read or understood and are forgotten or changed. It becomes more about working in the team on modeling problems, and solutions, that will be addressed by that team that week. Yup, this requires changes in your elicitation methodology, but not as much as you may think. It becomes more about engaging the stakeholders and less about logging documentation in the appropriate format in the appropriate place. Finally, the biggest change the BA should be adopting, the one that gives the most bang for the buck, is bringing the QA folks in at the beginning. We always spoke of "testable requirements" but User Stories with Acceptance Criteria gives the team an opportunity to create automated testing that becomes organic documentation that is far superior to anything ever done in the BRUP model.
Reply | Reply with quote | Quote
 
 
0 # David Wright 2011-10-12 14:53
"No more having to know it all up front and chasing down signatures on 100 page documents that you suspect (or know) aren't thoroughly read or understood and are forgotten or changed." Neve r good, of course; just be aware that Agile is not the only way to address this. Effective requirements discovery with direct involvement of SMEs/stakeholde rs for short periods of time can deliver a set of requirements that the participants own, no signatures needed.
Reply | Reply with quote | Quote
 
 
0 # Kurt Solarte 2011-10-13 10:08
@Karen Spencer, I appreciate the comment, and understand your points, but in my personal experience I find a purist approach can be a non-starter in many places. I am less worried about if my project is Agile-lite or Agile-pure, and more worried about if my method to project execution is delivering value. Am I getting closer to what my stakeholders want, and clarifying the understanding of our goals to the whole team? If so, you can call my method anything you like ;-) I would have to agree one of the best 'bang for the buck' is to bring QA people on earlier, and/or to do job swaps with Lead BAs and Lead QAs. The reality of many of my clients are that their budgeting and planning methods don't allow for it. They don't have budget for BAs to stay on longer or QAs to come early. That is why I like job swaps, if some of the BAs become QAs or vice versa, we can have the same person on the project the whole time, and have that constant coverage, but live within a more traditional budgeting model. Then after time we can make a case for changing that budgeting model and we have a workforce that understands the others job. @David Wright, Agree 100% 'agile' is not a silver bullet, or THE way to solve that problem, it is one of many ways. However, while effective discovery and good collaboration with stakeholders is key, I have not been at many clients that allowed collaboration to be a substitute for the signatures, especially in regulated industries. But it sure makes the signatures MUCH easer to get. Many of the Agile core beliefs are things good BAs and Team Members have known for a long time. Thanks to both for the comments
Reply | Reply with quote | Quote
 
 
0 # Joseph Ruffolo 2011-10-18 07:27
A good article, thanks. My struggle with Agile and as a BA manager, is the desire by some (PM) to shortcut or minimize the work of a BA. To me Agile means flexibility and just in time. It doesn't mean, "We don't need no stinking documentation".
Reply | Reply with quote | Quote
 
 
0 # Kurt Solarte 2011-10-18 08:25
Really good point Joseph Ruffolo, and that is a constant battle most of us will fight on a regular basis. I've submitted an article about using traditional BRS/BRD documentation in an agile environment and how I've constructed those documents in agile ways. I've found it can be a good first step towards moving a team or organization to more agile documentation.
Reply | Reply with quote | Quote
 
 
0 # John Quincy 2011-11-08 06:53
Most companies do not need agile, but CIOs hear that it is the bomb! Check out this funny video of how that works out: http://www.youtube.com/watch?v=nvks70PD0Rs John
Reply | Reply with quote | Quote
 

Add comment