Project Initiation  «Prev  Next»
Lesson 4 Project constraints
Objective Development, selection, and implementation of a software solution.
Identify the constraints affecting the development, selection, and implementation of a software solution.
No project has the luxury of unlimited resources. For example, delivery schedules and budgets constrain the time and money allotted for a project. But constraints may come in other forms as well.
Types of constraints and their effects
Each type of constraint can affect the development process in a different way. For example, poor user involvement can hinder the quality and speed of the project. Technology, the skills and experience of the participants, the tools and programming resources, as well as legal, political, and organizational constraints all influence the progress of a project in unique ways.
In short, a constraint restricts your options in one or more phases of the project. This in turn causes other elements of your models to have to compensate for this limitation.
To address a constraint:
  1. Identify the phase(s) of the project where a constraint restricts your options.
  2. Identify the work products/models affected by the constraint.
  3. Adjust the model(s) to compensate for the constraint.
For example:

Constraint Phase affected Affected Models
Response time < 3 seconds Architectural analysis Performance criteria
Law requires a printed certificate Project initiation
Problem Analysis
Use Cases
Object Model
Mandated class libraries Construction Object Model
Team inexperience with OO Project initiation Team Training
Must use 100% pure Java Architectural analysis
Object Design
Language Constraint
Object Model
Constraints will appear throughout the project, particularly at project initiation. It is valuable to catalog the constraints as they come up. As the project progresses, keep reviewing your constraint list to be sure that you have addressed each limitation in your models.
Project Constraints - Exercise
Click the Exercise link below to identify whether selected user statements help you identify project context, scope, or constraints.
Project Constraints - Exercise