December 2, 2003
The problem with requirements
We are sitting in the conference. It's my team, and the business process owner's team. Our thought process is driven by technological innovations, their thought process is driven by some health or business related passion. Maybe the passion is for billing accounts correctly and in a timely manner, maybe the passion is create an excellect training course for nurses, medical students, or physicians, and maybe the passion is to disperse policies to everyone in a timely manner. The point is we each focus on different things, and that is good.
We are here to have a requirements meeting. What's that? There is a business process that can be streamlined by a technical process. The requirements meeting is to determine the nature of business process. For our purposes here, everyone is gung-ho to move forward with let's say the e-procurement process for laboratory supplies.
So we are sitting down together to discuss this aspect, it is a new concept and everyone is happy. "This will be great, when we get it together"
It is a state of bliss, to determine the blue print for your new house. Only thing is software requirements are not like a house's requirements. Since the building process takes time, the business process the requirements were set to solve also evolves. Users don't see the physical house, the analysis, the construction of the code, the db, the object, or web services. So when they have a relatively minor enhancement to the business process, why isn't it just inclusive in the technical solution?
Well first, there needs to be more than just one requirements meetings, and there needs to be a we heard this, is this correct? Do you understand what we mean by this? type of dialogue between the techies and the business owners. Don't be afraid to ask questions, questions are needed, essential to the process. Ask what they do now, what do they invision in the future, what changes are planned? Document the requirements.
The other item is to revisit the requirements along the software lifecycle path, or product implementation path. The requirements are going to change. It would be nice if requirements could be frozen, cast in stone, and then pointed to like the ten commandments. But have you ever tried lugging stone tablets around? just not a good way to do things. They weigh you down. In all likelihood the business process you identified the solution for in the requirements stage of implementation will be different by the release stage of the software, and it is definitely going to change in the maintenance stage. Requirements are ever changing, because no one likes to get by on just the bare minimum that they require. Just add to the document the changes, and then try to determine the easiest way to implement the change. Then talk it over with the business owners the impact of the change. Is this a cosmetic thing? or is this going to need to change the live plan?
Since the business is changing, and therefore the requirements are changing, when building an application consider how to handle the changing requirements in the analysis and proposed solution with minimal impact to the overall design. For example don't waste your time specifying canned reports for the user to run, but has no ability to change. Instead, spend some time with the user, training them in access reporting, allow the users to create their own reports. Review the reporting needs, and ensure that all of the requirement data elements are captured. Expect data elements to be added or needed in the future, and create a db schema that allows those changes. In other words, have a software architecture that anticipates and is forgiving of change.
agreed
Posted by: dave at December 2, 2003 8:38 AMWe always use a prototype to help curb scope creep and its evil twin scope change. Of course this doesn't always work out but at the least we have a signed statement that clearly illustrates what page our side was on when the agreement was made. Thinking of your requirements as a blueprint is close but I'd rather think of requirements as the most agile step the process. Requirements are murky, they don't illuminate the entire picture. Consequently the language of a requirement is often open for intrepretation. A prototype is truely a physical blueprint that leaves nothing to the imagination.
If I where building a house for a client and upon completion he says, "Oh no, Brian, I wanted the bathroom on the other side of the house!", sternly. I can calmly unfold my blueprint and point at the exact place the bathroom was intended to be-- right beside his signature. A requirements doc could be debated; when debating with the guy signing the checks you will always lose.
Posted by: Brian LeRoux at December 2, 2003 2:13 PMFinally passed the test
Managing in light of McGregor's Theory X and Theory Y
CMMI
Kicking HIT Leadership Up a Notch
That's just some mumbo jumbo project management BS
Outcomes - The tactic to get to the strategy
Nurse Call, VOIP, and Wi-Fi: Its just cool when things come together!
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
December 2006
November 2006
August 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
November 2005
October 2005
September 2005
August 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
January 2004
December 2003
November 2003
October 2003
Joel on Software
David Ross
Edward Prevost
Martin Fowler
The Health Care Blog
The Tales of Hoffman
The Business Word
Medical Rants
Christina's Considerations
Paul Levy
HIS Talk
Appropriate IT
Candid CIO
RSS feed




