Step 5: Identify the Constraints to Be Imposed on the Solution


Constraints are restrictions on the degrees of freedom we have in providing a solution.

Before launching a well-intended trillion-dollar effort to revolutionize the state of the art in sales order entry, we must stop and consider the constraints that will be imposed on the solution. We'll define a constraint as

a restriction on the degree of freedom we have in providing a solution.

Each constraint has the potential to severely restrict our ability to deliver a solution as we envision it. Therefore, each constraint must be carefully considered as part of the planning process, and many may even cause us to reconsider the technological approach we initially imagined.

A variety of sources of constraints must be considered. These include schedule, return on investment, budget for labor and equipment, environmental issues, operating systems, databases, hosts and client systems, technical issues, political issues within the organization, purchased software, company policies and procedures, choices of tools and languages, personnel or other resource constraints, and a host of other considerations. These constraints may be given to us before we even begin ("No new hardware"), or we may have to actively elicit them.

As an aid to elicitation , it would be helpful to know what kinds of things we should be looking for. Table 5-4 lists potential sources of system constraints. Asking the questions listed in the table should elicit the majority of the constraints that will affect your solution. It will probably also be helpful to identify the rationale for the constraint, both to make sure that you understand the perspective of the constraint and so that you can recognize when and if the constraint might no longer apply to your solution. The less constrained the solution, the better.

Once identified, some of these constraints will become requirements for the new system ("use the Materials Requirements Planning system provided via our current accounting system vendor"). Other constraints will affect resources, implementation plans, and project plans. It is the problem solver's responsibility to understand the potential sources of constraints for each specific application environment and to determine the impact of each constraint on the potential solution spaces.

Returning to our example, Table 5-5 summarizes the sources and constraints imposed on the new sales order system.

Table 5-4. Potential Sources of System Constraints


Sample Considerations


  • What financial or budgetary constraints apply?

  • Are there costs of goods sold or any product pricing considerations?

  • Are there any licensing issues?


  • Do internal or external political issues affect potential solutions?

  • Are there any interdepartmental problems or issues?


  • Are we restricted in our choice of technologies?

  • Are we constrained to work within existing platforms or technologies?

  • Are we prohibited from using any new technologies?

  • Are we expected to use any purchased software packages?


  • Is the solution to be built on our existing systems?

  • Must we maintain compatibility with existing solutions?

  • What operating systems and environments must be supported?


  • Are there environmental or regulatory constraints?

  • Are there legal constraints?

  • What are the security requirements?

  • What other standards might restrict us?

Schedule and resources

  • Is the schedule defined?

  • Are we restricted to existing resources?

  • Can we use outside labor?

  • Can we expand resources? Temporarily? Permanently?

Table 5-5. Sources of Constraints and Their Rationale for Sales Order Entry System





An exact copy of sales order data must remain on the legacy database for up to one year.

The risk of data loss is too great; we will need to run in parallel for three months.


The applications footprint on the server must be less than 20MB.

We have limited server memory available.

Equipment budget

The system must be developed on the existing server and host; new client hardware for users may be provided.

We need to control costs and maintain the existing systems.

Personnel budget

Staffing resources are fixed; no outsourcing is possible.

The current budget calls for fixed operating costs.

Technology mandate

A new object-oriented methodology should be used.

We believe that this technology will increase productivity and increase the reliability of the software.


Managing Software Requirements[c] A Use Case Approach
Managing Software Requirements[c] A Use Case Approach
ISBN: 032112247X
Year: 2003
Pages: 257 © 2008-2017.
If you may any questions please contact us: