Making systems1: Fundamentals
Appendix A   From stakeholder need to model purposes

A.1 Introduction

In Chapter 16, I presented an approach for determining what features and capabilities should be supported in the project in order to do a good job of building a system, and meeting stakeholder needs. In this appendix, I present the detail of that derivation.

Bear in mind that this derivation results in a set of objectives for a project. It does not say how any particular project should meet these objectives; each project must decide those things in ways that meet the specific needs of that project and that system. The objectives can be seen as a set of considerations that each project should examine as they decide how to run the project.

The derivation only addresses matters that are related to the project’s approach to building a system. There are many other factors outside this scope: matters of project management, or of policy in the organization that hosts the project. Where appropriate I have made notes of these matters external to the system-building scope.

A.1.1 Stakeholders

The set of stakeholders is:

  1. The customer for which the system is being built;
  2. The team that builds the system;
  3. The organization(s) of which the team members are part;
  4. Funders who provide the investment to build the system; and
  5. Regulators who oversee the system and its building.

I introduced each of these in Section 16.2.

A.1.2 Model elements

I introduced the model for making systems in Section 7.3. This model is organized around the tasks that need to be performed to build the system, and has the following elements:

  1. Artifacts that are created by performing tasks, and represent the system and records about it;
  2. The team that builds the system by performing tasks and making artifacts;
  3. The tools that people on the team use in doing tasks; and
  4. The plan that organizes what tasks need to be done, in what order, and using what resources.

In addition to these elements, I have include an element for matters external to the system-building project for matters that stakeholders need but that aren’t about building the system itself.

A.1.3 Derivation

The derivation maps stakeholder needs onto objectives for parts of the model.

undisplayed image

The result is a set of objectives or capabilities that people should consider when working how how the project should operate.

I discuss each stakeholder in the sections that follow, along with tables of the needs or objectives of each. The objectives that support these stakeholder objectives are annotated with a right-pointing arrow: →.

A.2 Stakeholders

A.2.1 Customer

The customer (see Section 16.2.1) is a stakeholder who wants the system built because they are going to use the system. They may or may not be funding system development directly—if they are, then they are also a funder below.

model:2 Customer
2.1 Fill purpose
The project must deliver a system that meets the customer’s purpose
2.1.1 Know purpose
The project must know what the customer’s purpose for the system is
model.artifacts:2.1
model.plan:3.2.1
model.team:2.1.1.1
2.1.2 Build to purpose
The project must produce a system that meets the customer’s purpose
model.artifacts:1.1, 2.1, 4.2, 4.4, 4.5, 5.1, 5.2
model.plan:1.2, 2.1, 2.2, 2.3, 3.3, 3.3.2
model.team:2.2.1, 2.2.2, 2.5.1
model.tools:3.1, 3.2, 4.1
2.1.3 Know requirements
The project must know the customer’s reliability, safety, and security requirements
model.artifacts:2.1.2
model.plan:3.2.1
model.team:2.1.1.1
2.1.4 Meet requirements
The project must produce a system that meets the customer’s reliability, safety, and security requirements
model.artifacts:2.1.2, 4.5, 5.1, 5.2
model.plan:3.3, 3.3.5
model.team:2.2.1, 2.2.2
2.1.5 Free of errors
The project must produce a system that is free of errors
model.artifacts:4.5
model.plan:3.3.5
model.team:2.2.2
2.2 On time and budget
The project must deliver a system by the required deadline and within the needed budget
model.plan:1.2.5, 4.1, 4.2
2.2.1 Know budgets
The project must know the budgets and deadlines for delivering the system
model.plan:3.2.2, 4.1
2.2.2 Know consumption to date
The project must know the resources and time that has been used to date that count against budgets or deadlines
model.plan:4.1.1
2.2.3 Project forward usage
The project must be able to project the resources and time required to complete the system or meet other deadlines
model.plan:1.2
2.2.3.1 Uncertainty
The project must be able to estimate the uncertainty in any forward projections of resources or time
model.plan:1.2.1
2.2.4 Control execution
The project must be able to control execution to adjust resource and time consumption
model.plan:1.2.4
2.3 Certifications
The project must deliver a system that has appropriate certifications or approvals
2.3.1 Know regulations
The project must know the regulations or standards that apply to certification/approval
model.artifacts:8.1
model.plan:3.2.5
2.3.2 Follow process
The project must follow any processes required to get certification/approval
model:2.5.2
model.artifacts:8.2, 8.3
model.plan:3.3.1.1, 3.3.2.1, 3.3.3.1, 3.3.7
2.4 Release and deployment
The project must be capable of releasing a version of the system and deploying it to a customer
model.artifacts:1.1, 6.1
model.plan:3.4
model.team:2.5.1
model.tools:3.5, 4.3
2.5 Evolve system
The project must evolve the system in response to changes in customer or other needs
2.5.1 Receive requests for change
The project must be able to receive and process requests for change from the customer
model.plan:5.1, 5.3
model.team:2.1.1.2
2.5.2 Receive regulatory changes
The project must be able to receive and process changes in regulatory requirements
model.plan:5.2
model.team:2.3.1.2
2.5.3 Know purpose of change
The project must know the purpose of the change (and the change in system purpose that results)
model.artifacts:2.2
2.5.4 Build to meet change
The project must be able to produce a system that meets the changed purpose while maintaining the system’s other purposes and requirements
model.artifacts:1.1, 2.1, 2.2, 4.2.1
model.plan:1.2, 2.1, 2.2, 2.3, 3.3.6
model.team:2.1.1.2, 2.2.1, 2.2.2, 2.5.1

A.2.1.1 Filling purpose

A customer has some purpose for the system, meaning something they want to achieve by deploying and using the system. This is the problem that the customer wants solved, which is a higher-level concern that the specific features that the system will provide.

A customer may have additional requirements on the system. They likely have a need for a minimum level of reliability. They likely have needs related to safety and security of the system.

The project needs to build a system that can meet this purpose and the requirements.

The project can meet these needs by:

A.2.1.2 On time and budget

The customer likely has a deadline by which they would like the system delivered. They likely also have a budget for how much they want to invest in acquiring the system. At minimum, customers generally want the result as soon as possible and for as low a price as possible.

To meet these needs, the project should:

A.2.1.3 Certifications

In many industries, some kind of certification or approval is necessary to operate the system. An aircraft, for example, needs a type certification from the local aviation authority as well as approval for a specific instance of the aircraft. Even if there is no overt certification required, there are often regulatory standards to be met.

The project must build the system in compliance with regulations. When certification is needed, the project must follow the process to get that certification.

To achieve this, the project should:

A.2.1.4 Release and deployment

The customer needs the system actually to be delivered and put into operation. The project must deliver the system, and provide or support its deployment.

To do this:

A.2.1.5 Evolve system

The the system is successful, the customer often finds that it can be made even better with some changes. Or the customer’s needs may change, and they will want the system to adapt to meet their changed needs. The project should be able to maintain and evolve the system to support the customer’s changing needs.

A system may also need to change when regulations change.

The project can support an evolving system by:

A.2.2 Team

The team (see Section 16.2.2) is the collection of stakeholders who build the system. These people need the things that skilled, technical workers generally need: satisfaction, security, confidence, compensation.

Meeting these needs is mostly outside the scope of systems-building itself. These needs are largely met by the project and organization management who create the environment in which the team works. Still, there are aspects of systems-building that can help (or hinder) meeting the team’s needs.

The analysis of a team’s needs presented here is somewhat idealistic. It focuses on skilled workers who are not readily interchangeable, whose value to a project derives in part from the knowledge they carry about the system being built. It assumes workers motivated largely by work satisfaction and have essential material needs met by their compensation. These assumptions lead to a particular balance of power between the team and the organizations that employ them. This would not apply to a team of interchangeable workers or workers whose material needs are not well met by their employment.

model:3 Team
3.1 Satisfaction in the work
The team must have work that challenges them and results in satisfaction in what they produce
3.1.1 Positive outcome of work
The team must have confidence that their work will have a positive outcome
model.external:1.1
model.plan:1.1, 1.2
3.1.2 Challenging work
The team must find that the project’s work challenges them and makes use of their skills while remaining achievable
model.external:1.1, 1.2
3.1.3 Avoid irrelevant work
The team must believe that they are not being asked to do irrelevant work as part of the project
model.artifacts:1.3, 1.3.1
model.external:1.2
model.plan:1.2.5
model.tools:1.1
3.2 Appropriate staffing
The team must be staffed with the right people to do the work
3.2.1 Sufficient staffing
The project must have sufficient staff, with the right skills, to build the system
model.external:1.3
model.plan:1.2.3, 6.1, 6.3
3.2.2 Not overstaffed
The project must not be overstaffed in a way that leaves some unable to make meaningful contributions
model.external:1.3
model.plan:1.2.3, 6.1, 6.4
3.3 Sufficient supporting resources
The project must provide the team with sufficient resources to do the work
model.tools:3.2, 3.3, 4.1, 4.2, 5.1
3.4 Secure position
The people in the team must feel secure in their position in the team
3.4.1 Understanding of fit
The team members must understand how they fit into the organization
model.external:1.5
model.team:1.1
3.4.2 Clear expectation
The team members must have a clear and correct understanding of their responsibilities in the project
model.plan:1.2.7, 2.4, 3.2.3, 6.2, 6.3
model.team:1.2
3.4.3 Fair evaluation
The team members must have an expectation that their work will be fairly evaluated
model.external:1.7
model.team:1.2.1
3.4.4 Clear lines of authority
The team members must have a clear understanding of the authority of others in the project
model.artifacts:3.1
model.plan:3.2.3, 6.2, 6.3
model.team:1.1.1, 1.1.2
3.4.5 Ability to raise issues
The team members must have the ability to raise issues about the team and about the system, without retribution
model.external:1.4
model.plan:2.4, 3.3.5
model.team:4.1
3.5 Fair compensation
The team must be fairly compensated for their time and effort
model.external:1.6
3.6 Belief in project
The team must be able to believe in the project, its purpose, and its leadership
3.6.1 Belief in objective
The team must have confidence that the organization is accurately working with the customer
model.plan:1.1
model.team:2.1.2
3.6.2 Ethics
The team members must believe that the system will be used in ways that accord with their ethical beliefs
model.artifacts:2.1.3
model.external:1.8

A.2.2.1 Satisfaction in the work

Team members are expected to need satisfaction arising from the work they are doing on the project.

The satisfaction comes in part from believing that the work they are doing will have some positive outcome. That outcome might be that they see the system deployed and having a positive effect on the world. It might be that they see their work acknowledged, publicly or privately, even if the system ultimately is not deployed. It could come from social standing among their peers improving because of their association with the work.

Skilled workers also want work that makes use of their skills—which leads to a sense that they, as a specific individual, are making a contribution to the work. Work that challenges them or from which they learn things contributes to that satisfaction.

Doing work that is seen as not relevant or not likely to have value decreases their satisfaction. If asked to do something that is not achievable, they will lose enthusiasm. If they are asked to do work that they perceive as irrelevant, they will feel a lack of their individual value.

To support team satisfaction, the project can:

Other aspects are outside of the project’s scope.

A.2.2.2 Appropriate staffing

A team needs to have enough of the right people to do the work—but not too many people. Having enough people on the team who can do the work contributes to a team member’s sense that the project has a good chance of having a positive outcome.

Having too few people, or too many people who lack necessary skills, leads to an overworked and burnt out team.

Having too many people leads to team members who don’t have useful work to do. It can lead to people making up new work just to feel like they are contributing.

The “right” staffing level is dynamic. It changes over time as the project moves forward: a particular skill in designing electronics boards may be important for one period in the project, but once the necessary hardware has been designed and built, the need decreases. It changes over time as people change. As a team members learns new things, they may find that they should move on to a different project. Life events occur that change a person’s motivations and needs. The key is not to always have the perfect cohort working on the project, but to have a pretty good group and work to address changes as they happen. If the team has trust in their management that the management is able to address team composition, people will generally stay satisfied.

Ensuring appropriate staffing involves:

Much of this is outside the scope of the project itself. The organization holds the funds used to pay staff. It also provides the ability to hire and fire people.

A.2.2.3 Sufficient supporting resources

As with staffing, the team needs resources to do their work: a place to work and the tools to do the work, for example. They may need consumable resources as well. For example, a team might need a ready supply of liquid nitrogen in order to test a hardware component that is supposed to operate at low temperature.

If the team lacks these resources, they can’t do their work. This affects their satisfaction.

The project needs to have:

A.2.2.4 Secure position

Team members need to have a sense of security in their position. This means that they need to believe that they understand their position in the project and organization, believe that they will be treated fairly, and believe that issues they raise will be addressed. The opposite of this is when they have a sense of insecurity—because they do not understand what is expected or how they are evaluated, or because they believe that problems will not be resolved, even if they raise an issue.

The sense of security allows people to put their effort into their work, rather than spending their time and energy on worry. The sense also helps keep people on the team so that their knowledge of the system continues to benefit the project.

This comes from the project:

The organization also needs to:

A.2.2.5 Fair compensation

A technical worker needs to believe they are being fairly compensated for their time and effort. They need to be compensated well enough that they are not distracted by want. That compensation may be monetary, but it may take other forms as well.

Setting compensation policy is usually a responsibility of the organization, not the project.

A.2.2.6 Belief in project

Skilled workers often have choices about what project they work on. Many of them are motivated by a belief in the work they do: that it will help its users, or that it will result in some good for the world. If they come to believe that either or both is not true, they will be demotivated.

The project should:

The organization should also maintain an ethics policy that details:

A.2.3 Organization

The people in the team work for the organization, which provides a home for the project (see Section 16.2.3.) The organization is responsible for finding funding for the project and providing a legal entity for doing the work. The organization provides the business operations that make the project possible.

There is no one kind of “organization” that fits all situations. The organization might be anything from a single person, to a company, to a consortium of organizations, depending on the project. The organization might exist to return profit in exchange for the work, or it might be a non-profit or a governmental organization that looks for non-monetary benefits from the project. Some organizations exist only to build and deliver one system; others expect to deliver the system to many customers and to build more systems in the future.

Many of an organization’s needs are not to be met by the system-building project itself; they are met by how well the organization’s management and business operations. Nonetheless, how the system is built can help or hinder business management or operations.

The diversity of kinds of organizations means that the list of needs below has to be tailored for each project and each organization.

model:4 Organization
4.1 Ability to deliver
The organization must have the ability to deliver the working system to the customer
4.1.1 Ability to communicate with customer
The organization must be able to communicate with the customer
model.team:2.1.1
4.1.1.1 Conflict resolution
The organization must be able to negotiate and resolve conflicts between the team and the customer
model.team:2.1.1.3
4.1.2 Support for the team
The organization must have the infrastructure to support the team
4.1.2.1 Leadership
The organization must have leadership that can run the organization in a way that enables the team
model.external:1.4, 1.5, 1.7, 1.8
4.1.2.2 Infrastructure
The organization must have the ability to staff and finance the team
model.external:1.3, 3.1
4.1.2.3 Resources
The organization must have resources to hire the team and for them to operate
model.external:1.3
4.1.2.4 Workplace regulation
The organization must provide a workplace that meets regulation
model.external:1.9
4.2 Ability to sell
The organization must have the ability sell the system produced (when appropriate)
model.external:2.1
4.2.1 Articulate value
The organization must be able to articulate the value of the system product being sold
model.artifacts:2.1
4.2.2 Market
There must be a market for the system being sold
model.artifacts:2.1
model.external:2.2
model.plan:3.2.1
4.2.3 Sales and marketing team
The organization must have a sales or marketing capability, with the resources to do its job
model.external:2.3
4.3 Profit
The organization must get enough profit from the project to fund overhead and to support future projects
model.external:3.2
model.plan:1.2.5, 1.2.6, 3.2.6
4.4 Positioning for future work
The organization must be positioned for future projects and/or maintenance of this system
4.4.1 Reputation
The organization must have a reputation for being able to build systems well
model:2.1, 2.2, 2.5
4.4.2 Reusable capability
The organization must have capabilities in processes, teams, and tools that will apply to future projects
model.external:4.1
4.4.3 Ongoing improvement
The organization must be able to learn and improve its capabilities over time
model.external:4.2

A.2.3.1 Ability to deliver

The purpose for the organization pursuing a system-building project is to deliver a system to the customer. If the project does not deliver something, the organization will see little return on its investment and effort.

Of course, an organization might get a contract from a customer and get started, only for the customer to cancel the contract. (Hopefully the organization has taken this into account in its planning.) The organization still needs to have been able to deliver the system, even if the work was stopped.

The ability to deliver has two aspects: communication with the customer and support for the team, in addition to the general ability to build a system for the customer.

When the system being built has a specific customer, the organization needs to be able to talk to them, keep them updated on progress, and hear concerns or issues from the customer. When there is disagreement, the organization needs people who can negotiate and resolve issues.

The project can help this by maintaining the interface with the customer, including having people assigned to work with the customer, documenting what they learn from the customer, and negotiating with the customer as issues arise.

The project team can do little without the organization supporting them. The team needs leadership; it needs workspace and other infrastructure; it needs human resources and payroll and accounting support. The organization needs to:

A.2.3.2 Ability to sell

If the system is expected to be delivered to multiple customers over time, the organization needs to be able to find those customers, make the case to them that the system will benefit them, and work out a deal to deliver the system.

I have written this need in terms of selling, but the needs apply when something is being delivered not for monetary return. An open-source project that is freely available to users does not sell the system for money, but the way that project has value is for users to pick up, deploy, and use the system. The project may want to attract developers to build up an ecosystem of related products or services. Meeting these needs involves making potential users aware of the system and making the case that they will benefit from the system.

To be able to sell the system, the organization needs to:

A.2.3.3 Profit

The organization will be expecting to get some kind of return on its effort. That may be a monetary return, but a non-profit or government agency may look for a non-monetary return, such as a community benefit.

The project can support this in two ways. First, the organization can set business objectives for the project, such as expected profit. The project can keep records of these objectives, and take them into account in the system’s design. Second, the project can organize its work as efficiently as possible so that investment goes as far as possible (consistent with deadlines). The project’s management can monitor the time and money being spent and work out how to adjust the project if it looks likely that the project will not meet the organization’s expectations on return or profit.

A.2.3.4 Positioning for future work

Many organizations build multiple systems over their existence—whether this is building multiple bespoke systems for customers, or building multiple products that are delivered to many customers. The ability to continue to deliver profitable systems is a major part of a company’s stock performance: the stock price is determined by the market expectation of future returns to the investors.

An organization’s reputation affects its ability to attract customers and investment, as well as its ability to hire talented staff. The reputation depends in part on its ability to deliver good systems.

An organization can become more productive over time—and thus improve its reputation, its ability to deliver, and its profitability. This comes from learning and improving. If the organization builds up a staff that knows how to run a system-building project well, future projects can be executed more efficiently. Better tools will help the next projects. However, learning and improvement does not often happen by chance; it happens when an organization sets out to learn from its performance.

The project can:

The organization should:

A.2.4 Funders

The funders provide the investment that funds the team building the system (see Section 16.2.4.) The funder provides these resources in the expectation of some kind of return, be that monetary or not. A venture capital funder is most likely to look for a monetary return from future profits from the organization it is funding. A company providing internal funding more likely is looking the project to add to the company’s capabilities, which will in turn enable the company to increase its future profits. A government agency is likely looking for something that will benefit the public in some way.

As noted earlier, there are many different kinds of funders, from venture capital to company internal funding to customers paying for development.

model:5 Funders
5.1 Return on investment
The funder must get at least the expected return on its investment
model:4.2, 4.3
5.1.1 Visibility
The funder must have sufficient visibility into the organization’s behavior and progress to determine when the project is at risk of not providing a return on investment
model.external:4.3
model.plan:1.2, 4.1, 4.2
5.1.2 Influence
The funder must have influence on the organization or project in order to address performance that will jeopardize return on investment
model.external:4.3.1
5.2 Ability to attract future investment
The project must help the funder attract investment for future projects
model:5.1

A.2.4.1 Return on investment

Funders provide capital to run the project on the expectation that they will get some return on that investment.

In some cases, the return will come from profit realized in building the system (Section A.2.3.3) or from an increase in the value of the organization (Section A.2.3.4). In other cases the return will come from the value of the system after it is delivered and deployed (Section A.2.1.1, Section A.2.3.1).

The funders will also expect to be able to track the organization’s and project’s progress, and to raise issues when they find that there may be a problem that could jeopardize the funder’s return. The organization needs to have people whose responsibility includes interfacing with the funders.

The project can support the interface with funders by maintaining a realistic plan for the work, managing its budget, and keeping the organization informed of progress. The project should also have the processes in place to respond when the funders raise an issue that leads to a potential change to the system.

The project may also need to maintain accurate records and artifacts that allow the funder to audit the project—verifying that the information the funder has received is accurate and complete.

A.2.4.2 Ability to attract future investment

The funders get the capital they invest from somewhere. In many cases, the investment capital comes from their customers: individual and institutional investors for venture capital, legislatures and the public for government investors. The funders will keep their investor customers satisfied if they can show that their investments produce the expected returns, leading to a reputation for using capital wisely. At the same time, funders want to avoid bad press from projects that have problems, which can reflect on the funders’ ability to select organizations or projects.

The ways that the project can address this funder need are all included in the previous section, on the funder’s need for return on investment.

A.2.5 Regulators

Regulators (Section 16.2.5) provide an independent check on work to ensure that it meets regulations or standards, thus ensuring that some public good is maintained that the organization or project might not otherwise be incentivized to meet.

The interaction between the project and regulators depends on the countries involved and the nature of the project. Some industries require licensing or certification of some kinds of system: most aircraft, for example, must obtain type certification from the local civil aviation authority before that aircraft is allowed to fly or be sold. Spacecraft require a set of licenses for launch and communication. Other industries, such as consumer electronics or automobiles in the United States, depend on compliance with regulation but compliance is only checked after the fact.

I include voluntary standards as part of regulation. Non-governmental organizations set interoperability standards; the standards for USB (set by the USB Implementer’s Forum) and WiFi (set by the Institute of Electrical and Electronics Engineers 802.11 working group) are examples. Other organizations set safety standards that help to ensure consumer products are checked to be safe.

The regulators perform multiple tasks:

model:6 Regulators
6.1 Compliance and certification
The regulator must be able to work with the project to ensure regulatory compliance and (when appropriate) certify the system
6.1.1 Available regulation
The regulator must make information about regulations available to the organization and possibly user
model.artifacts:8.1
model.plan:3.2.5
model.team:2.3.1.1, 2.3.1.2
6.1.2 Application
The project must apply to the regulator for certification and then follow the certification process
model.artifacts:8.2
model.plan:3.3.7
model.team:2.3.1.5
6.1.3 System auditability
The regulator must be able to audit that the system complies with regulations
model.artifacts:4.2, 4.4, 4.5, 8.4
model.plan:3.3.3.1
model.team:2.3.1.3
6.1.4 Process auditability
The regulator must be able to audit that the organization has followed required processes in building the system
model.artifacts:8.3
model.team:2.3.1.3
6.2 Monitoring
The regulator must be able to monitor the organization, project, and/or system for compliance with regulation
model.team:2.3.1.3
6.2.1 Accurate information available
The organization and/or user must make available to the regulator accurate and complete information about the system and organization behavior
model.artifacts:4.2, 4.4, 4.5, 8.3, 8.4
6.2.2 Notify regulator
The organization or user must proactively provide information to the regulator when a potential regulatory problem is detected, as required by regulation
model.plan:3.3.7.1
model.team:2.3.1.4
6.3 Problem resolution
The regulator must be able to work with the project and/or user to identify and resolve potential regulatory problems
6.3.1 Communicate with organization or user
The regulator must be able to communicate with the organization or user about potential regulatory problems
model.plan:7.1
model.team:2.3.1.3
6.3.2 Accurate information
The regulator must obtain cooperation and accurate information from the organization or user to investigate a potential regulatory problem
model.artifacts:4.2, 4.4, 4.5, 8.3, 8.4
6.3.3 Respond to remedy
The organization or user must be able to respond to a regulator’s remedy
model.plan:7.1
model.team:2.3.1.5

A.2.5.1 Compliance and certification

The regulator makes regulations (or standards), and makes them available to teams building affected systems.

The project responds to the regulations by designing and building the system so that it meets the regulations, maintaining records needed to show that the regulations have been met, and beginning a process for getting certifications or licenses when appropriate.

The project is responsible for:

A.2.5.2 Monitoring

In some cases, the regulator must monitor the project’s work—for example, during aircraft certification, which is generally a joint effort between the aviation authority and the company building the aircraft. A regulator might also need to monitor the project after a violation has been found and the team is working on remedial action.

Accurate and timely information is paramount when this occurs. The project must maintain good records to be able to provide that information to the regulators. The information potentially covers everything about the project: the design and analyses of the system, its implementation, records of design rationales, and logs of the processes followed.

The team must also be prepared to notify the regulator proactively as situations arise. The team should have people who will watch for situations and communicate with the regulator.

A.2.5.3 Problem resolution

I have never observed a licensing or certification process to go with no problems. The processes and regulations are often complex, and unless a team has done the process several times before there will almost certainly be things the team needs to learn to get through the process.

This means that there will be problems to resolve. Sometimes the team will discover the problem and need guidance from the regulator. Other times the regulator will raise the issue.

The team can make smooth the problem resolution process by:

A.3 Model elements

All of the objectives in the previous section map to objectives related to artifacts, team, tools, and plan. Some of them also map to things other than the system-building that goes on in the project.

This section lays out tables of the objectives for each element of the model. Each objective is annotated with its parents; that is, the objectives that are the reason that this objective is included. These are annotated in the tables with an arrow pointing down and right: ↘. If one of the objectives has children, those are annotated with a right-pointing arrow: →.

A.3.1 Artifacts

model.artifacts:1 Artifact management
1.1 Store artifacts
The project must have a place to store artifacts
model:2.1.2, 2.4, 2.5.4
model.artifacts:2.1, 2.2, 3.1, 4.2, 4.4, 4.5, 5.1, 5.2, 6.1, 6.2, 7.1, 7.2, 7.3, 7.4, 8.1, 8.2, 8.3, 8.4, 9.1
model.tools:2.1, 3.2.1, 3.4
1.1.1 Consistent versioning
The artifact storage must be able to maintain versions of all artifacts that are consistent with each other
1.2 Finding artifacts
Team members must be able to find artifacts that they are looking for
model.artifacts:2.1.1, 3.1.3, 4.2, 4.4, 5.2, 6.1, 8.1
1.2.1 Discovery
Team members must be able to learn about artifacts they need to know of that they didn’t previously know existed
1.3 Status
Anyone looking at an artifact must be able to determine the status of that artifact (work in progress, proposed, approved, complete, and its version)
model:3.1.3
model.artifacts:2.1, 2.2, 3.1, 4.2, 4.4, 4.5, 5.1, 5.2, 6.1, 6.2, 7.1, 7.2, 7.3, 7.4, 8.1, 8.2, 8.3, 8.4, 9.1
1.3.1 Support workflow
model.artifacts:2 Purpose-related
2.1 System purpose
The artifacts must include documentation of the customer’s purpose for the system
model:2.1.1, 2.1.2, 2.5.4, 4.2.1, 4.2.2
model.plan:3.3.1
model.team:2.1.1.1
model.artifacts:1.1, 1.3
2.1.1 Discoverable purpose
The artifacts that document the system’s purpose must be readily and accurately discoverable by members of the project team
model.artifacts:1.2
2.1.2 System requirements
The artifacts must include documentation of the customer’s reliability, safety, and security requirements for the system
model:2.1.3, 2.1.4
2.1.3 System usage
The documentation of the customer’s purpose must include accurate information about what the system will be used for
model:3.6.2
2.2 Changes in purpose
The artifacts must include records of requests made for changes to the system’s purpose, including the status of that request and any artifacts resulting from an approved change
model:2.5.3, 2.5.4
model.plan:5.1, 5.2, 5.3
model.team:2.1.1.2, 2.3.1.2
model.artifacts:1.1, 1.3
2.3 Reasons for building system
The artifacts must include documentation of why the team has chosen to build the system
model.plan:1.1
model.artifacts:3 Team-related
3.1 Team structure
The artifacts must include documentation of the structure of the team
model:3.4.4
model.plan:3.2.3, 6.3, 6.4
model.team:1.2
model.artifacts:1.1, 1.3
3.1.1 Team membership
The documentation of team structure must include accurate records of who is on the team
3.1.2 Roles and authority
The documentation of team structure must include accurate records of the roles and authority that each team member has
3.1.3 Navigability
Members of the team must be able to conveniently and accurately navigate the records of team structure
model.artifacts:1.2
model.artifacts:4 System-related
4.1 Technical uncertainty
The artifacts must include records about the uncertainties or risks identified for the system being built
model.plan:8.2
4.2 Specification and design artifacts
The artifacts must include accurate records of the specification and design of the system components and structure
model:2.1.2, 6.1.3, 6.2.1, 6.3.2
model.artifacts:1.1, 1.2, 1.3
4.2.1 Rationales
The design-related artifacts must include rationales for the design choices made
model:2.5.4
4.4 Implementation artifacts
The artifacts must include the implementation of the system
model:2.1.2, 6.1.3, 6.2.1, 6.3.2
model.artifacts:1.1, 1.2, 1.3
4.5 Analysis artifacts
The artifacts must include accurate analyses of the system component and structure design or implementation
model:2.1.2, 2.1.4, 2.1.5, 6.1.3, 6.2.1, 6.3.2
model.artifacts:1.1, 1.3
model.artifacts:5 Verification-related
5.1 Verification tests
The artifacts must include implementations of tests used for verifying the system implementation
model:2.1.2, 2.1.4
model.artifacts:5.2
model.artifacts:1.1, 1.3
5.2 Verification results
The artifacts must include accurate results of performing verification tests, reviews, and analyses
model:2.1.2, 2.1.4
model.artifacts:1.1, 1.2, 1.3, 5.1
model.artifacts:6 Release/deployment-related
6.1 Release/deployment procedures
The artifacts must include the procedures to be used to release or deploy the system
model:2.4
model.artifacts:1.1, 1.2, 1.3
6.2 Release/deployment records
The artifacts must include records of each release and deployment made of the system
model.plan:3.4
model.artifacts:1.1, 1.3
model.artifacts:7 Management-related
7.1 Budget records
The artifacts must include records tracking resource budgets
model.plan:4.1
model.artifacts:1.1, 1.3
7.2 Roadmap and plan
The artifacts must include the plan for completing the system
model.plan:1.2
model.artifacts:1.1, 1.3
7.3 Tasking
The artifacts must include records about the tasks currently being performed, or that are scheduled to be performed in the near future
model.plan:2.1, 2.2
model.artifacts:1.1, 1.3
7.4 Project uncertainty
The artifacts must include records about the uncertainties or risks identified for project execution
model.plan:8.1
model.artifacts:1.1, 1.3
model.artifacts:8 Regulatory-related
8.1 Regulations
The artifacts must include all the relevant regulations that the system must meet (or references to them)
model:2.3.1, 6.1.1
model.plan:5.2
model.team:2.3.1.2
model.artifacts:1.1, 1.2, 1.3
8.2 Certification process
The artifacts must include information on the certification process
model:2.3.2, 6.1.2
model.artifacts:1.1, 1.3
8.2.1 Application
The artifacts must include records of applications made for certification
8.2.2 Certifications
The artifacts must include records of certifications that have been granted or denied for the system
model.plan:3.3.7
8.3 Regulatory process records
The artifacts must include records of the process being followed to meet regulation or obtain certification
model:2.3.2, 6.1.4, 6.2.1, 6.3.2
model.artifacts:1.1, 1.3
8.4 Regulatory verification records
The artifacts must include records showing that the system has been verified against regulatory requirements
model:6.1.3, 6.2.1, 6.3.2
model.plan:3.3.3.1
model.artifacts:1.1, 1.3
model.artifacts:9 Audit
9.1 Approvals
The artifacts must include records of reviews and approvals of designs and implementations
model.artifacts:1.1, 1.3, 1.3.1

