Search This Blog

Showing posts with label Requirements. Show all posts
Showing posts with label Requirements. Show all posts

31 October 2016

Corrections to LinkedIn's Course, Business Analysis Fundamentals

LinkedIn's inLearning course (apparently they got it from Linda.com), Business Analysis Fundamentals, provides plenty of useable information. However, I was frustrated with a number of points. The most damaging were the course's confusion about Validation, Verification, Traceability, and Stakeholders.

  • You validate requirements by confirming that they have authority, are necessary, and meet standards for quality. Validation looks upward.

  • You verify that requirements are met either by lower-level requirements or by the product. Verification looks downward. Methods include Inspection, Analysis, Test, and Demonstration.

  • The course reversed these distinctions and identified only Test as a method of verification.

  • Traceability links each requirement to directly-related higher- and lower-level requirements. Traceability enables validating requirements' authority and verifying their satisfaction.

  • The course's discussion of traceability focused on metadata about requirements' sources. While such information is useful, it is a very minor part of traceability.

  • Stakeholders include everybody who "has a stake in" the project.  The course focused on external stakeholders. It should have included the project team and other internal relationships such as other projects.

  • The course's definition of Functional Requirements includes activities that the project needs to do to deliver the product. It should also have included what the product does and how well it does it.

  • Since the course only half understands what constitutes functional requirements, it classifies Performance among nonfunctional requirements. Project performance is nonfunctional, but product performance is functional.

  • The course treats Transitional Requirements as a separate category. If the project performs a service, transitional requirements can be Functional requirements; and if the project creates a product, they are usually nonfunctional.

  • The T in SMART stands for Time-bound. The course replaces this with Traceable. The substitution is a good one, but it is nonstandard, and it requires that you include temporal requirements in Specific.

As I said, the course provided plenty of actionable content. I would be proud to work with the instructor, and I would learn a lot more from him that he would learn from me. However, we'd have to work out some issues, first.

04 May 2014

Trusting the Project Team

Vikas Gupta asks on Google Plus, pretty well answering his own question:
How much can/should a Project Manager interfere in the technical details of a project? For e.g. If a developer thinks that xyz is the most efficient way of implementing a functionality, is it unproductive for the Project team to have PM challenge that beyond a limit? I personally think that challenging the team members is ok, but a PM must trust the technical skills of team members and too much interference may demotivate the team.. Thanks in advance for your expert opinion!
 Discussion Link April 30, 2014

Project-Aria replied,
It is rare that a PM is just a PM.
Usually the PM also adds value by bringing technical expertise. Now the question here is: does the PM have the expertise in technical area in question. If yes, then yes. If no, then interference may be a dangerous path.
I would also note that communicate is a 2-way challenge. It is also important to all team members, including experts, to be able to explain their ideas and convince others. It is important for the expert to be able to communication without hiding behind a expert-cryptic language.
Apr 30, 2014

I think Vikas stated it well and correctly. Early in each design phase, the PM can ask the team to consider his personal favorite solution. The design team should then compare the various options for each architectural element and weigh them against each other. The result is a trade study that weighs the trade-offs and makes an objective recommendation of the best solution.

Unless the decision is very close, the PM should leave the decision to the results of the trade study. If he does not, it can reflect badly on him.
  • It indicates that he did a poor job of selecting his team.
  • It insults the design team and, as Vikas said, demotivates them.
  • It may indicate that he failed to have the design team include his favorite option in the trade study.
  • It may indicate that he failed to properly define the design parameters.
  • It indicates subjectivity, a failure to rely on objective evidence produced by the trade study.
  • It turns the time and cost of trade studies into waste.
  • Failure to trust often results from projection; that is, expecting others to do what you would do. Therefore, it raises issues about the PM's ethics.
  • Overriding the results of a trade study can create an appearance of impropriety (for example, the PM appears to take a bribe from the selected vendor or subcontractor).
As Project-Aria stated, the PM may bring enough technical expertise to deserve the right to override the design team; but he had better have convincing technical reasons for his actions and had better own up to his mistakes that made his action necessary.

If your experience has shown you more reasons why a PM should or should not override the decisions of his design team, I'd like to hear from you in the comments.

30 March 2014

Training the Software Requirements Engineer

What are different type of training required for a Software Requirement Engineer?

The correct answer is, it depends. Software requirements training should fit with the type of project management used by your organization.

One type of training you don't need

Many people think a software requirements engineer should thoroughly understand programming and software engineering. Obviously, you should know something about the software engineering discipline, but knowing too much can destroy your ability to write good requirements. This happens for two reasons.

First, good requirements should ignore the technology (such as which platform or language is used). This is because requirements should not dictate the solution; they should only define the problem to be solved. Devoting too much study to the technology will bias a requirements analyst toward particular solutions. This makes consideration of alternate solutions more difficult for the design engineers.

Second, requirements elicitation is an art as much as a discipline. Managing stakeholders, conducting meetings, choosing elicitation methods, and choosing methods for representing information require strong skills in psychology and communication. Putting all your energy into learning programming languages and tricks will cost you on the human side. It would be as great a mistake as putting all your energy into market research. You need to know enough about programming to win the respect of the designers and to communicate with them, but your job is to build a bridge between the customer and the designer.

What should I wear? Well... where are you going?

Organizations that work with large systems that integrate multiple technologies tend to follow traditional Project Management and Systems Engineering methods. They use some variation of the Waterfall model, such as the V model.

For a high-level understanding of Systems Engineering requirements methods, I recommend starting with INCOSE's (International Council on Systems Engineering) Systems Engineering Body of Knowledge (SEBOK) and using the SEBOK as a guide to subjects for study. Also consider studying Model-Based Systems Engineering, one subset of traditional methods, and SysML, the modeling language used for MBSE.

