202-02 SW Project Definition - Explained
202-02 SW Project Definition - Explained
202-02 SW Project Definition - Explained
Segment 202
Software Applications
This section provides an introduction to the project, its general purpose, scope and the
problems or opportunities it is meant to address. It also presents some background
about the project.
This is a standard form to be filled as and when the Project Definition is built. It has such
data as:
Whether the project documents will be reviewed only internally or for external use, it is
important to be in full agreement on the global objectives of the Ministry or Agency.
These usually change with time and with the introduction of new legislation and social
conditions.
In this section, present a brief summary of the Ministry or Agency’s charter, objectives
and long term vision.
Projects are usually initiated when either a problem has to be solved or responded to or
when an opportunity arises. Other projects arise to respond to mandatory conditions.
In this section, state the purpose of the Project. The following questions can be asked:
Example:
”The World Bank requires the use of a set of project management reports collectively
called LACI. The LACI Reports module needs to be developed and interfaced with the
The statement should be brief and should quickly indicate the scope and nature of the
project.
List the various alternatives and options that may arise in this project.
Example:
The Department Director wishes to investigate two different paths: inhouse or
outsourced development.
Example:
Different options result in different functions, pricing or scheduling and so the Project
Manager would need to study these when tuning the Project Triangle (Functions,
Schedule and Budget). Examples:
Remember that at this stage, only broad alternatives are to be considered. During the
Planning Phase, detailed alternatives and options be considered and selected from.
During the rest of the Project Definition, whenever applicable, use the listed alternatives
to further analyze such issues as:
Costing
Scheduling
Goals
Risks
Quality control
Users
Etc
Each project has a specific history, the steps that lead to the current position. In this
section, present the background of the project.
Example:
“During the past two years, there have been many attempts to develop a robust
attendance analysis system. There are 3 Ministries already using such modules with 2
others considering its development. Some were developed internally. Others were
outsourced. Two were developed in Arabic while the others were part of an existing
package developed in English.”
There are cases where the Agency might need to do some research before proceeding.
The reasons for such research are the following:
Prepare a summary of any brief research already completed and the findings.
Moreover, if more detailed research is required, it would be a good place to state such
requirements and indicate when such research would be done: during the Initial or
during the Planning Phase.
Stakeholders are any persons or parties that have a vested interest in the project. These
could be any of the following:
List all stakeholders and identify their interest (Positive or negative) in the project. It is
only by determining who the stakeholders are that the Project can ensure that their
expectations can be analyzed and met.
These are the objectives that, if all else fails, the project must meet. In other words, it
must meet these objectives as a minimum for it to succeed.
The items are critical to those who will benefit from the project and to those with the
responsibilities for judging success criteria, ie, all stakeholders.
To clarify in the minds of the project team and service managers what the
essential benefits are that the project will deliver.
To identify the CSFs so that their risks can be analyzed.
Define the audience of the product or its users by following these steps:
Example:
“One group is presented: the system will be used by our technical team. They consist of
around 20 engineers. They hope to have access to project data as well as documents
such as technical drawings and specs. Most of the engineers are computer literate. They
only require training on the actual product itself. At a later stage, it may be possible to
open up the use of the application to the consultants working with the engineers.”
Example:
“The Agency’s Library will be used by category 1, 2 and 3 staff. They hope to have
access to all research material, survey results and works completed in other
non-governmental agencies. These users are not used to desktop PCs and will require to
be PC competent. At a later stage, the Library may be opened to persons from other
Agencies.”
All projects exist to meet the requirements of the stakeholders. This is easier said than
done. Requirements Analysis is one of the key areas in any project and is often the
cause of poor results. The reasons are many:
This section covers the activities carried out in the Initiation Phase for Requirements
Analysis. The results of this analysis are not the final results for the Analysis. The final
agreement on what is really required is eventually stated in the Project Plan.
This analysis is a preview and is used to establish other elements in the Project
Definition.
Forward Look: there is a corresponding but much more elaborate set of activities for
the Analysis of Requirements in the Project Planning phase.
This is the financial or administrative side of the project. It highlights the reasons the
project is required. It quantifies them when possible. It is the basis for assessing the
feasibility of the project.
Objectives are the aims or targets that should be met by executing this project. They
answer such questions as:
What is to be achieved?
When to achieve it?
Examples:
Goals are different from Objectives. Objectives are the business targets. Goals are the
set of measures that will confirm that objectives have been reached within a specific
period.
Goals are therefore, “Measurable objectives”. They must have a defined measure and
the time within which to achieve it.
Examples:
As important as the Objectives and Goals of the project are the non goals or what is not
to be included. This is a very important section as it avoids a lot of risks by stating early
all the features (Functions) or activities (Such as training, maybe, or maintenance) that
should not be included.
This is the Project Manager’s way of ensuring that there are no “hidden” assumptions or
“implied needs”.
Note: Do not include exclusions for Products as these are included in Section 3.2.3. Only
exclusions for the system should be listed.
Examples:
The Library will not include business magazines, only technical journals.
The campaign will only cover Beirut and not the rest of our cities.
This section presents a general review of the current system or the “AS IS” system. The
purpose is not to analyze the system as in most cases, it would be changed. The purpose
is to note down the baseline from which the change is to be made.
Another purpose would be to ensure that the scope of the system or process being
automated is clear.
1. Define the scope of the business system: where it starts and ends, what it
includes and what is excludes.
2. Identify the Use Cases of the system. The Use Cases identify the functionality
required from the system in question. They answer questions such as: What does
the system do? What Actors does it respond to? At this stage, there is no need to
identify use cases related to technical issues such as log on, log off, backup, etc.
Only the Use Cases related to the functionality or use of the system are to be
identified.
Should any Use Case not be clear, it can be described in text form, but very
briefly.
3. Identify the main Actors using the Use Cases. These are the persons or systems
outside the required system that trigger the Use Cases. Each Actor has an
observable and measurable benefit from one or more of the se Cases.
5. Identify the main Business Objects or Classes. Describe some of them if they
need to be clarified. Again, this is a broad definition of the Classes. At this stage,
the methods and behavior (Methods) for each Class are not defined. The purpose
of identifying Business Objects is to ensure that there is a clear understanding of
the workings of the system.
Remember that the above shows WHAT the system does and not HOW it does it.
The above UML model is sufficient to define the functions of the system.
Forward Look: there is a corresponding but much more elaborate set of activities for
Modeling the Current System in the Project Planning phase.
There are different stakeholders for each system. Stakeholders hold the system in view
of the benefit it gives them. Their requirements are therefore critical as these are the
parties that will eventually return and demand the requirements from the working
system.
This section contains any type of requests a stakeholder (internal customer, end user,
management and so on) might have on the system to be developed.
It also contains references to any type of external sources to which the system must
comply such as:
Statement of work
Bidding documents
At this stage, it would be generally known whether the Ministry or Agency is satisfied
with the system as it is. It would also be known whether the Ministry or Agency see any
reason to change the current system due for example, to changing circumstances, laws
or organization.
Forward Look: there is a corresponding but much more elaborate set of activities for
the Improvement of Business Processes in the Project Planning phase.
This section presents a general review of the required system or the system “TO BE”.
The purpose of this section is the following:
A separate Technical Paper introduces Business Modeling and discussed the uses
and applications of the various UML diagrams that can be used in a Software Engineering
Process.
1. Define the scope of the new or the required business system: where it starts and
ends, what it includes and what is excludes. This may differ from the AS IS
system.
Example:
In the new stock system, we will be controlling the shelf and bin locations.
2. Revise the main Use Cases of the AS IS system and plot them on a diagram.
4. Should any Use Case not be clear, it can be described in text form, but very
briefly.
5. Identify the required Business Objects. Describe some of them if they need to be
clarified.
Remember that the above shows WHAT the required system does and not how it does it.
Forward Look: there is a corresponding but much more elaborate set of activities for
the Required System in terms of Functional and Technical Design and Specification. This
will be presented in the Project Planning phase.
The Project Scope defines the activities that limit the project or that fall within the
responsibilities of the Project Manager to complete. This covers all deliverables of the
project.
Examples:
Although at this stage, it may be too early to decide what the mode of the software will
be, it is important to state all the criteria that are known that will help in making such
decisions as:
The procedure for answering the above questions is presented in the Main Document for
software applications.
Products are often confused with Deliverables. In common usage, products are usually
given more importance than the Deliverables of the Project.
Products are the actual applications that the Project hopes to produce or build or
acquire.
Deliverables are ALL that the project hopes to provide its customer with. These include
warranties, maintenance, documentation, training and other commitments. (Some may
call these “Services” which are like products).
The segment shall refer to all the above as “Deliverables”. A typical list for a software
application that is developed by a software vendor is the following:
Deliverables consist of the application itself as well as the items needed to use and
operate it. These may be applications, products, systems or services or a combination of
these. They can also be other commitments to be undertaken such as documentation,
training, maintenance, etc.
This section consists of a list of all known deliverables (As some may not be known at
this stage). For each deliverable, the following data elements should be identified:
Deliverable name
Features of the item (See details below)
Description of the deliverable
The phase during which the item is delivered
Acceptance criteria
Assigned to (Team Member Name if available, otherwise a generic role)
Delivery date
Estimated date of delivery
Again, note that the above information may not be available for all deliverables at this
stage.
This section should list all the functions or features of the product or the service or the
system that the project aims to produce.
For various reasons, you may have different functions and features to introduce. List all
such alternatives in this section.
There is no need for details here, just a list of all features that should be in the product.
This is the first statement of the “Product Scope”.
Exclusions are important because they warn against what some stakeholders might
assume will be delivered.
Examples:
The software training manuals will only be delivered in Arabic not in English
The training will cover the users and not the software developers
No source code will be delivered with the item
The web site will not include payments.
This section defines how the product is to be introduced to solve the problems listed in
the earlier section. The Product Solutions Concept applies to the Project Scope It
answers such questions as:
Examples:
The current release of the database will be used. It will upgraded to the most
recent release when enough experience is gained with the new version.
Existing units will be converted to be object oriented. This will be carried out in
phases to ensure a smooth transition.
Due to a global agreement with company X, their Server is recommended though
there is no restriction to use it. This will reflect itself in lower overall costs.
All user interface API calls will be using standard library X which has been used in
the earlier application.
Multi-tier technology will be used.
It might be too early to define Product Solutions at this stage. Sometimes internal
customers may request it because there are constraints such as legacy systems,
standards or commercial agreements. In some cases, the Product Solutions are very
clear. In others, there would need to be a list of options.
As the size and complexity of software applications increase, the design goes beyond
defining data and control flows. The problem becomes a matter of designing the
structure of the overall system. This is called System Architecture.
Many of the above issues are usually assumed when designing systems such as
multi-tier architecture, etc. Others need careful solution planning.
Software architecture relates to the Product Solutions concepts that are to be identified
in this section. At this stage, state whatever is known or projected for software
architecture.
Most projects are subject to assumptions and constraints that are related to one or more
sides of the Project Triangle: scope, schedule or budget. It is important to identify these
constraints and assumptions early in the life of a project, first to reduce the risk and
second, to analyze the resulting trade-off’s that such assumptions and constraints
require.
Assumptions are usually accepted truths or aspects of a project that are not clearly
voiced or stated. Most of the time, they reflect “implied” requirements of stakeholders
that are not openly identified.
Examples:
“Management assumes the team will be disbanded after the project”.
“The internal customer assumes there will be training before the delivery of the
application”.
“The tax structure is assumed to remain unchanged throughout the duration of the
project”.
List all the known assumptions here. At a later stage, the Risk Management activity will
need to address these constraints to ward against their occurrence.
3.4.2 Constraints
Describe the principal constraints and limitations under which the project must be
conducted. Constraints cover all aspects of the project and affect the 3 sides of the
triangle. Such constraints as the following should be investigated:
Environment
Timeframes and deadlines
Skill levels
Resource availability
Budget
etc.
List all known constraints here. At a later stage, the Risk Management activity will need
to address these constraints to ward against their occurrence.
The purpose of this activity is to look forward towards the use of any existing or to new
standards.
These may be working standards for such processes as design, development and the
communications (Social not electronic) of the whole project such as:
At this stage, the Project Definition document simply needs to identify these standards.
No attempt at this stage is made to document them or start planning for their use.
The Risk assessment document follows the structure of presented in the Risk
Management segment. Risk Management is one of the few sections in the Project
Definition document that has to be completed in detail.
Complete the activities required by the Risk Management processes presented in the
above mentioned segment.
The list of all risky events that are identified at this stage.
The data elements required for each event as per the Risk Event Form in the Risk
Management segment
The Risk Analysis Table showing the Top Ten risks
Any Risk Leverage computation carried out on specific events
Risk Analysis will be reviewed when commencing with the next phase: Planning.
Prepare the Risk Analysis Table as per the procedures defined in the Risk Management
document. This table will include a list of all events that may damage the product or the
project. For each event, there will be a set of parameters to be computed such as the
following example:
Depending on the nature of the risky event, there is a need to develop plans to respond
to such an event if it takes place.
There are four types of responses defined in the Risk Management segment. These are
briefly:
Various measurements need to be known when defining the project. At this stage, the
level of detail is not too deep. Whatever is known has to be listed. In some cases, and
depending on the project, specific measures have to be analyzed or researched.
This covers the following workload measurements which are all related to the sizing of
the software application or the IT system:
The later Planning Phase will need to have accurate figures for the above. At this stage,
these can be general and indicatory.
Major milestones
Durations of critical activities
The Planning Phase will have to have an accurate knowledge of the scheduling of all
activities in the project.
Whatever information can be provided to prepare the eventual Cost Benefit Analysis
should be identified in this Section.
Prepare financial evaluations of the project which can be any of the following:
Feasibility studies
Discounted cash flow (NPV and IRR)
Prepare the same for alternative projects or alternative paths within the project.
Note: the choice between different alternatives, options or projects can be subjected to
an Evaluation and Selection process as presented in the Selection and Evaluation
Framework segment.
At this stage, the above analysis should be sufficient to allow a decision as to whether to
continue or not.
Performance Indicators are used to assess the performance of various aspects of the
software project. Software itself, has a major set of metrics such as the number of bugs
per developer, per unit, etc. The configuration management process has a fair number of
performance indicators described in the related segment. Risk Analysis has its own, also
described in the Risk Management segment.
Software Metrics is a wide area and is out of the scope of this segment. There is a
section in the Appendix that presents a general set of major metrics required for a
software application project.
In this section, indicate whatever PIs are known. More details will need to be defined
during the Planning Phase.
By now, a global view of the project should be had. The impacts of the project can then
be identified. Some of these may need to be catered for in advance:
Organizational issues
Legal necessities
Technical necessities
Competitive or strategic advantages
Management requirements
Political requirements
Also include in this section the impact of the current project on other projects in the
Ministry or Agency.
The following sections are essentially planning functions. However, they are indicated
because some of these issues may be known in which case they can be listed. If they are
not, there is no real need to list them.
Furthermore, the Planning Phase results in a document: the Project Plan. It will have the
same structure as the Project Definition document but in must more detail. The following
sections will be elaborated then.
Most software applications will probably be setup on a network. The current technology
requires a very careful and intricate deployment of software components on a network.
Furthermore, the project itself needs to define where specific servers and PCs are
located.
Indicate in this section what is known about the deployment of the software and
hardware component.
A separate Technical Paper introduces Business Modeling and discussed the uses
and applications of the various UML diagrams that can be used in a Software Engineering
Process.
The UML has two major diagrams called the Implementation Diagrams:
The initial Use Cases defined earlier will determine much of the infrastructure. However,
the technology policies of the Ministry or Agency are also of importance (Performance,
modernization, compatibility with legacy systems, etc). Finally, cost and lead time
considerations come into such infrastructural issues as:
Operating systems
RDBMS’s
Architectural categories: client/server, multi-tier, central system
Web servers
Other types of specialized servers
WAN’s and LAN’s
The deliverable of this activity should include any justification needed to move from the
current to the new infrastructure.
By the start of the Planning Phase, most of the key players in the team should be in
place. The following information can be listed, if known:
During the Planning and the Building Phase, all of the above would need to be elaborated
and determined in detail.
Again, at this stage, whatever is known is entered. At a later date, the Project Plan will
completely define this process.
A key process in project management is Quality Management. It would be a bit too early
to define and plan Quality at this stage. However, as with the other topics in this main
Section, whatever is already known about Quality Planning can be entered.
Note that Quality Management is a separate segment that should be consulted for the
whole process of Quality Planning, Assurance and Control.
One of the most important issues in Software Projects is the broad communications that
should be followed. This is part of Quality Assurance as well.
Communications Planning covers all channels and media used to share and manage
information in a project. It would be a bit too early to define and plan Communications
at this stage. Whatever is already known about Communications Planning can be
entered.
Use the Communications Planning form which can be downloaded from OMSAR's web
site for ICT Standards and Guidelines.
It is not possible at this stage to define the full requirements for training. However, as in
all other topics in this section, whatever is known should be stated:
Who to train?
How many?
What is their competence?
What type of training is required?
Eventually, in the Planning Phase, more detailed plans consisting of schedules and costs
will need to be presented.
The following issues are important to define. They are needed and would be updated
during the Planning Phase.
Throughout the Project Definition Phase, the Project Manager or whoever is preparing
the Project Definition Document will compile a list of issues that remain unresolved.
These should be listed and shown as part of the Project Definition Document.
A typical Microsoft Access™ database was prepared for use as an Issues Register. This is
available on OMSAR’s website for downloading and use.
Most projects are one time efforts and would hence introduce new terms or
understandings. This is especially true if the internal customer is using his own
terminology, acronyms and abbreviations.
In order for all stakeholders to understand what is being said, list all terms that should
be defined.
Identify the location (Electronic or otherwise) where all project templates, standards and
documents are kept:
The Project Definition Document must define an inventory of all these forms identifying
their use Identify their location. At a later stage, this could be part of the Configuration
Management scheme.
Many documents will already be collected for the Project Definition. However, in order
not to destroy the flow of the “Definition”, it is best they be kept in the Appendix section.
Such documents as the following may be attached:
Technical diagrams
Data sheets
Customer RFP’s, Tenders, etc
Drawings that support your arguments
Costing sheets
User lists, locations