A.3.2 Team

model.team:1 Organization
1.1 General structure
Each team member must be able to find and understand the structure of the team
model:3.4.1
1.1.1 Finding team members
Each team member must be able to find essential information about other team members
model:3.4.4
1.1.2 Reporting
Each team member must be able to accurately determine the reporting structure of the team
model:3.4.4
1.2 Roles and responsibilities
Each team member must be able to accurately find and understand their roles and responsibilities
model:3.4.2
model.artifacts:3.1
1.2.1 Clear responsibilities
Each team member must be able to accurately find and determine the responsibilities on which their performance will be evaluated
model:3.4.3
model.team:2 Capabilities
2.1 Customer-related
2.1.1 Customer interface
The team must have people whose responsibility is to work with the customer
model:4.1.1
2.1.1.1 Learn and communicate the customer’s purpose
The team must have people whose responsibility is to work with the customer to identify the customer’s purpose and requirements for the system and to communicate that to the rest of the team
model:2.1.1, 2.1.3
model.plan:3.2.1
model.artifacts:2.1
2.1.1.2 Learn and process change requests
The team must have people whose responsibility is to receive requests for changes, document those requests, and drive the process to decide on and resolve the requests
model:2.5.1, 2.5.4
model.artifacts:2.2
2.1.1.3 Ability to negotiate
The people on the team who interface with the customer must be able to raise issues to the customer and negotiate resolutions of issues or conflicts
model:4.1.1.1
2.1.2 Internal communication
The team must have people whose responsibility includes regularly informing the rest of the team about the status of working with the customer
model:3.6.1
2.2 Technical capabilities
2.2.1 Ability to build system
The team must have the skills needed to build a system that meets the customer’s purpose
model:2.1.2, 2.1.4, 2.5.4
2.2.2 Ability to verify system
The team must have the skills needed to verify that the designed or implemented system meets the customer’s purpose, regulatory requirements, and other constraints
model:2.1.2, 2.1.4, 2.1.5, 2.5.4
2.2.3 Track technical uncertainty
The team must have people whose responsibility includes identifying risk or uncertainty related to the system being built, documenting those uncertainties, and ensuring that the uncertainties are resolved
model.plan:8.2
2.2.4 Ability to release/deploy system
The team must have the skills needed to release or deploy the system
model.plan:3.4
2.3 Regulator interface
2.3.1 Regulator interface
The team must have people whose responsibility is to work with regulator(s)
2.3.1.1 Identify regulation
The team must have people whose responsibility includes identifying relevant regulation or certification requirements and documenting them
model:6.1.1
model.plan:3.2.5
2.3.1.2 Detect and handle regulatory changes
The team must have people whose responsibility includes detecting that relevant regulations have changed, documenting those changes, and driving changes to plans to address the changes
model:2.5.2, 6.1.1
model.artifacts:2.2, 8.1
2.3.1.3 Handle regulator requests
The team must have people whose responsibility includes receiving and responding to requests for information from the regulator
model:6.1.3, 6.1.4, 6.2, 6.3.1
2.3.1.4 Handle regulator notification
The team must have people whose responsibility includes notifying the regulator at identified events that affect certification or regulatory compliance
model:6.2.2
2.3.1.5 Perform certification/approval process
The team must have people whose responsibility includes working with the regulator(s) to obtain certification or approval
model:6.1.2, 6.3.3
model.plan:3.3.7
2.3.2 Process oversight
The team must have people whose responsibility is to ensure that the project is following processes that will result in a system that meets regulations and/or obtain certification
model.plan:3.3.1.1, 3.3.2.1, 3.3.3.1
2.4 Management capabilities
2.4.1 Track plan
The team must have people whose responsibility includes building and maintaining the project plan
model.plan:1.2, 5.4.1
2.4.2 Detect and respond to problems
The team must have people whose responsibility includes detecting when the project may not meet deadlines and oversee the response
model.plan:1.2.4
2.4.3 Prioritize and assign tasks
The team must have people whose responsibility includes determining which tasks should be performed next according to some prioritization, and assigning those tasks to team members
model.plan:2.1, 2.2
2.4.4 Maintain team information
The team must have people whose responsibility includes maintaining information about the team
model.plan:6.2, 6.3, 6.4
2.4.5 Track staffing levels
The team must have people whose responsibility is to detect when staffing levels need to change, and then ensure that needed changes are made
model.plan:6.1
2.4.6 Track project uncertainty
The team must have people whose responsibility includes identifying risk or uncertainty related to project execution, documenting those uncertainties, and ensuring that the uncertainties are resolved
model.plan:8.1
2.5 Support capabilities
2.5.1 Maintain tools
The team must have people whose responsibility includes maintaining the tools used for building the system
model:2.1.2, 2.4, 2.5.4
model.team:4 Exceptions
4.1 Raise technical issues
Each team member must know how to raise technical issues when they find them
model:3.4.5
model.team:5 Other
5.1 Tracking
The team must be able to track time spent building the system
model.plan:4.1.1

A.3.3 Tools

model.tools:1 General
1.1 Automate simple tasks
Where possible, the project should use tools to automate simple or repetitive tasks
model:3.1.3
model.tools:2 Artifact management
2.1 Digital artifact storage
The tools must provide for storing and managing digital artifacts
model.artifacts:1.1
model.tools:3 Hardware support
3.1 Design tools
The project must have the design tools needed to design hardware components
model:2.1.2
3.2 Manufacturing
The project must have the tools needed to manufacture hardware parts
model:2.1.2, 3.3
model.tools:3.4
3.2.1 Stock storage
The tools must provide for maintaining stock materials used to build hardware components
model.artifacts:1.1
3.3 Hardware test
The project must have tools to perform verification tests on hardware components
model:3.3
model.plan:3.3.3, 3.3.5
3.4 Inventory management
The project must have the facilities and tools to maintain hardware parts inventory and track its content
model.artifacts:1.1
model.tools:3.2, 3.5
3.5 Hardware deployment
The project must have tools for delivering and distributing hardware components
model:2.4
model.tools:3.4
model.tools:4 Software support
4.1 Software build
The project must have tools to build software components
model:2.1.2, 3.3
4.2 Software test
The project must have tools to perform verification tests on software components
model:3.3
model.plan:3.3.3, 3.3.5
4.3 Software release
The project must have tools for making, maintaining, and distributing software releases
model:2.4
model.tools:5 Facilities
5.1 Team facilities
The project must have facilities in which the team can work to develop the system
model:3.3