Organizations that work primarily with software tend to follow Agile project management methods. In Agile environments, requirements engineers tend to go by the title Business Analyst. I recommend starting with the IIBA's (International Institute for Business Analysis) Business Analysis Body of Knowledge (BABOK) and using the BABOK as a guide to subjects for study.

Agile is a set of principles and not an actual method. I have asked for a recommendation for a book that describes the different methods (such as Scrum and Kanban) but have been told no such book exists; for each Agile method, you need to find a different book.

The requirements methods differ considerably between traditional and Agile. Traditional methods nail down requirements and then negotiate schedule and cost. Agile nails down schedule and cost and then negotiates, prioritizes, re-prioritizes, and drops requirements.

The two methods do share some of the same tools. I suggest studying Unified Modeling Language (UML). UML is not a language, but a set of graphical methods for defining requirements. The most commonly recommended book on software requirements is Software Requirements, 3rd edition, by Karl E Wiegers and Joy Beatty.

02 November 2013

Communicating the Organization's Direction: The Missing Ingredient

The average worker could not tell you the vision of the employer.

To some degree, the average worker can perform just fine without knowing the mission and goals of the business. However, knowing the purpose of the work can guide decisions made in the course of the work. Perhaps more importantly, having a known, defined purpose can motivate the worker by providing a roadmap to the work's contribution. It provides a personal connection to the work and to the company. This, in turn, improves performance and retention.

