Search This Blog

Showing posts with label Systems Engineering. Show all posts
Showing posts with label Systems Engineering. Show all posts

28 February 2015

The Black Hole of the Agile World: Systems Thinking

Agile fanatics (excuse me: practitioners) love to do things in tiny increments.

That's OK for products where bite-sized deliveries have value, but it's fantasyland for many real-world projects.

Take, for example, the design of a new car. Sure, you can break the car into systems -- chassis, body, safety package, motor, and so on. Waterfall does that, too, but let's consider the airflow over the body. The airflow is affected by the whole assembly. Every part affects the whole. You can't just design a fender in isolation and say, "Looky, looky, I've delivered value!" No, you've delivered an irrelevant piece of scrap.

In any course on Business Analysis, the importance of a unit on Systems Thinking cannot be overemphasized because the Agile world has completely forgotten its value. 

Before the 1990's, there was a role called Systems Engineer.

That title is still around, but the job is not. At least, the job has become a rare grain of wheat a vast field of tares.

A Systems Engineer had many skills of a project manager, a BA, a Systems Thinker, and a cross-disciplinary engineer, all rolled into one.



Along come companies such as Microsoft and Cisco, dropping the qualifying word from titles such as Network Systems Engineer, Software Systems Engineer, and Server Systems Engineer. Suddenly, every engineer, analyst, and administrator is a Systems Engineer. I wish I had a paycheck for every time a recruiter has contacted me with a so-called Systems Engineer job that turned out to be for an IT admin or a software coder.

True Systems Engineering jobs have become needles in a field of haystacks, and systems thinking has almost been forgotten.

Thousands of Systems Engineers lost their jobs due to decimation of the US Defense sector in 2009. (I proud of myself for not pointing out the predictable political element of that.) They still find three strikes against them:
  1. Transitioning to a different job category such as Project Management or Business Analysis
  2. Getting a foot in the door of a different industry (other than fast food)
  3. Living in a job market where all the growth is in part-time service jobs and has gone to low-skilled workers
Hiring managers would do well to consider bringing in experienced cross-disciplinary, systems thinkers. It would not take much training to bring them up to speed in new roles such as PM or BA.

Have you ever thought of a project as a system of people, or a product as a system of technologies? Systems Engineers do that instinctively, and such integrated systems thinking could prevent a lot of headaches for maturing companies.

Now, if you'll pardon me; I need to clean up a spill in aisle five.

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.

04 June 2013

What to Call Risk and Opportunity Management

Many writings lump risk management and opportunity management together under the label, Risk Management.  Risks and opportunities are left-pointing and right-pointing rays on the same line.

Many equate risk with probability, so they drop opportunity from the label. They think of risk as an abbreviation for risk and opportunity. Others worry, then, that opportunity will be forgotten -- as it usually is!

When one speaks of risk [and opportunity], one speaks of the probability that something will happen. That is,

Risk = Probability x Impact, where Impact is a loss

and

Opportunity = Probability x Impact, where Impact is a gain

If risks and opportunities are rays pointing left and right, then opportunities are negative risks. If you deal with them in the same matrix, pay extra attention to your negative signs.

Risk and opportunity management can result in influencing the probability, influencing the impact, or other strategies such as accepting a potential loss or waiting to deal with situations when and if they become an issues.

(Remember that a situation is a risk if the probability lies between zero and one.  A situation is an issue if the probability is one.)

Uncertainty Management

Could we simply call it Uncertainty Management?  Uncertainty would only deal with influencing the probability that something will occur. The face-value of the term fails to imply the other strategies for dealing with risks or opportunities. The name of this knowledge area should reflect the highest-level concepts, not a component concept.

Opportunities and Threats

Another pairing of terms comes from SWOT analysis - Strengths, Weaknesses, Opportunities, and Threats. SWOT analysis is one technique for identifying risks and opportunities.

Opportunities and threats, as a pair, emphasizes the influences or situations that affect or can be affected by a person or project. (In fact, threat implies that the risk event comes from outside, whereas risks can be either internal or external.)  SWOT analysis emphasizes identification of risks. It makes up only a fraction of the whole set of risk and opportunity management processes.

A Common Risk:  Failing to Deal with Opportunities

Many people forget to manage opportunities with the same vigor that they apply to managing risks.  Exploiting opportunities can mitigate the potential impact of risks. The reasoning goes, Risk A may set us back a week, but Opportunity B may save us a week.

PMs have other reasons to exploit opportunities.   Exploited opportunities cut costs, relieve schedule pressure, and improve quality. In short, they maximize profit.

Failure to exploit opportunities wastes resources, causes product lines to stagnate, erodes market share, and results in lost jobs (perhaps your job!) when the company withers.

The failure to exploit opportunities is itself a fundamental risk.

Therefore, referring to the practice as Risk and Opportunity Management calls attention to the oft-forgotten second half of the discipline. 

Remember that semantics is about communicating, not about winning arguments.  If somebody refers to risk management, you know what they mean.  Adjust.

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

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.

23 March 2013

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.

09 February 2013

Project Management Career Path

In terms of study, what path should one take to become a project manager?

First, unless you have several years of project management work experience, I would suggest obtaining the Project Management Institute's (PMI's) Certified Associate Project Manager (CAPM) certification. After that, study the qualifications for the Project Management Professional (PMP) certification and create a plan based on those qualifications. The plan should include studying PMI's Project Management Body of Knowledge (PMBOK) Guide and added studies based on the PMBOK Guide's process knowledge areas.

Second, familiarize yourself with the International Counsel on Systems Engineering (INCOSE) Systems Engineering Body of Knowledge (SEBOK). After achieving PMP certification, pursue INCOSE's certifications. PMI certification will give you a top-down perspective across all departments whereas INCOSE's certifications will give you a bottom-up understanding of the engineering processes and products.

Studying these two knowledge areas in this order should provide a faster path, on paper, to project management and beyond. However, if you would prefer a career path leading to a Chief Engineer title, you might reverse the order. Pursing Engineering in Training (EIT) and then Professional Engineer (PE) certifications would be valuable on the technical career path, too.

Third, study people, develop lots of relationships (focus on the personal aspects and what you can do for them, not on what you can get out of them), and find at least one mentor other than your supervisor. These are critical.

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.


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.

19 June 2011

Gaming HR's Job Site Limits

Multi-talented people who qualify for multiple positions within large companies have a new reason to bypass HR and use networking to reach hiring managers. Large companies with online application systems create this situation by limiting the number of cover letter and resume versions applicants can use. This severely limits the number of positions to which one can apply.

For example, I applied for an Industrial Engineer (IE) position with a major Defense contractor. Their system stores only one version of an applicant's resume. When I applied for a Systems Engineer position, the system could only use the resume and cover letter I had crafted for the IE position.
  • Sidebar: That's Systems Engineer, as in multi-disciplined, end-to-end technical managers of projects. IT Systems Engineers and specialists in other disciplines are generally not Systems Engineers, even though many companies give them the title.
This practice allegedly limits the ability of resume-spammers to apply for jobs for which they do not qualify. Counter-productively, it also limits companies' access to high value, multi-talented people. An applicant could apply for multiple jobs under the old mail-in paper filing system, but poorly implemented technology places a governor on the flow of applications.

When HR looks at my application for the Systems Engineering job in two weeks, they'll see the cover letter and resume for the IE job and say I'm unqualified. In fact, they'll ask, "Why's this IE applying for a Systems Engineering position?"

Had I replaced the IE version with my Systems Engineering version, the same thing will happen. In fact, when the IE hiring manager goes to retrieve the IE versions of my cover letter and resume, they will no longer exist in the database.

Even worse, if I applied for all the positions I have the skills for, HR might consider me a job-spammer and ban me from the whole system.

Using a generic version does not solve the problem. For many reasons, generic resumes do not compete with tailored, targeted versions.

The systems severely limit how often you can apply for jobs, even if you're fully qualified for each one.

I may have found a way around this limitation for some job sites. Some offer a way to upload supporting documents such as certificates, transcripts, copies of licenses, etc. One can upload a file containing a tailored cover letter and resume. My hypothesis: If the primary resume in the database gets past HR's screeners, the hiring manager will see your "supporting documentation."

Game HR's web application system if you must. Better yet, bypass HR through networking.

15 June 2011

Systems Engineers, IT, and Sanitation Engineers

I feel a strong kinship to the civil engineer who specializes in garbage removal and landfills when PC bureaucrats call garbage collectors Sanitation Engineers.

The IT industry labels just about anybody a Systems Engineer. They demean the title by giving it to people who have skills in computer networks, software coding, or server administration, but may have little or no education in engineering, no multidisciplinary background, and no high-level perspective of systems development. I respect the IT folks knowledge and the hard work they put in to acquire their expertise, but that doesn't make them engineers, let alone systems engineers.

Systems Engineers work both at detail and at higher design levels. They consider business needs, requirements analysis, risk management, cost estimation, project planning, use cases, life cycle analysis, design, integration, and verification and testing. Their broader perspective requires formal, multidisciplined education and extensive experience so they can communicate with and bring together business, management, and engineers from different disciplines to communicate with the customer and deliver a complete and coherent design or service.

Two guilty parties who lead the title inflation include Microsoft, with its Microsoft Certified Systems Engineer certification, and Cisco Systems, with its Cisco Certified Network Engineer certification. MCSEs and CCNEs know their subjects, but passing a test qualifies them as technicians or technologists, not as engineers who devoted four or more years to passing hundreds of tests in dozens of subjects.

Some say the usurpation of the SE title is a non-issue. As a job-hunter, I disagree strongly.

The mis-labeling has wasted hundreds of hours of my life over the past 20 months. I have to access and scan dozens of job descriptions for each systems engineering position I find.

Example:  Sherlock Tech knowingly inflates a Systems Administrator into a Systems Engineer. You're full of you-know-what, Sherlock.

When you multiply that by having to read dozens of systems engineering job descriptions to find one position for which I qualify, you find a very large, tedious, and discouraging task.

Many disciplines such as hydraulics, controls, mechanical, optical, power, and manufacturing engineering -- not just IT -- usurp the term. In their case, the mis-labeling constitutes a lateral misplacement. The problem seems not merely due to inflation, but also due to laziness. This compounds the challenge of job searching for SEs, but also for job hunters in those other disciplines.

The Department of Labor and state employment departments have contributed by cataloging some technical occupations by discipline and others by industry. For example, aerospace and IT are not disciplines; they are industries. Computer systems, networks, software, and (cross-functional) are disciplines.

When I was in school, we already had a term and major for students of IT. It was Computer Systems Engineering. (Some schools lagged in separating out the computer majors from Electronic Engineering, or Electronic Engineering from Electrical Engineering, too.) Software Engineering had just starting to break out as a separate discipline.

A little specificity would go a long way in the job market.

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