A.3.4 Plan

model.plan:1 General roadmap
1.1 Overall objective
The roadmap must include a clear statement of the objective(s) of the system-building effort
model:3.1.1, 3.6.1
model.artifacts:2.3
model.plan:3.2.4
1.2 Plan to completion
The project must maintain a plan that shows an estimation of the time and effort required to complete the system
model:2.1.2, 2.2.3, 2.5.4, 3.1.1, 5.1.1
model.artifacts:7.2
model.team:2.4.1
1.2.1 Reflect uncertainty
The plan must accurately reflect the degree of uncertainty (or risk) in what is known about the steps needed to complete the system
model:2.2.3.1
model.plan:8.1, 8.2
1.2.2 Update plan
The plan must be updated as work is completed or uncertainty changes
model.plan:3.3.6, 5.4.1
1.2.3 Include resource estimate
The plan must include estimates of the time and resources required to complete steps in the plan
model:3.2.1, 3.2.2
1.2.4 Detect and handle deadline problems
The project must include processes and milestones that will detect when project deadlines will not be met, determine how to respond, and ensure the response is executed
model:2.2.4
model.team:2.4.2
1.2.5 Only project-relevant work in plan
The project must include only work that is relevant to building the system, or managing and supporting that development, in the plan
model:2.2, 3.1.3, 4.3
1.2.6 Efficient execution
The project must organize and plan the work in an efficient way, minimizing time to completion and/or cost without sacrificing quality, customer purpose, or requirements
model:4.3
model.plan:2.2, 8.1, 8.2
1.2.7 Navigability
The project plan information must be accessible to team members in a way that allows them to understand how the work will proceed and how it will affect their assignments
model:3.4.2
model.plan:2 Sequencing and prioritization
2.1 Track current effort
The project must include processes to track what tasks are currently being worked on or have been assigned to people to be worked on in the near future
model:2.1.2, 2.5.4
model.artifacts:7.3
model.team:2.4.3
2.2 Assign next tasks
The project must include processes to determine what tasks should be worked on in the near future, and by whom
model:2.1.2, 2.5.4
model.plan:1.2.6
model.artifacts:7.3
model.team:2.4.3
2.3 Detect and handle tasking problems
The project must include processes and milestones to detect when there are problems performing one or more tasks, determine how to respond, and ensure the response is executed
model:2.1.2, 2.5.4
2.4 Navigability
The scheduling information must be accessible to team members in a way that allows them to determine what work they should be doing, and who is doing work related to theirs
model:3.4.2, 3.4.5
model.plan:6.1
model.plan:3 Process and life cycle
3.1 Defined life cycle
The project must have a defined life cycle that defines the processes people must follow to build and deploy the system
model.plan:3.2, 3.3
3.2 Project startup
The project life cycle must include the processes involved in starting the project
model.plan:3.1
3.2.1 Learn and verify customer purpose
The project life cycle must include an initial step to learn the customer’s purpose for the system and ensure that the team properly understands that purpose
model:2.1.1, 2.1.3, 4.2.2
model.team:2.1.1.1
3.2.2 Learn and verify available resources
The project life cycle must include an initial step to determine the resources initially available for building the system
model:2.2.1
model.plan:4.1
3.2.3 Establish organization structure
The project life cycle must include an initial step to decide on and document the structure of the team that will be working on the project
model:3.4.2, 3.4.4
model.artifacts:3.1
3.2.4 Establish reasons for building the system
The project life cycle must include an initial step to determine whether the team should build the system, and if so, why
model.plan:1.1
3.2.5 Establish regulatory constraints
The project life cycle must include an initial step to determine what regulations apply to the system, including the potential need for certification
model:2.3.1, 6.1.1
model.team:2.3.1.1
3.2.6 Establish organization expectations
The project life cycle must include an initial step to determine what expectations has of the project, including definition of constraints on the project and system
model:4.3
model.external:3.2
3.3 System building
The project life cycle must include the processes involved in building the system
model:2.1.2, 2.1.4
model.plan:5.4
model.plan:3.1
3.3.1 Design to purpose
The project life cycle must provide processes and milestones that ensure that the system design accurately reflects the customer’s purpose for the system
model.artifacts:2.1
3.3.1.1 Design to meet regulation
The project life cycle must provide processes and milestones that ensure the system design meets regulatory requirements
model:2.3.2
model.team:2.3.2
3.3.1.2 Design for release/deployment
The project life cycle must provide processes and milestones that ensure that the resulting system can be released or deployed
model.plan:3.4
3.3.2 Build to purpose
The project life cycle must provide processes and milestones that ensure that the built system accurately reflects the customer’s purpose for the system
model:2.1.2
3.3.2.1 Build to meet regulation
The project life cycle must provide processes and milestones that ensure the built system meets regulatory requirements
model:2.3.2
model.team:2.3.2
3.3.2.2 Build for release/deployment
The project life cycle must provide processes and milestones that ensure that the built system can be released or deployed
model.plan:3.4
3.3.3 Verify against purpose
The project life cycle must provide processes and milestones that verify that the system meets the customer’s purpose
model.tools:3.3, 4.2
3.3.3.1 Verify against regulation
The project life cycle must provide processes and milestones that verify that the system meets regulation
model:2.3.2, 6.1.3
model.artifacts:8.4
model.team:2.3.2
3.3.4 Verify no extraneous behavior
The project life cycle must provide processes and milestones that verify that the system does not include functions or behavior that is outside the customer’s purpose
3.3.5 Identifying and fixing errors
The project life cycle must provide processes and milestones that ensure error will be detected with high likelihood, and that detected errors will be fixed
model:2.1.4, 2.1.5, 3.4.5
model.tools:3.3, 4.2
3.3.6 Adaptation
The project life cycle must provide processes and milestones to adapt the plans and design as the team learns about the system or as uncertainties are resolved
model:2.5.4
model.plan:1.2.2
3.3.7 Perform certification/approval
The project life cycle must provide processes to result in certification or approval, if required for the system
model:2.3.2, 6.1.2
model.artifacts:8.2.2
model.team:2.3.1.5
3.3.7.1 Regulatory notification
The project life cycle must define events at which the project must notify regulators, and processes by which the notification information is gathered and delivered
model:6.2.2
3.4 System release and deployment
The project life cycle must include the processes involved in releasing and deploying the system
model:2.4
model.artifacts:6.2
model.plan:3.3.1.2, 3.3.2.2
model.team:2.2.4
model.plan:4 Budgets
4.1 Resources
The budgets must include the amount of various resources allocated to the project
model:2.2, 2.2.1, 5.1.1
model.artifacts:7.1
model.plan:3.2.2
4.1.1 Amount used
The budget must accurately record the amount of resources already used in the project
model:2.2.2
model.team:5.1
4.1.2 Amount remaining
The budget must provide accurate measures of how much resource remains available
4.2 Deadlines
The budgets must include milestones or other deadlines that the project must meet
model:2.2, 5.1.1
model.plan:5 Change handling
5.1 Receive change request
The project must have a process for receiving and documenting a request for change in purpose or features
model:2.5.1
model.external:4.3.1
model.plan:7.1
model.artifacts:2.2
5.2 Receive regulatory change
The project must have a process for detecting and receiving changes in regulatory requirements
model:2.5.2
model.artifacts:2.2, 8.1
5.3 Decision process
The project must have a process for determining whether to proceed with a change request or not
model:2.5.1
model.external:4.3.1
model.artifacts:2.2
5.4 System change
The project life cycle must provide processes and milestones for building changes to the system
model.external:4.3.1
model.plan:7.1
model.plan:3.3
5.4.1 Plan change
The project life cycle must provide processes for updating plans when change requests are accepted for building
model.plan:1.2.2
model.team:2.4.1
model.plan:6 Team-related
6.1 Determine need for staffing changes
The project life cycle must provide processes and milestones for detecting when a change in staffing is appropriate, and the following through on the needed changes
model:3.2.1, 3.2.2
model.external:1.3
model.plan:2.4
model.team:2.4.5
6.2 Maintain team information
The project life cycle must provide processes and milestones for maintaining information about the structure, roles, responsibilities, and authority in the team
model:3.4.2, 3.4.4
model.team:2.4.4
6.3 Adding team members
The project life cycle must provide a process for adding new team members to the processes and tools, and educating them about the project
model:3.2.1, 3.4.2, 3.4.4
model.external:1.3.1
model.artifacts:3.1
model.team:2.4.4
6.4 Removing team members
The project life cycle must provide a process and definitions of triggering events for removing a member from the team
model:3.2.2
model.external:1.3.2, 1.4
model.artifacts:3.1
model.team:2.4.4
model.plan:7 Regulatory-related
7.1 Receive and process regulatory issues
The project life cycle must provide a process by which the project can receive notification of issues from the regulator, identify remedies, implement the remedies, and respond to the regulator
model:6.3.1, 6.3.3
model.plan:5.1, 5.4
model.plan:8 Risk and uncertainty
8.1 Project uncertainty
The project life cycle must track and manage uncertainties or risks related to project execution
model.plan:1.2.1, 1.2.6
model.artifacts:7.4
model.team:2.4.6
8.2 Technical uncertainty
The project life cycle must track and manage uncertainties or risks related to the system being built
model.plan:1.2.1, 1.2.6
model.artifacts:4.1
model.team:2.2.3
8.2.1 Efficient burn-down
The project life cycle must provide a process and milestones that lead to efficiently reducing technical uncertainty as the project progresses