Leadership can improve overall performance by communicating the vision, mission, and goals of the business, as well as the specific objectives of each project. (To cut down on wordiness, I'm going to combine all of those messages and call them the "direction" of the business.)

This topic could take up a whole book, but I will address a portion that I think leaders tend to forget. The specific methods and tools used will vary during the lifecycle of a project. For that reason, I would recommend organizing a more complete description of the topic around process groups or project phases:
  • Project selection
  • Project initiation
  • Project planning
  • Project execution
  • Project monitoring and control
  • Project closure
Defining the direction is part of creating the business plan. Any responsible business owner will create most of those materials and update them regularly. From there, communicating the direction requires breaking each section into a PowerPoint presentation, asking lower-level leadership to give it visibility, putting it to work in the organization, and setting up systems of accountability.

Businesses commonly forget to ensure that the elements of the business direction flow down to projects. Leaders present and promote the direction, but they also need to communicate it through actions that create the processes and provide the tools for carrying out the direction and controlling its implementation.

Just as the business needs to continuously review and refine the direction, the projects need to ensure alignment with the business direction. For example, many project managers set the contract as the highest level of requirements. However, many decisions made within a project depend on the business direction.

Leadership can take one step to communicate business direction by empowering Project Scope Management. They can do this by making available a good Requirements Management System (a tool such as DOORS or CORE). The project managers should then include the business direction's documentation as the top level of each project's requirements. During the project lifecycle, the project can ensure that decisions support the business direction and all requirements trace to the business direction.

Many leaders focus on communicating business direction through presentation. However, they must also communicate it through action. Obviously, actions include specific soft-skill behaviors such as demonstrating the importance of meetings by prompt attendance. But they must invest in resources that empower their teams to use direction as a tool and to use it as the measuring stick of performance.

20 June 2013

Agile, Waterfall, and PMI Project Differences

I've been asking about the differences between Agile projects and traditional project management.  Many explanations err by answering the question only from a software or Information Systems perspective.  While Agile primarily appears in the software industry, the different approaches appear in many industries and product areas.

Since the Project Management Institute (PMI) offers both Project Management Professional (PMP)® and PMI Agile Certified Practitioner (PMI-ACP)® certifications, it would seem that Agile contrasts against traditional project management. 

However, it would be more instructive to contrast the Agile approach against the "traditional waterfall approach" of Systems Engineering.  (Refer to the International Counsel on Systems Engineering (INCOSE) for details.)

Agile uses a highly iterative approach that works better when requirements are vague and must be defined over the course of the project.  It is more appropriate for, as an example, the next set of security updates to Windows or the next year's model of the Ford Mustang.

The waterfall approach assumes progressive or phased elaboration of a fixed set of requirements that can be defined, validated, and turned into a design architecture or solution, from top to bottom.

However, Agile methods can still be used for portions of the system, particularly peripheral functions of the software. It is more appropriate for, as an example, the core of MS Project 2015 or a new hybrid squirrel-electric vehicle.

 
Copyright 2013, Richard Wheeler -- Permission granted for non-profit or personal use with a link to this post.

IT Metrics and Productivity Institute (ITMPI) Premium membership gives members free access to 400 PDU-accredited webinar recordings and waives the PDU processing fees. The library is growing at about 100 webinars per year. Check it out: http://mbsy.co/dPHm?s=e

27 April 2013

Links to Management Resources

General Management Resources

Process Asset Samples and Templates

Project Management Newsletters

Project Management Resources

Project Management Tools

PM Social Media and Online Study Groups

Technical References

PM Blogs

PM Study and Free Resources

  • PM Study - Free Simulated Practice Test, Sample Guides and Podcasts, Work Experience Hour Calculation Tool
  • PM Success - 400 Questions of the Day
  • Head First Labs - Free PMP Practice Exam
  • Simplilearn - Articles and instructional videos

Agile Study and Free Resources

  • ScrumStudy - Free learning resources (including the ScrumStudy BOK) - Hat tip to Kylie Wilson in the Comments.

This is a work in progress. Add links to your favorites in the comments, below, and I'll add them.

10 April 2013

The Difference between Accuracy and Precision

In technology and science, accuracy and precision are different, although they go together.

For the measured characteristic
  • Precision is described by the range of values.
  • Accuracy is described by the difference between the average value and the specified value.
Lets have a goal of making two batches of cookies and specify that they measure 5" across. Afterwards, we measure the cookies.

Chocolate cookie widths
  • Average = 5.10 "
  • Range = 0.25"
Cinnamon cookie widths
  • Average = 5.01"
  • Range = 0.50"
The chocolate cookies have a smaller range of sizes, so they are more precise. The average size of the Cinnamon cookies comes closer to the specified value, though, so they are more accurate.
 
Does that seem counterintuitive?
 
For a measurement or a measuring tool
  • Precision is described by how many significant figures the tool gives you.
  • Accuracy is described by how closely the measurement matches the value of a standard device and also by how accurate the standard is.
As another example, I have two 18" rulers.
  • One came from a store that sells drafting supplies. It is graduated in 16ths of an inch.
  • The other, I made for myself after I loaned the store-bought ruler to a neighbor kid. I based it on one cubit (18"), the length from my elbow to my finger tips. When I graduated the cubit ruler in 50ths of an inch, I eyeballed the measurements and marked it by hand.
 The cubit ruler is more precise, but the store-bought ruler is more accurate.

23 March 2013

The Best Project Management Software

Project management covers many knowledge areas. Developers approach PM software functionality from the perspective of a particular discipline or PM knowledge area. The approaches usually focus on a narrow selection of the following needs:
  • Requirements
  • Software Development Life Cycle (SDLC)
  • Agile methods
  • Model Based Systems Engineering (MBSE)
  • General verification/validation
  • Software test management
  • Software test management with scripting
  • Issue and change management
  • Product definition from a market research angle
  • Scheduling
  • Cost management
  • Resource management
  • Project communications
  • Scope and requirements definition
  • Quality management
  • Configuration management
As a result, all the solutions I have looked at work for only a small portion of project management. For example, MS Project would be useless for requirements management, and DOORS would be useless for project scheduling.
 
Some developers stress integration of their products with other products -- preferably their own. For example, Rational (specializing in SDLC) bought DOORS and worked on integrating the two product lines. Then IBM bought Rational and expanded the integration effort to include other IBM products.
 
Implementing many PM software products and then tailoring them to the organization's needs can require permanent, trained resources. Integrating several products can take years, even in large organizations.
 
With the current state, I believe any attempt at a total PM solution will require a very large initial effort, significant support to maintain the solution, and an acceptance that some interfaces between PM processes just have to be done by hand.
 
Therefore, to answer the question, "What is the best software/tool for end-to-end Project Management?" you need to prioritize the areas of PM because no product addresses the end-to-end needs -- or at least, the top-to-bottom needs.

Life Cycle Costing for Projects

Defining Life Cycle Costing

Life cycle costing (LCC) looks at the cost of the whole life of the product, not just the cost of the project. A product has two major cost phases, the project phase that designs and produces the product, and the O&M phase where the owner operates, maintains, and decommissions the product.

(A lot of Project Managers (PMs) forget decommissioning. As an extreme example, consider how much it will cost to maintain and protect a nuclear waste site for the next 500,000 years.)

The design philosophy is part of the project scope.  The customer may want a cheap, disposable product, so the design team would not put much effort into designing for low maintenance, low manning, and long lifespan.

On the other hand, the customer may need the product to last a long time.  Operations costs can include:
  • building more units
  • maintaining equipment
  • training users
  • expanding, upgrading, or re-purposing the product
  • providing consumables
  • procuring replacement and spare parts
  • transporting, installing, or disposing of waste
Operations can far outweigh the initial cost.

The scope statement, the Statement of Work, the nature of the product, industry standards or government regulations, and the user needs can guide decisions about what aspects, if any, of life cycle costing to include in project planning.

What LCC Means to the Project

Considering operations and maintenance costs requires including, as part of the scope, performing the project in such a way as to keep O&M costs down for the customer.

For example, easy access to a car's timing belt decreases the amount of labor the owner has to pay to have it replaced, and using a steel widget instead of an iron one results in fewer failures due to corrosion.  Such steps will increase the cost of the project, but they may decrease the customer's total cost of ownership.

Considering operations and maintenance costs also requires estimating the cost of the entire product life cycle.

A point exists where spending more on reducing O&M costs would not cut total cost of ownership.  For example, making windshields out of the material they use in Soyuz windows might mean never having to replace cracked glass after a bird hit, but it would cost more than the rest of the car.

For this reason, the project will include a trade study that estimates the total of both the project cost and all the costs incurred by the customer after product delivery.  As its goal, the study will recommend ways to minimize the total cost.

What LCC Means to the Project Manager

The PM should consider the following steps to ensure project success:
  • Make sure the customer considers cost of ownership and agrees to LCC goals.
  • Ensure that project scope and project requirements clarify LCC goals.
  • During project planning, account for the effects of those requirements on the project.
  • Oversee a trade study to determine the best compromise between project cost and O&M costs before project planning is finalized.
  • Make sure the customer understands cost tradeoffs between a cheap project and a project that produces a product with characteristics such as longer life, less expensive maintenance, and greater safety.
  • Get approval of the LCC strategy from the customer and authorization to follow that strategy from the project's sponsor or management.
Please let me know in the comments if you have any corrections or additions.

19 March 2013

Life Cycle Costing for Project Planning

Life cycle costing looks at the cost of the whole life of the product, not just the cost of the project.

A product has two major groups of life cycle phases, the project phases that conceive, design, produce, and deliver the product, and the Operations and Maintenance (O&M) phases where the owner operates, maintains, and decommissions the product.

Some products also have phases where proof of concept testing, design refinement, and prototyping overlap with O&M phases.

(A lot of PMs forget decommissioning. As an extreme example, think about how a chemical or nuclear waste site might require maintenance and protection for the nest 500,000 years.)

The project scope should define the design philosophy. The customer may want a cheap, disposable product, so the design team would not put much effort into designing for low maintenance, low manning, or long service life.

On the other hand, Operations costs such as building more units, maintenance, training users, expansion and modification, providing consumables, transporting, installing, and disposing of waste can far outweigh the initial costs.

The scope statement and the nature of the product will guide in deciding which aspects, if any, of life cycle costing to include in project planning.

12 March 2013

Difference between Quality Assurance and Quality Control

Major Differences between QA and QC

The difference between Quality Assurance (QA) and Quality Control (QC) can easily get lost among all the words. Some simple contrasts will help separate the two in your mind.
 
1. QA is primarily proactive. QC is primarily reactive.
 
2. QA focuses on the methods. QC focuses on the results.
 
3. QA uses some statistical methods to analyze how work is done, but QC uses a lot of measurements and statistics to make sure you get the right results.
 
4. QA's scope how the project gets done, whereas QC's scope includes how well the work got done and how well the product or service meet the requirements.
 
Putting those together, Quality Assurance assures you will get the product or service right by making sure the work gets done using the best methods. Quality Control measures and analyzes to control the quality of the product, service, or project execution, and to verify whether it meets the requirements.
 
If you view your studies of QA and QC with this framework in mind, the rest of the differences will make a lot more sense.
 
Example
 
I like food, so let's use a restaurant as an example.  Normally a restaurant would be Operations (not Project), so let's assume that our fine establishment will cater an event and, therefore, Chef Boyardee has a project to manage.

QA (proActive Execution) may find weaknesses in processes or standards due to problems that have occurred. For example, Waiter A wanted to take a break, but Waiter B did not know to whom to deliver the food. We have identified a new stakeholder requirement: Waiters need the ability to hand off orders to each other.

The head waiter improves the process by requiring all waiters to include the table number and seat code for each order. Thus, QA reacts to the problem, focuses on the processes and tools, and enables improvements to the project.

QC (reactive Control) may find a trend indicating an approaching problem. The Chef inspects the food before it is served and notices less steam rising from the tandoori vegetables. Although the food is still acceptable, the temperatures are trending downward.

Before customers start receiving food below the Lower Control Limit of temperature, the Chef determines that the tandoori cook's burners are not getting enough propane. The Chef alerts the cook, who swaps in a fresh propane tank.

Thus, QC Monitored the product, analyzed the data, performed a Root Cause Analysis, and enabled proactive control of an issue before it became a problem.
 
Warnings about Generalizations
 
Remember, "proactive" and "reactive" are generalization to differentiate the two processes. QA (proActive Execution) can be reactive and QC (reactive Control) can be proactive, as well.
Is it safe to say that QA involves polices and procedures ... while QC involves actual work on a product or service?
Yes, as a generalization, it is "safe to say that QA involves polices and procedures ... while QC involves actual work on product or service."
 
One important note: Process and procedure are ambiguous terms, and every organization has its own definitions of them. Both QA and QC can initiate improvements to (processes or procedures).
 
For example, one level of (process or procedure) might instruct personnel to collect the materials and drawings, then have the machinist construct the widget, then have QC inspect it.
 
Another level of (process or procedure) might instruct the machinist how to program the machine, mount the raw materials, push the buttons, release and label the widget, dispose the scrap, and prepare the machine for the next task.
 
From that point of view, QA might perform quality audits to verify that a high level (process or procedure) is being followed, but QC might verify that a detail-level (process or procedure) was followed correctly and with the right results. Both QA and QC involve (processes or procedures).
 
Reminder:  This discussion is just about the major differences. When you look at the details and the ambiguous terms makes it confusing, refer back to the big picture for perspective.

16 January 2013

Buyers versus Users

The new project manager (PM) or systems engineer (SEs) knows that the Seller, the person or organization providing deliverable products or services, must fulfill the scope defined by the Buyer. The Seller and Buyer usually negotiate a Project Scope Description which the project Sponsor includes in the Project Charter. Details of the project scope description may be found in the contract, Statement of Work, and any subsequent approved Change Requests.
 
The PM also knows that the Project Requirements must detail the project scope through requirements analysis and through creation of a Work Breakdown Structure (WBS) that has enough granularity to define project tasks at a manageable level.
 
New PMs or SEs may overlook the importance of a third party: Users.
 
Users are people or organization who put their hands on the product or receive the service. The Buyer may or may not be the User. For example, as part of a project to set up a business office, a manager (the Buyer) may want to buy spreadsheet software for his analysts (Users).
 
In one contract, my company upgraded communications equipment for an agency (the Buyer) that needed new types of signal channels. The Buyer owned the equipment, but another contractor provided the operators, and yet other agencies utilized the communication channels.
 
Even though we took our direction from our contract with the Buyer, we coordinated with the third-party Users to validate the Buyer's requirements. Unhappy Users would have been reflected by an unsatisfied Buyer, which would have cost us future business.
 
The PM must gain acceptance from the Buyer by satisfying the requirements. However, in many projects, the PM must also define the requirements in enough detail to ensure that they reflect the Buyer's needs. This implies added responsibilities:
  • The differences between needs and requirements must be identified as early as possible in order to prevent expensive changes later.
  • If meeting the needs increases the scope, schedule, or cost, the PM must inform the Buyer and negotiate changes as soon as possible.
  • The PM needs the courage to help the Buyer understand what he needs and what he will not receive.
  • Enough time should be spent during the planning phase of a project to ensure that meeting the scope, requirements, and needs will result in a happy Buyer.

Returning to the example in the first paragraph: The manager may think he can get by with Lotus 1-2-3 (ca. 2000), but the analysts are familiar with Excel 2007 and need the new functions that come with Excel 2013. The PM needs to advise the Buyer to take a class in computer literacy.

Copyright (C) 2013, Richard Wheeler. Permission granted for use not involving publication.


Project Cancellation

While you are directing and managing your project execution, your sponsor tells you that your project has just been terminated. Will you complete Verify Scope process before closing your project?

Yes, verify scope provides an opportunity for the PM and the sponsor to document the project status at that moment... that can be used for lessons learnt as well for future projects. (Name withheld)

No.

Process 5.4, Verify Scope is the process of formalizing acceptance of the completed project deliverables and includes reviewing deliverables with the customer or sponsor to ensure that they are completed satisfactorily and obtaining formal acceptance of deliverables.... (PMBOK) Since the project has been canceled, no more deliverables will be accepted. Completing the Verify Scope process would waste resources.
 
Exceptions not indicated by the question
  • The terms of a cancellation could include acceptance of whatever has been completed.
  • The company could preserve the deliverables in their current state for use in future projects, in which case, knowing their quality would have value.
Note 1: If one traces the flow of outputs from the Verify Scope process, the next step for any Accepted Deliverable is process 4.6, Close Project or Phase.
 
Note 2: Documenting the project status at the time of cancellation would start with Work Performance Measurements produced by following process 5.5, Control Scope, the process of monitoring the status of the project and product scope and managing changes to the scope baseline. (PMBOK).
 
The PM would then follow process 10.5, Report Performance, to analyze the project's progress, producing Performance Reports. For the final step, following process 4.4, Monitor and Control Project Work, the PM updates Project Documents, including performance reports and issue logs. (The PM would also make other updates to Project Documents during that preceding processes.)
 
Note 3: Non-accepted deliverables would be subject to the Direct and Manage Project Execution or Perform Quality Control processes (and their design and production partner processes). The Direct and Manage Project Execution and the Close Project of Phase processes might invoke some sort of Disposal process to handle the non-accepted deliverables.

Copyright (C) 2013, Richard Wheeler. Permission granted for use not involving publication.

16 October 2012

Handling a Customer's Wishes

Under what circumstances might change requests to the project's scope be denied? How can i handle a customer's wishes if the scope change is not approved.

Short answer: The Project Manager's (PM's) job is to handle the project's requirements, not to handle the customer's unfunded wishes.

Scope changes always affect schedule, cost, quality, resources, and/or risk. A PM will not approve a change that negatively affects those constraints unless it is necessary in order to meet other, higher-priority constraints. 

Obviously, if adding a bell means going over budget and falling behind schedule, the PM will disapprove it. On the other hand, if the customer will not accept the project because the whistle toots with the wrong tone, then the PM may approve spending more to tune the whistle. 

Remember, these are business decisions. At some point, the penalties for cancelling a project may cost less than the cost of completing it.

The above deals mostly with changes requested internally. If the customer requests a change, the PM will present the customer with the effects (cost, schedule, ...) of the change. The customer then bears responsibility to sponsor or reject the change. 

As always, this is a business decision. Even if the customer will bear the cost, extend the schedule, and forgive any realized risks or impacts on quality, the available whistle-tuners may have been committed to another project (inadequate resources), or the loss of reputation (even though the customer specified the wrong tone) may hurt the business in the long run.

To "handle the customer," get out your requirements traceability matrix and present the effects of the change on the scope. Then present the effects of the change on cost, schedule, etc.

Copyright (C) 2012, Richard Wheeler. Permission granted for use not involving publication.

03 June 2011

The Verification Cross-reference Matrix (VCRM)

Background

After defining and organizing requirements, managers need to track compliance.  This post describes a method used in engineering, but the method helps with any kind of project. The Verification Cross-reference Matrix (VCRM) addresses, or puts you on the path to addressing, many needs.
  1. Requirements, as documented through surveys, interviews, analyses, contracts, Statements of Work, standards, or regulations often mix requirements with preferences and background information. Before you begin work, you need to isolate the essential information to gain approval of mutual understanding between customers and the planners or designers.
  2. To determine or reflect the steps of the service or the components of a product (for example, in a Work Breakdown Structure), you need to organize requirements.
  3. Before starting work, you need the team's agreement that the requirements make sense. For example, are they SMART -- Specific, Measurable, Achievable, Realistic, and Timely? (There are many variations on SMART, and it is only the beginning of the types of tests one can apply to requirements. For example, is the requirement written in active voice? Does each sentence have exactly one requirement? Is each requirement verifiable?)
  4. The planners or designers need the requirements in a format that allows them to check off each requirement as they put it into effect in the plan, solution architecture, or detailed design.
  5. Risk analysts need a list of requirements for early what-if analysis.
  6. Test engineers need to identify parameters that will require measurement. They will need to add requirements to build measuring points and measuring devices into the system, or they will need to obtain test or monitoring equipment.
  7. Verification requires planning the conduct of testing so that it occurs in a logical order and in coordination with other processes such as project phases, start-up, or burn-in.
  8. Validation and customer acceptance require relating the results of verification back to the original requirements as evidence of compliance with the terms of the contract and fulfillment of the customer's needs.
This post provides a summary of traditional methods that support the above needs.  Each topic above could lead to another post, or even books. When exploring this area, one should consider another tangential topic, requirements traceability. Traceability allows creating threads showing linkage of the details to the general requirements. This allows management to
  • identify every detail that may be affected when a more general requirement changes
  • prevent creation of details that the general requirements do not authorize
  • ensure that the details fulfill every general requirement
  • re-use portions of the product's or service's organization in future projects for cost and schedule estimating and for planning or design.

The VCRM

A VCRM lists the requirements of a specification and identifies the method(s) for verifying them. The details included in a VCRM vary with the customer, the phase of the contract, the nature of the contract, and the relationships within the contract.

Simple VCRMs such as the one used by NASA in figure 1 list requirements and the appropriate quality control methods for each requirement. This would more properly be called a “Requirements Verification Matrix.” Detailed VCRMs may include considerably more, such as test ownership, verification requirements, and verification results.
Figure 1. Simple VCRM from a NASA specification. (Click for larger version.)
The QC methods normally include Inspection, Analysis, Demonstration, and Test (IADT).
  • Inspection includes qualitative observation. "The fruit basket shall include three Granny Smith apples." (You don't need to run DNA tests to verify that.)
  • Analysis includes computation or comparison to historical or experimental data.
    • Computation: One might have to calculate the power of munitions, since using them destroys them.
    • Comparison/Similarity: Since Project A used Widgets, Project B can re-use the historical data to show that the Widgets meet its requirements.
    • Modeling and simulation: We have all seen photos and videos of smoke streaming over the wings of model airplanes or cars in wind tunnels. Did you know that scientists can run computerized simulations of galaxies colliding? They get the results a lot quicker than when they wait around billions of years to see what happens.
  • Demonstration verifies performance of a function that does not require qualitative measurement.
  • Test verifies that a function executes within specified parameters.

Variations

Figure 2 shows an example VCRM from the Department of Transportation that includes the complete text of each requirement, added information about the verifications, and the party responsible for each requirement's verification.
Figure 2. Example VCRM from the DOT. (Click for larger version.)
The DOT calls what NASA used (figure 1), a Requirements Verification Matrix. The simpler table does not really cross-reference the requirements to anything else. The DOT adds part of the Test Plan (columns 4-6) before calling it a VCRM.

The DOT adds Certification of Compliance as a test method. They don’t define it, but it sounds like a type of Inspection where you inspect a certificate rather than inspecting the product. Since the contract has multiple sellers, Certification of Compliance might refer to using certificates provided by an equipment provider. For example, if the Government furnishes its own equipment for the contractor to install, it may already have verified the equipment’s compliance. Other examples would include calibration certificates or certifications by independent testing labs.

Figure 3 shows an example of a procurement specification that allocates verifications to contractual phases and cross-references performance requirements to verification requirements. Figure 3A shows the table and figure 3B shows verification requirements.
Figure 3A. VCRM used by U.S. Army Corps of Engineers. (Click for larger version.)
Figure 3B. Verification requirements used by U.S. Army Corps of Engineers. (Click for larger version.)

Figure 4 includes a “VCRM” that documents not only the verification plan, but also the data that determines compliance. This goes beyond calling it a “VCRM.” It should, perhaps, be called a Verification Report.
Figure 4. Verification requirements used by U.S. Army Corps of Engineers. (Click for larger version.)
Forcing design and requirements engineers to identify verification methods protects both Buyer and Seller by ensuring that the requirements are verifiable. By definition, one cannot verify an unverifiable requirement. Without objective verification criteria, a Seller can falsely claim to have fulfilled the contract or a Buyer can claim the Seller did not fulfill the contract. Including VCRMs in specifications allows general agreement about requirements verification methods and prevents problems during product acceptance and at contract closure.

In the world of paper requirements documents, VCRMs occupy an appendix or the beginning of the Quality Assurance section. Each document contains its own VCRM. Simple tables contain the data. However, Requirements and Test engineering should control VCRMs centrally. The reason requires taking a tangent into requirements control.

Tools

Many projects now used a database such as DOORS to control requirements. Databases' storage tends to isolate a sentence from its context, forcing statement of each requirement explicitly and independently. The repetition is a pain, but it ensures design quality by forcing exhaustive identification of requirements and by reducing or identifying ambiguity in the scope.

At one company, a project manager employed a distributed requirements database. He allocated requirements using spreadsheets and distributed them to the various design teams. He reassembled the spreadsheets later.

During the project, multiple teams took ownership of some requirements, while nobody took ownership of others, especially when one team would try to transfer ownership of a requirement to another team. Project management had to play catch-up with ownership changes and the teams had to take corrective actions to address dropped requirements.

The lack of centralized control also resulted in the loss of rationales and lessons learned. A robust requirements database would have retained such information. Even a requirement labeled "not a requirement" would have been retained in previous baselines.

Instead, teams kept records at inconsistent levels of detail and often discarded records after deeming them irrelevant to their own efforts.

A requirements database allows you to trace up and down the layers requirements as they are decomposed. One can use Excel spreadsheets for a simple set of requirements. A larger operation needs tools such as DOORS, RTM, or a database developed in house.

Such tools allow one to verify product scope by ensuring that lower-level specifications satisfy each top-level requirement. The help prevent requirements creep by verifying the contractual authority of each bottom-level requirement. This is called traceability.

One can also take the requirements database to the next level by adding (or linking to it) a Verification layer. The Verification layer identifies the Test plan that verifies each requirement. A robust database could even contain the test documents and results.

Case Study

A friend, Jim Pannunzio, once worked on a contract for a first-of-its-kind product. Since many requirements had high risk of being unachievable, the contract provided incentive fees for accomplishing the high-risk requirements.

The company had not used the right tools, so they had not traced some successful tests to the requirements and had failed to bill the customer. This cost them money. When Jim cross-referenced the verifications to the requirements, he found a number of such requirements. Jim also found requirements that the company had failed to verify. This allowed him to suggest further verification.

By identifying untested requirements and untraced successful verifications, Jim’s attention to detail brought hundreds of thousands of dollars of added revenue to his company and turned the project from an economic failure into a success.

Conclusion

Tight integration between requirements and verification provided by a VCRM forms a vital link between design and thorough quality control, between contractual provisions and acceptance, and between the buyer’s and seller’s bank accounts.

For more information see:

Scukanec, Stephen. A Day in the Life of a Verification Requirement. Northrop Grumman. 28 January 2008. http://sstc-online.org/2009/pdfs/SJS2408.pdf
or
Scukanec, Stephen, and James van Gaasbeek. A Day in the Life of a Verification Requirement. Northrop Grumman. 24 October 2007. http://www.dtic.mil/ndia/2007systems/Wednesday/AM/Track1/5536_1004_1042.pdf

Sources:

Figure 1: Goddard Space Flight Center, Greenbelt, Maryland. National Polar-Orbiting Operational Environmental Satellite System (NPOESS) Preparatory Project (NPP), Science Data Segment Requirements Specification, GSFC 429-05-11-01. April 7, 2005. http://nppwww.gsfc.nasa.gov/PEATE/NPP_SDS_Lev3Req.doc. Downloaded 1 June 2011.

Figure 2: Office of Operations, Federal Highway Administration, Department of Transportation. Testing Programs for Transportation Management Systems: A Technical Handbook. Appendix A, Example Verification Cross Reference Matrix. June 20, 2007. http://ops.fhwa.dot.gov/publications/tptms/handbook/app_a.htm. Downloaded 1 June 2011.

Figure 3: Engineer Research And Development Center, Corps Of Engineers, U.S. Army Topographic Engineering Center, Alexandria, VA. Performance Specification: Improved
Position and Azimuth Determining System (IPADS), MIL-PRF-52955C. 8 November 2002. https://aais.ria.army.mil/AAIS/Award_web_03/DAAE2003D01500000/DAAE2002R0177/attach_exhib/spec_attachment_2.pdf. Downloaded 1 June 2011

Figure 4: Baun, Rich. GLAST Large Area Telescope: LAT Pre-Shipment Review: LAT Level Test Verification Process. Gamma-ray Large Area Space Telescope. 27 April 2006. http://www.slac.stanford.edu/exp/glast/flight/rdm/livepreship/04_Test_Verification_Process.pdf. Downloaded 1 June 2011.

Copyright 2011, 2013, Richard Wheeler -- Permission granted for non-profit or personal use with a link to this post.

IT Metrics and Productivity Institute (ITMPI) Premium membership gives members free access to 400 PDU-accredited webinar recordings and waives the PDU processing fees. The library is growing at about 100 webinars per year. Check it out: http://mbsy.co/dPHm?s=e

10 May 2011

Expectations versus Requirements

Discussions about expectations and requirements tend to focus too narrowly on the relationship with the customer. Expectations come from a much broader group, however.

On a tangent: We do not manage customers. We manage their expectations. Managing customers is just a little too proactive.

Stakeholders include not only the customer, but also management, regulators, subcontractors, and the various departments within the performing organization. Figuratively and to varying degrees, everybody involved is a customer. Expectations, therefore, fall into categories that vary from documented requirements and undocumented management decisions down to bad ideas.

For example, management expects the project to stay within 5% of a given budget. Although management's expectation is not a requirement, it bears just as much force.

Other stakeholder expectations might become product or project requirements during requirements decomposition. For example, -ilities Engineering may identify environmental or safety expectations that the systems engineer will record as requirements.

At an intermediate level, expectations might include awards, schedule needs, training, or internal deliveries of work products or tools that people need in order to do their jobs -- all things transparent to the Buyer.

On the other hand, Marketing may want gold plating that, since they went around the systems engineer, falls to the project manager to reject.

Everybody has expectations. Expectations carry varying degrees of force, but only those that define binding project success in the eyes of the Buyer constitute requirements.

Those in LinkedIn's INCOSE group can read a running discussion about the topic.

------------------

IT Metrics and Productivity Institute (ITMPI) Premium membership gives members free access to 400 PDU-accredited webinar recordings and waives the PDU processing fees. The library is growing at about 100 webinars per year. Check it out: http://mbsy.co/dPHm?s=e
 

27 March 2011

Must versus Shall

Updated 2 April 2011

Many think "shall" wishy-washy and "must" unambiguous. They have it backwards.


Few understand the differences between "will," "must," and "shall." For example, since "shall" conveys a sense of weightiness, people often use it pretentiously when "will" would do.

The ambiguity of "shall" lies not in the word, but in confused vocabularies. "Must" has ambiguous timing, certainty, and force whereas "will" and "shall" imply future fulfillment. Additionally, "shall" implies certainty and authority.

A "must" may occur at any time, and its importance can range from zero to critical. One could say "it must have been," "it must be," or "you must obey." "Must" can imply reasons ranging from fulfilling a desire ("You simply must visit us!"), achieving an ends ("To retire comfortably, you must save"), or avoiding injury ("You must remember your anniversary"), to fulfilling a requirement ("The roses must be red"). It can also denote a high probability ("Since A, B, and C are impossible, the answer must be D").

A "shall" may occur only in the future relative to the time of writing, and it implies not merely prediction as "will" does, but it implies certainty or determination ("It shall come to pass that locusts will devour your grain..."). Legal and contractual language assumes satisfaction of the requirement, so "shall" denotes a command or a requirement that will, with certainty, come to pass. I did not say, "shall, with certainty, come to pass" because that would have been redundant.

"Must" carries ambiguity regarding not only timing and certainty, but also regarding consequences. Another way to say this is that "must" leaves open the question of "why?" whereas "shall" makes it clear that this is a contractual requirement. One might say "you must," but saying "you shall" implies "or else...." Shall implies a future, required or commanded action or condition, with consequences if not fulfilled.

"Must" is ambiguous. "Shall" has a narrow meaning and usage -- for those who understand the terms, at least.

Part 2.

I agree with using simpler language. "Shall" only applies to requirements statement such as

Writers employed by ABCXYZ Company shall only use "shall" to indicate requirements.

Dumbing writing down just because people don't grasp the precision of the imperative "shall" (or where to use it) crosses the line.

Someone asked, "isn't it always up to the client?" The client may have a style guide over which the employee has no influence, so sometimes, it is up to the client's preferences.

However, it is not always "all up to the client." Clients have the final say, but the Business or Engineering experts hire writers for their expertise in technical English. Technical writers should dig for expertise in their domain and tell clients what they need and why they need it. Otherwise, they should hand over their jobs to admins.

In a discussion, someone challenged me with definitions of "must" and "shall." He also claims that an Illinois Supreme Court ruling, PEOPLE v. GARSTECKI, cast doubt on the clarity of "shall."

From Dictionary.com

Shall
  1. plan to, intend to, or expect to: I shall go later.

  2. will have to, is determined to, or definitely will: You shall do it. He shall do it.

  3. (in laws, directives, etc.) must; is or are obliged to: The meetings of the council shall be public.

  4. (often in invitations): Shall we go?


Must
  1. to be obliged or bound to by an imperative requirement: I must keep my word.

  2. to be under the necessity to; need to: Animals must eat to live.

  3. to be required or compelled to, as by the use or threat of force: You must obey the law.

  4. to be compelled to in order to fulfill some need or achieve an aim: We must hurry if we're to arrive on time.

  5. to be forced to, as by convention or the requirements of honesty: I must say, that is a lovely hat.

  6. to be or feel urged to; ought to: I must buy that book.

  7. to be reasonably expected to; is bound to: It must have stopped raining by now. She must be at least 60.

  8. to be inevitably certain to; be compelled by nature: Everyone must die.


Neither #1 definition applies because both refer to a first person context, and I only defend "shall" used in third person sentences that state mandatory requirements.

Definition 2 of "shall," "will have to, is determined to, or definitely will" indicates confident prediction. Although this is not the applicable definition, it still leaves no wiggle room for non performance, should the reader mistakenly use this meaning.

Definition 3 has two points. "In laws, directives, etc." is not limited to laws. The IEEE has trended toward use of "shall." That applies to "directives, etc." such as processes, statements of work, and requirements specifications. Engineers aren't known for their flawless grammar, but this does demonstrate that in at least some usages, "shall" has taken on an unambiguous meaning.

("Shall" Def. 3, cont'd) "Must; is or are obliged to: The meetings of the council shall be public" repeats the idea that no wiggle room remains for non performance. The Illinois Supreme Court ruling in People v. Garsteki, does cite a Third Court of Appeals ruling that "shall" sometimes means "may" or "must;" but then it clarifies with a Second Court of Appeals ruling that "'shall' had a directory (strong advisory) reading when it was modified by the phrase 'whenever practicable.'"

In other words, "shall" means "mandatory" until defined conditions negate it. The meaning "may" was not inherent in "shall" itself.

Moreover, the ruling that the Illinois Supreme Court reviewed pivoted not on the meaning of "shall," but on whether the lower court observed exceptions and conditions contained in the relevant stature. It had little bearing on "shall" versus "must."

Definition 2 of "must" -- the first definition applicable to third-person usage as in requirements documents -- "to be under the necessity to; need to: Animals must eat to live," implies reference to a cause.

"Shall" avoids the question, "why?" by asserting authority whereas "must" leaves open the possibility of mitigating the reason. That's a dangerous ambiguity for creative types.

A creative astrohusband might address the cause by putting his cows in hibernation or might address the need by feeding his pigs intravenously, thereby circumventing the "must." The first applicable definition of "must," therefore leaves wiggle room for non compliance.

"Must" definition 3, "to be required or compelled to, as by the use or threat of force," fulfills the need of a compliance document.

Definition 4, "to be compelled to in order to fulfill some need or achieve an aim," parallels definition 2. The sense is not "mandatory," but "needed," which could be addressed in other ways. "Must" demands the question, "why?" Any term that demands more questions than it solves cannot be called "unambiguous."

Definition 5, "to be forced to, as by convention or the requirements of honesty: I must say, that is a lovely hat," would fit right into the structure of a requirement statement. Why must the operator place the box on the top shelf? Because that's his duty? Because that's where we've always kept it? You can't exclude this meaning, just from the structure of the sentence.

I admit, "must" definition 6, "to be or feel urged to; ought to," is conversational. However, some argue against "shall" based on how people process it. This meaning of "must" works (incorrectly) in a typical requirement statement. Definition 1 of "shall" does not. That renders disambiguation of "must" much more difficult. The same applies to definitions 7, "to be reasonably expected to; is bound to," and 8, "to be inevitably certain to; be compelled by nature."

The two (2) applicable definitions of "shall" imply unambiguously the certainty of a requirement. The seven (7) applicable definitions of "must" imply weight that varies from desire to compulsion.

As Garstecki states, if in 3rd-person use, "shall" means anything other than that the verb is mandatory, then it is superfluous; if it is there, it is there for a reason.

But I could be wrong.

Additional reading from both sides of the issue:

PEOPLE v. GARSTECKI, Illinois Supreme Courte, No. 106714, September 24, 2009. http://caselaw.findlaw.com/il-supreme-court/1272225.html

“Shall” Versus “Will.” Grammar Girl Episode 119, July 22, 2008. http://grammar.quickanddirtytips.com/shall-versus-will.aspx

The Judicial Council of California. http://www.courtinfo.ca.gov/jc/documents/reports/1004ItemA27.pdf

The US Food and Drug Administration. http://www.fda.gov/AnimalVeterinary/DevelopmentApprovalProcess/ucm078511.htm

Ministry of Economic Development (New Zealand)
http://www.med.govt.nz/upload/67526/changes_to_the_securities_regulations.pdf