This course uses a tool to manage the requirements analysis process to make sure business needs are reflected and implemented in applications software. REVEAL supplements the PRISM tracking process to manage details that may clutter status reporting, to link detailed requirements with specific implementation steps. The nature of these steps depends on the type of project involved: the related methodology is focused on a hierarchical elaboration of requirements to define exactly what must be achieved. You can associate REVEAL with detailed SPRITE project management to track specific steps where a requirement is executed. The objective is that no requirements are overlooked.
REVEAL can be effectively used to explore and document what stakeholders want from a project, and to monitor the project deliverables to make sure that what is delivered is what stakeholders were looking for. Stakeholders see the value of requirements management making sure that the project delivers on promises made to customers, while the project management focus is the delivery on time. That is why too often projects fail in delivering quality due to poorly managed requirements. We know that projects are increasingly complex, that changes occur and that communication about what is required can be challenging, but it is essential to be certain and to have a mechanism for tracking what the project delivers. REVEAL essentially operates as a “shadow tracking tool” to link established requirements to project gates and estimates, where with the help from a QA function the implementation of required process features can be confirmed.
Researching and documenting requirements is a difficult task. A good requirement must be SMART: Specific, Measurable, Actionable, Referenced, and Traceable:
Requirements management consists of an inventory of what is expected at each stage of the project, and a reference to when the implementation of the requirement is confirmed. A management plan does not have dates, it has definitions of requirements, with a separate reference for each bundle of work in which a requirement is featured. At established checkpoints QA confirms that each requirement is accounted for in the delivered results before further work is done:
The team needs to understand what they are building and how that relates to the requirements we have in our management process. They will be able to understand “why” a requirement is important because it documents context to the goals and objectives for the project, feedback from the elicitation process, and confirmation of decisions about the requirements. Understanding increases predictability of future results and lessens the potential for issues or changes during work in progress, assuming that we start with a well thought-out set of requirements.
A requirement is usually described as a document (physical artifact) that details aspects of the final result of a project. We often look for details about what the final product or service must do and how it will be used. We need to understand the required functionality, and the value it brings to the project initiative. Whether the actual collateral is pure text, a drawing, a model, a mock-up, or a simulation, the key is that we must have an audit record for each instance of that requirement in the project so that we can trace its implementation. Analysts, developers, testers, and other resources, must confirm that they understand the requirements before the work is initiated – there is no sense arguing after the fact that the needs did not get expressed in a manner that allowed the work to be performed.
REVEAL provides an Excel™-based tracking repository that mirrors to the development process except for a unique tracking record for each detailed implementation responsibility. It allows us to track the work, and to monitor when a specific milestone is expected to be reached so that the requirements contribution can be confirmed. This management process is independent of the manner in which “needs” or “goals” are defined as “use cases”, “features” or “functional requirements”, or as agile development “epics” and “stories”: if it looks like, sounds like, acts like a requirement, then it is a requirement. Requirements are essential to product development: without clear requirements results could be incomplete or defective.
Through the life of a project many participants contribute to defining requirements. A business analyst may initially work with stakeholders to understand what the business needs are. A stakeholder might request a feature by describing how the product will provide value in solving a problem or delivering a service. A designer might define a non-functional requirement based on how the final product should look or perform from a standards, usability, or end-user interface viewpoint. A systems engineer might create a system requirement that adheres to specific technical or organizational constraints like security or access restrictions. Starting with high-level requirements the details are fleshed out as sub-sets within the higher level, and this can be done iteratively until finally we list entries in each work package within a project plan to make sure we know how that work package will address the overarching need.
For sophisticated products or software applications we may collect hundreds to thousands of detailed requirements in order to have a clearly defined scope of work. A structured management repository is a necessity for projects of any size, and the information must be accessible to team members involved in a collaborative development effort. They must be alerted to changes (if any) that impact the work pending to make sure they do the right things at the right time. The tie-in between the requirements repository and the project plan should help to control work in progress, prevent work packages from being released when they are canceled or being changed, or alert the stakeholders what work has been completed that by then have become sunk costs.
Team collaboration can improve the final result based on receiving support on decisions and in planning good requirements: often the choices change when the team uncovers details that were unknown before. Everyone has a stake in projects and provides feedback: not only the client sponsors and stakeholders who are paying for the work. In some projects participants are just told what to do, and so there is none of the desired shared sense of commitment and understanding of what the project should accomplish. If the developers and testers are unclear about expectations issues lead to frustration that can cause delays on the projects. With a shared repository everyone can confirm expectations when they are ready to get going with the work, and the innate filtering selections in Excel™ make it a snap to focus on relevant items.
Requirements traceability describes a structured repository to organize and track the documents that are requirements artifacts, and to monitor how the requirements are being satisfied through the different stages (or gates) of the development process. This is not as complex as it might seem: it is just that there can be an awful lot of detail to manage, a good reason for having a repository on hand. We can have just one repository, or more likely several repositories, depending on how much control you want:
The data dictionary should be able to trace each requirement back to an original business objective and product “owner”, which allows us to identify the impact changes have, and whether that requirement was implemented and tested, and above all to make sure we do not break something that is working.
Managing change is an important project management responsibility to prevent “scope creep” within approved work in progress. Scope refers to the project charter that approves what work may be done to deliver a product, services, or result within a given budget and time-frame. Scope creep is when projects drift away from what is authorized to implement new (sometimes not asked-for) functionality that may be at the expense of requested functionality that may not be delivered. Similarly, the data dictionary has change management to make sure that a project does not alter functionality in a way that is at odds with what are approved corporate standards. The project may only change established functionality of that is formally approved by the product management, then the change implementation is managed by project management processes until the final product is delivered and the new definitions become formalized.
REVEAL maintains a history of changes to requirements that show what was, what is, and what may be if proposed changes are approved. This provides visibility that supports communication and impact analysis and we can establish the domino effect of successive changes. Some features are “nice to have” but can only be implemented if bundled with another scope of work (that way the project overhead costs can be shared across objectives). Bundling work to optimize the value of the project work is not scope creep, but if that pick-up work causes time or cost budgets to be exceeded then it must be delayed to a later project. It is important to understand that requirements should never be determined within the project even if we propose to use Agile development methods. When the change management process is compromised it can put the entire development organization in jeopardy, which in turn puts the company at risk.
Quality is something that goes into a project, you cannot test it into the project at the end. Therefore, if we can get requirements sorted out properly at the beginning of the project, and we can establish testing rules to confirm that the implementation is correct, we can have more confidence in the results from the system development life cycle process. Generally there will be fewer errors, which means less re-work or fewer compromises, which then delivers the end-results to greater customer satisfaction. Getting it right the first time saves money and reduces conflict within the larger development organization. Testers that find problems at the end of the SDLC often get pushback for all the wrong reasons, not the least of which is that (by then) the development budget has largely been spent while there is little to show for it.
We noted earlier that testers can help during the requirements definition stage to establish appropriate SMART requirements to prevent, or to detect and fix, problems at the earliest stage in the SDLC, rather than later in the process when it’s much more expensive to fix. With proper requirements (as well as with the analysis and evaluation that goes into the definition) we can reduce development defects by 50-80% while we make sure that the implementation is tracked and testing is performed at optimal times before problems get buried. The cost escalation of finding bugs later in the process can be scary: it can cost up to 100 times more to correct a defect later in the development process. To understand that more clearly think of finding a foundation defect in the parking garage of a condominium building that is almost ready for occupancy – how much more complex do you think that will be to fix as compared to checking shortly after the concrete is poured that the mix meets the required specifications?
The REVEAL repository ensures that developers on any team can have access to current requirements to make sure they do not develop results based on expired requirements or ones that are not yet approved. An ounce of prevention is worth a pound of cure in development as well, which is why REVEAL will be one of the cornerstones of implementation projects of all kinds, not just for Information Technology projects.
This course is currently available in a classroom setting (public or company private) with approximately 30 contact hours (5 days).
Each course offers a certificate of completion that identifies the course, the student, and a brief description of the course. To receive a certificate the student must have attended at least 80% of the course sessions. This personalized certificate is forwarded to the student by Email.
Each course includes a notebook in PDF format that provides the minimum knowledge the student must master in order to obtain the certificate. In the notebook you will find references to other study materials. Students receive the notebook by Email when their registration is confirmed.
An overview of this study program can be downloaded from the website by right-clicking on the program link on the enquiry page.
A list of upcoming training sessions can be downloaded from the website by right-clicking on the schedule link on the enquiry page.
To register for any training course please look on the enquiry link page of your service provider (from where you accessed this website). On the page you will find a registration request form where you can order the course that you are interested in. The availability dates will be provided to you, along with payment instructions if you decide to go ahead.