A.3.5 External responsibilities

model.external:1 Team-related
1.1 Satisfaction
Project and organization management must take steps to provide team members with the information they need to give them confidence that the project is on track and will challenge the team members
model:3.1.1, 3.1.2
1.2 Appropriate assignments
Project management must take steps to match team members with tasks that are needed and that challenge the team member
model:3.1.2, 3.1.3
1.3 Appropriate staffing level
Project management must manage the makeup of the team to ensure that the project has the right people to do the work, including having processes to hire, contract, or let go of staff
model:3.2.1, 3.2.2, 4.1.2.2, 4.1.2.3
model.plan:6.1
1.3.1 Hiring
Project management and the hosting organization must be able to hire or move in staff when needed for the project
model.plan:6.3
1.3.2 Firing or transfer out
Project management and the hosting organization must be able to move out or let go staff who are no longer needed for the project
model.plan:6.4
1.4 Respond to team issues
Project management must respond appropriately to issues raised by team members, both technical issues and non-technical issues
model:3.4.5, 4.1.2.1
model.plan:6.4
1.5 Fit to organization
The organization must provide the team with an understanding of how the project and the team members fit into the organization
model:3.4.1, 4.1.2.1
1.6 Compensation
Project and organization management are responsible for setting compensation levels for team members at a level that is acceptable to both the staff and the project/organization
model:3.5
1.7 Evaluation
Project and organization management are responsible for setting and documenting the evaluation process that will be used to judge each team member’s performance
model:3.4.3, 4.1.2.1
1.8 Ethics policy
Project and organization management are responsible for setting and documenting an ethics policy that applies to all team and organization activities, along with mechanisms for reporting and resolving potential ethics violations
model:3.6.2, 4.1.2.1
1.9 Workplace regulation
The organization management must provide a workplace that meets regulation
model:4.1.2.4
model.external:2 Customer-related
2.1 Ability to sell
The organization must have the ability to sell the system produced (when appropriate)
model:4.2
2.2 Ability to define market(s)
The organization must have the ability to define plausible market(s) for the system
model:4.2.2
2.3 Sales and marketing capability
The organization must have a capability to perform sales and marketing of the system
model:4.2.3
model.external:3 Resource-related
3.1 Sufficient resources
The organization and project management are responsible for obtaining funding and other resources sufficient to perform the project
model:4.1.2.2
3.2 Define expected return
The organization must define the expected return on investment for the project to build the system
model:4.3
model.plan:3.2.6
model.external:4 Organization-related
4.1 Reusable capability
The organization must take steps to build up reusable capabilities that can apply to multiple projects
model:4.4.2
4.2 Ongoing improvement
The organization must have the capability to learn and improve its capabilities over time
model:4.4.3
4.3 Communication with funder
The organization must communicate with the funder in a way that gives the funder visibility into the organization’s behavior and progress on the project
model:5.1.1
4.3.1 Receive and process funder concerns
The organization must have the capability to receive concerns from the funder, discuss the concerns, and take steps to address the concerns
model:5.1.2
model.plan:5.1, 5.3, 5.4