A Two-Way Requirements Verification Process during Design Phase, Page 2
- 2a - Detail Requirement or Functional Design: Verify the
functional design by using Activity Diagrams, which will be
derived from Use Case Flows. The review needs to be done not
only with business analysts but also with the business
users. The discussion can be facilitated by Business
- a. The purpose is to review with the business from technical perspective without technical language.
- 2b - Candidate Architecture and Technical Design: This
is the key area where critical 2-way requirements
verification needs to happen in an iterative way.
- a. Using the Activity Diagrams developed in the previous phase, review the functional flow for the following conditions. Hint: Technical team needs to ask questions as if they are writing code.
- i. Error Conditions for functional or business logic failures, technical failures and the relevant user experience expected under such conditions.
- ii. Try to get the severe defects that occurred in all
the business areas in production and use them to shape the
questions. It also, forces business users to bring similar
information to the table.
Example: While designing a retail banking site or any transaction site for credit card payments, try to see what kind of problems other functional areas of the bank had faced and what other banks are doing. This type of forum can also present an opportunity to quiz or offer suggestions to business users about different or better options from ever changing compliance, regulations and/or from security perspective.
- iii. Repeat the process while doing the technical design.
- iv. Make sure Business Analysts and Business Users will review final artifacts and sign off.
- b. Technical team needs to lead the discussion. The best results can be obtained if this is done as a Joint Application Development (JAD) process.
- 2c - Detail Technical Design: While finishing up the technical design, complete the Unit Tests with some business scenarios as much as possible. Review them with business analysts and business users.
- a. Take advantage of QA groups and involve QA resource at this stage to develop the unit tests.
This is a simple yet powerful technique if used properly. This is not a silver bullet for all the problems but would certainly help to minimize the risk and defects and puts the focus on key aspects of any software solution development.