Sunday, March 22, 2009

Requirements

Project Kickoff...excitement is in the air. We are going to really do a good job on this project. How will you, the business system analyst, developer, project manager and the business subject matter experts (SMEs) determine what the system should do when you are finished? There are many people involved. Everyone person hasdifferent expectations and needs. How do you deal with these difficulties, gather reasonable requirements quickly, and be agile?
There are some real common sense things to do which basically come right out of the PMBOK.

Identify stakeholders - Who is it that we are really going to listen to on this project? Who is vocal and who is knowledgable and really who owns it...these are the stakeholders.

Find a Vision Statement. This can come from senior management or the stakeholders. It must capture the essense of the project. On some of my projects, it has been almost like a second verbose name for the project. The team identified with it.

Now comes the hard part...them pesky requirements. The "Software Requirement Specification", the "User Stories", the "Use Cases"...oh...and are they Business, User or Functional requirements.
The excitement is quickly wearing off...this is where projects reach a real make or break stage. Successfully navigating requirements obstacle course and ending up with requirements that a developer can code to and a quality assurance specialist can test to is paramount to overall project success.

So the real point of this entry in my blog...how do we do that hard part. What tools? How verbose? Are little index cards sufficient? Do we need an inch or two of paper? How do we keep them up to date? Is this just a stage and once we finally get past it we can get to the fun part of doing the project?

I would suggest that you break free from preconcieved notions of what a requirement, a change request, a use case, user story have been tradionally and look at the problem fresh.

I came up with using a mind manager (XMind or FreeMind) as the tool of choice. It captures requirements in a lightweight fashion...I will blog more on the success of this tool next time...

Outlined below are important items to keep in mind for successful requirements capture and recording:

1. There are three levels of requirements.
1. Business Requirements - High level objectives of the project which are recorded in the Vision and Scope Document
2. User Requirements - Task and facilities available to the end user recorded in the Use Cases
3. Functional Requirements - Detailed listing out of each behavior that the software must exhibit. This along with the quality attributes and other non-functional requirements is documented in the Software Requirements Specification (SRS).

more to come soon...

No comments: