Vous êtes sur la page 1sur 9

PROJECT MANAGEMENT

A SOFTWARE PROJECT
MANAGEMENT
FRAMEWORK
Antonio de Amescua, José García, Manuel Velasco, Paloma Martínez, Belén Ruiz, Juan Llorens, Luis Gar cía,
Antonio Calvo-Manzano, and Tomás San Feliu

This article reports the results of research into software project management. The main contri-
bution of this research is a software project management framework that consists of a static
structure, shown in an entity-relationship diagram, and a description of each component of the
framework. It also describes the procedure to design and validate the framework. This consists
of integrating the solutions of a traditional model (information model) and a formal model
(domain analysis). This software project management framework is a key element for rapid and
effective project management process improvement of a software organization.

OFTWARE PROJECT MANAGEMENT IS A Because software process improvement re-


S software life-cycle process in the manage-
ment process category. This category
quires great effort and resources, it is necessary
to provide models that offer generic solutions
consists of a set of processes that contain for each specific process that can be tailored to
procedures that can be used by managers for the needs of each organization.
any type of software development project. Although little has been done so far in the
ANTONIO DE Most software projects have been more con- field of software management process im-
AMESCUA, JOSÉ cerned with aspects of technology rather than provement, reference models such as CMM,
GARCÍA, MANUEL management. Organizations that wish to finish ISO 15504, and specific project management
VELASCO, PALOMA
their project on schedule, keep within their models help determine the practices of good
MARTÍNEZ, BELÉN
budget, and maintain quality should implement software management. We used these docu-
RUIZ, JUAN
LLORENS, LUIS
good software project management practices. ments, which make up the requisites of software
GARCÍA1, ANTONIO Software process improvement (SPI) mod- project management process specification, as
CALVO-MANZANO, els such as CMM and ISO 15504 define the pro- our point of departure.
and TOMÁS SAN cedures involved in software processes. While There are many project management tools
FELIU belong to the ISO 15504 model determines the process available today. However, few of them support
SOMEPRO, which is a capability level of a specific process within an software project management. The main defect
group of professors organization, depending on the process activi- of these tools is the lack of integral support, spec-
from three Spanish ties carried out, the CMM model determines ified in the models and reference methods, of all
universities — Carlos the capability level, called maturity level, of the the activities related to software management.As
III, Madrid
organization. Each management process (Re- a result, most organizations find it difficult to im-
Polytechnic and Open
quirement Management, Software Planning prove their software project management pro-
University — whose
main purpose is
Project, Project Tracking and Oversight, Soft- cesses.
research and ware Quality Management, Software Configura- The aim of this research is to provide the
development on tion Management, Software Subcontracting project manager or the software engineering
software process Management) must reach a certain process ca- process group (SEPG) responsible for the soft-
improvement. pability level to obtain this maturity level. ware process with a way to improve their

78 I N F O R M A T I O N S Y S T E M S
S P R I N G 2 0 0 4
M A N A G E M E N T
PROJECT MANAGEMENT

respective organizations using a knowledge software project management: budget control,


base from which they can store and retrieve in- delivery dates and effort distribution of person-
formation on software project management re- nel, as well as risk management needed for the
lated to all the software projects to be project.
undertaken. Software project tracking and oversight
This knowledge base will: gathers current real data, performance and pro-

T racking ❚ Describe all the practices.


❚ Store all real data of current and past
ductivity from the software project, compares
real and estimated data, and takes the neces-
and oversight projects.
sary corrective actions. Tracking and oversight
are considered ❚ Provide relevant information for project are considered within the SPM domain because
the information they manage will:
within the managers.
❚ Provide information to improve software ❚ Register the problems that arise during the
SPM domain. project management processes. project
❚ Compare real and estimated data regarding
FRAMEWORK FOR SOFTWARE PROJECT size, effort, cost, and finishing date of the
MANAGEMENT
project
❚ Determine the percentage of effort distribu-
A framework represents the information model
tion, cost, and duration of the project for
for the objects that can be described during
each process used
software process management (SPM). To
achieve our objective, we carried out the fol- The definition of domain project manage-
lowing activities: ment does not include tasks on subcontracting
management (such as requests for proposals,
1. Defined and determined the scope of Soft-
evaluations, recruiting suppliers, etc.). Quality
ware Project Management
product criteria were not considered because
2. Defined a framework for Software Project
they are part of quality management.
Management using information modeling
The software project management frame-
techniques
work to be designed in the following activities
3. Defined a framework for Software Project
should satisfy the SPM domain definition.
Management using the domain analysis
technique
4. Designed a generic framework for Software SPM Framework Design Using
Project Management Traditional Information Modeling
Techniques
Each of these activities is described below: Our objective was for experts in information
For this research, we used the case study design modeling techniques and software
evaluation technique and analyzed the results project management to obtain the design for an
of activities 2 and 3 above to validate them. As SPM framework. The tasks carried out for this
a result of this validation, we obtained a soft- activity were:
ware project management generic design.
❚ Recruiting experts
❚ Training experts
Scope of Software Project Management ❚ Drafting frameworks
The purpose of this activity is to obtain a deliv- ❚ Designing a common framework
erable called “SPM domain definition.” The ar-
eas considered in the field of software project The experts involved in this project were
management, and those outside it, were de- divided into two groups:
fined to facilitate the interpretation of the re-
1. Professionals who were project managers
sults obtained in future research stages.
in their respective organizations and have a
A summary of the “SPM domain definition” is:
wide range of experience in software devel-
Software project management can be di- opment projects.
vided into two areas: 2. Post-graduates doing their doctorates and
non-graduates who were final-year com-
1. Software project planning
puter science students (fifth year) from two
2. Project tracking and oversight
universities, who had mastered the tech-
Software project planning consists of de- niques in information modeling such as
veloping a detailed project plan. This process entity-relationship and UML diagrams. The
contemplates all the activities necessary for students were placed into groups of four.
I N F O R M A T I O N S Y S T E M S
S P R I N G 2 0 0 4
M A N A G E M E N T
79
PROJECT MANAGEMENT

TABLE 1 Document Corpus

Code Document Name

DSP01 IEEE Standard for Software Development Plans. IEEE Std. 1058.1
DSP02-05 Capability Maturity Model Key Process Areas
DSP06-08 ISO 15504 Standard Documentation
DSP09-14 ISO 12207 Standard Documentation
DSP11-13 IEEE Std. 1074 Standard Documentation
DEP02-05 Albretch Function Points
DEP06-08 COCOMO Estimation Model
DHP01-04 Platinum Process Continuum
DHP05-06,12 Open Plan Reference Documentation
DHP07-11 Primavera Project Planner PPBook; Reference Documentation
DRP01 SEI’s risks taxonomy
DMO01-03 Distributed Object-Oriented Software Process Modeling
DMO04 Rational Unified Process; Static Structure
DMO05-06 Workflow Coalition Standard; Process Modeling, Process Definition
DMO07 SEI Report in Software Process Modeling
DMO08 ProNet Graphical Modeling Language
DMO09 SPF is based on Process Definition Criteria; Glossary
DMO10 ETVX Definition
DMO11 Workflow Reference Manual; Process Technology

The experts came from four different orga- ❚ Process. A process consists of a set of coordi-
nizations. A single framework was designed for nated activities, performed in sequence or in
the organizations and a single design from all parallel, by a set of agents that use previously
the students who were in the same class was defined resources. A process can be divided
compiled. The two models were analyzed to into several activities. Each activity can be
generate the final framework design, which is further divided into tasks.
summarized in Table 1. Due to space limita- ❚ Artifact. An artifact is any kind of material
tions, only the objects considered for the element that can be created, used, or
updated during a process performance.
framework, the existing relationship, and the
There are two types of artifacts: resource and
main attributes are presented.
product.
The training given to the experts differed
– Resource. A resource consists of hardware
according to type. The professionals took an
and software technologies, specific
eight-hour CMM course and a sixteen-hour objects, and abstract concepts that can be
Project Software Management course, while described or captured in the form of
the students took a sixteen-hour CMM course objects. They are needed to help develop
and a forty-hour SPM course. However, the software systems. Examples of concrete
same material was used and the courses were substances are buildings, conference
taught by the same lecturers who also partici- rooms, computer s, etc. Examples of
pated in the project. abstract concepts can include organization
Both the professional and student groups structure, management concepts, and gov-
had to design a software process management ernment regulations.
framework. Over a period of two years, they – Product. A product consists of a docu-
developed a total of 108 designs: 40 by the pro- ment, source code, results of verifications
fessionals and 68 by the students. Lecturers as- and validations, etc., obtained from exe-
sisted the professionals, on request, with their cuted tasks.Therefore, a product is a result
SPM model designs. of an activity or task.
The main elements of this preliminary ❚ Component.A component is a part of a prod-
framework were (see Figure 1): uct. A percentage of the effort required for
each component with respect to the total
❚ Project.A software development project con- must be indicated.
sists of a set of processes needed to build a ❚ Role. A role consists of a group of agents that
software system that meets all the require- have a common set of capabilities, skills, and
ments established by users at the beginning responsibilities. Each role can perform or be
of the development. responsible for a process, activity, or task.
80 I N F O R M A T I O N S Y S T E M S
S P R I N G 2 0 0 4
M A N A G E M E N T
PROJECT MANAGEMENT

FIGURE 1 SPM Framework Designed by Experts

Project

is responsible

Time
Effort
Cost

uses
Process Role Agent
performs

uses

Date
Type
System Human

establishes
updates
Service Resource

coordinates
Artifact

Resource Product Component

updates

❚ Agent.An agent is a specific person who may This activity is very important because differ-
fit into one or several roles. An agent is the ent information selection generates different
only, and ultimate, person responsible for the domain models. The final selection of docu-
execution of a task. ments used to create the corpus of information
is presented in Table 1. It must be emphasized
SPM Framework Design Using Domain
that only the documents on software project
Analysis management are included in the corpus.
Domain analysis appeared in the previous de- The documents selected for this work are
cade as a problem-solving technique in the re- related to software project management stan-
use process within the global development dards, techniques, and tools with great impor-
process of a software project. Some authors tance in this knowledge area.
(Neighbors, 1990) define it as the activity of Each document of the corpus is enclosed
identifying objects and operations of a class of on a file that is coded using the following rules:
similar systems in a specific domain.
A domain analysis global process is mainly abcXX, where:
concerned, due to domain modeling, with the a: The type of the file referenced; in our case,
definition process of information storage struc- it is always D because all the files contain
tures. The tasks to be developed in domain documents.
analysis are Information Gathering, Informa- b: The type of the document. It can be of five
tion Processing, and Information Validation. classes:
This technique is used to build an SPM ❚ Software Engineering Standard (S)
framework semi-automatically. This model can ❚ Software Project Estimation Document
be compared with the one obtained using the (E)
traditional modeling information techniques; ❚ Document of software project manage-
that is, with the results presented in Figure 1. ment tools (H)
Information on the domain analysis process is ❚ Document of software risks (R)
presented in this section. ❚ Document with information about soft-
For this purpose, the aid of two types of ware process modeling techniques (M)
experts — an expert in domain analysis and an c: Knowledge area of the information con-
expert in the particular domain — is required. tained in a document. In our case, P,
Our research team has experience in these roles. because all the documents are about soft-
For the Information Gathering activity, both ware project management.
experts had to select the information that de- XX: Sequence number of a document inside a
termined the domain as completely as possible. category.
I N F O R M A T I O N S Y S T E M S
S P R I N G
M A N A G E M E N T
2 0 0 4
81
PROJECT MANAGEMENT

FIGURE 2 Groups of SPM Descriptors

SPM

Estimation Organization Requirements Planning Risks Tracking Final Balance

In Information Processing, the selected cor- attributes in domain analysis. The VALUE cate-
pus was processed to automatically obtain gory will give rise to the possible values of the
terms (descriptors) that fully represented the attributes shown in the framework. The rela-
static structure of the SPM domain. tionships are also found at http://raul.ie.inf.
The framework generated through the ap- uc3m.es/spm.
plication of domain analysis techniques is com- The domain analysis categories REPORTS
posed of a set of descriptors that permits an OR DOCUMENTS and PROCEDURES will not
organization to efficiently classify and retrieve be reflected in the framework because they
information and artifacts related to software represent products that can be obtained by
project management. consulting the information in the framework.
Based on the results obtained in this activi-
ty, the significant SPM descriptors can be
Generic Framework for Software
grouped as shown in Figure 2. Management Projects
Because the descriptors obtained through The aim of this task was to develop and validate
semi-automatic filtering techniques (Indización the project management framework so that the
estadística de términos por frecuencias inver- model developed meets the requirements of
sas, IDF) had different levels of abstraction, the specific software project management. An
they were divided into the following catego- information modeling technique will be com-
ries: pared with the domain analysis technique to
❚ Object: descriptors that can be considered as verify the resulting product. Any discrepancies
elements with their own entity. will be analyzed to obtain the final version of
❚ Attribute: descriptors that can be considered the framework. As the framework developed
as features of other objects. by the project management experts had a
❚ Value: descriptors that can be considered as structure compatible with the object/at-
possible values of an attribute. tribute/value, an analysis of the discrepancies
❚ Reports or documents: descriptors that can that permitted the integration of the results in
be used as documents or generated during both directions was undertaken. A list of the
the project management activities. main discrepancies between both models is
❚ Procedures: list or sequence of steps for an shown in Table 3. See http://raul.ie.inf.uc3m.
activity or task related to project manage- es/spm for the complete discrepancy table.
ment. Finally, a design activity integrating the dif-
ferences between the frameworks, obtained
By applying this breakdown to the set of de-
through the two techniques applied, was un-
scriptors called PLANNING, the results shown
dertaken.
in Table 2 were obtained. The other descriptor
The preliminary model designed by experts
groups (see Figure 2) obtained results with a
(Figure 1) was enriched, so a software project
similar structure (see http://raul.ie.inf.uc3m.
management domain representation was de-
es/spm.).
fined (see Figure 3). This representation is a
According to the results of this domain anal-
class diagram following the notation presented
ysis, the framework generated should have the
in UML (Booch, Rumbaugh, and Jacobson,
objects or entities identified in the object cate-
1999). In this new model the following classes
gory. There should also be a relationship be-
or entities were included:
tween the objects in the same group (because
there are objects that are found in several ❚ This domain model contains information on
groups, relationships between objects in differ- the software processes used in an organiza-
ent groups are allowed). The attributes of the tion. A process consists of a set of coordi-
framework objects will be those found under nated activities, performed in sequence or in
82 I N F O R M A T I O N S Y S T E M S
S P R I N G 2 0 0 4
M A N A G E M E N T
PROJECT MANAGEMENT

TABLE 2 Classification of the PLANNING Descriptors

Descriptors

Object Life Cycle


Plan
Planned Activity
Software Project
Project Team
Attribute Critical Path
Milestones
Phase
Planned Cost
Project Characteristics
Project Manager
Project Phase
Project Procedure
Resource Assignment
Resource Availability
Finish Date
Value Milestones Dates
Overlapping Waterfall
Single Prototyping
Spiral
Spiral Build
Waterfall
Reports or Documents Calendar
Detailed Plan
Detailed Resource Plan
Detailed Technical Plan
Process Tailoring Guidelines
Project’s Process Training Materials
Schedule
Resource Breakdown Structure
Product Breakdown Structure
Time Sheet
Procedures Project Planning
Software Development Planning

TABLE 3 Experts and Domain Analysis Framework Discrepancies

Descriptor Expert Model Action

Object Life Cycle Project.LifeCycle An Object called LifeCycle must be included


Plan Project–Process An Object called Project Plan must be included
Relationship
Planned Activity Project–Process An Object called Project Plan must be included
Relationship
Software Project Project Object No action
Project Team Agent and Role Object No action
Attribute Critical Path Not directly considered Can be obtained through a query
Milestones Not considered A new attribute in Project Plan Object must be
included
Phase Process object Distinguish between process objects and
activity
Planned Cost Project.Estimated Cost No action

parallel by a set of agents (called roles) that metrics for each process to objectively deter-
use previously defined types of material mine the process’s effectiveness.
resources. These processes use and/or ❚ Because we can define a project as a custom-
update a set types of products in order to ization of a set of software processes to build
meet objectives. They are defined as a set of a particular software system, the domain
I N F O R M A T I O N S Y S T E M S
S P R I N G 2 0 0 4
M A N A G E M E N T
83
PROJECT MANAGEMENT

FIGURE 3 Software Project Management Framework

1..n
Requirements Risks Product
update 1..n
1..n 1..n 1..n
has has use
1..1 1..n 1..n 1..n
has
Technical has 1..1 1..n Project
Projects
Characteristics 1..n 1..n
1..n Activities
1..n 1..n
take part
Material
Human apply Resource
1..n is of
Resource 1..n
1..n
Processes is of
include
1..1 1..n 1..1
1..n
define
play Material
Metrics 1..n
has Resource Type
1..n

1..n 1..n 1..n 1..n 1..1


1..n use 1..n
1..n
Role 1..1 take part Activities Product Type
1..n 1..n update 1..n
1..1 1..1

precede contain
1..n

Component

model must permit information about a Software process improvement is a long


project to be stored. For each project, the and expensive process because experts are
requirements allocated, the technical charac- needed and there are no tools or standard mod-
teristics that modify the requirements’ com- els to fully deal with it.
plexity, and the risks related to the project This research offers a software project man-
execution must be known. These technical agement improvement framework. It provides
characteristics can be distributed functions, the model of the basic information structure to
data communications, performance, online
define, implement, and improve the software
data updating, etc; and they are stored in the
project management process.
Technical Characteristics class (see Figure 3).
The framework obtained will be useful for
❚ It is necessary to store information on
those in charge of software process manage-
project tasks that come from the organiza-
tion. Standard software process customiza- ment improvement: Project Managers, Soft-
tion must be stored to maintain data on the ware Engineering Process group, or Quality
specific human and material resources and group.They can use the SPM framework to:
the specific products used and developed ❚ Define a standard software project manage-
during the project. The information related ment process that includes a complete
to the application of the metrics defined in description of all the activities, products, and
the organization’s software process is also
roles that the organization must use to
allocated in these classes.
develop its projects
See http://raul.ie.inf.uc3m.es/spm for more de- ❚ Design the software project process for
tails. every project
❚ Elaborate the software project plan to deter-
CONCLUSION mine the activities, their dependencies, the
Results of evaluations carried out worldwide products, and the roles included in the
show that software process improvement — project
and specifically, the improvement of software ❚ Store the results of the process management
management processes — is one of the key projects
challenges that organizations, in which soft- ❚ Retrieve the information required for track-
ware is a vital part of business, face. ing
84 I N F O R M A T I O N S Y S T E M S
S P R I N G 2 0 0 4
M A N A G E M E N T
PROJECT MANAGEMENT

❚ Retrieve the information managers require to Systemics, Cibernetics and Informatics, 2, 568–
improve their software project management 573, Orlando, FL, July 2000.
process 4. IEEE Standard for Software Project Management
Plans, IEEE Std. 1058.1-1987. New York: Institute
In addition, we have just designed an appli- of Electrical and Electronics Engineers.
cation whereby we can use the SPM frame- 5. ANSI/IEEE Std. 1074-1991. IEEE Standard for
work to define and support the software with Software Life Cycle Processes. The Institute of
special attention to the specific goals of the or- Electrical and Electronics Engineers, New York:
IEEE Computer Society, 1991.
ganization. This application can also serve to
6. International Organization for Standardization,
validate the framework defined.We plan to test ISO/IEC Std. 12207:1995 Information
other aspects, such as the retrieval capacity Technology — Software Life Cycle Processes,
and the effectiveness of the relations of the International Organization for Standardization,
framework. Geneva, Switzerland, 1995.
This software project management frame- 7. ISO/IEC Std.15504. Software Process
work has been successfully used in two soft- Improvement and Capability dEtermination,
ISO/IEC/JTC 1, 1997.
ware organizations, so 79 percent of the
8. Lawrence Pfleeger, Shari. Software
organization’s information needs about project Engineering: Theory and Practice. Prentice
management were already represented in the Hall, 1998.
framework, and only 21 percent of the organi- 9. Neighbors, J. The Evolution from Software
zation’s information needs had to be added Components to Domain Analysis. International
(García, 2001). ▲ Journal of Software Engineering and
Knowledge Engineering, 2(3), 325–354, 1990.
10. Paulk, M.C., Garcia, S.M., Chrissis, M.B., and
Acknowledgments Bush, M. Capability Maturity Model for
This research was partially sponsored by the fol- Software, Version 1.1, CMU/SEI-93-TR-24.
lowing companies: BBVA (www.bbva.es), CIRSA Technical Report. Software Engineering
(www.cirsa.com), ICM (www.comadrid.es), and Institute, Carnegie Mellon University, 1993.
IIIS (www.iiis.es). We would also like to thank 11. Paulk, M.C., Garcia, S.M., Chrissis, M.B., and
Bush, M. Key Process Area for Capability
the graduates from the Computer Science De-
Maturity Model for Software, Version 1.1,
partments of Carlos III University and Polytech- CMU/SEI-93-TR-25. Technical Report. Software
nic University of Madrid for their collaboration, Engineering Institute, Carnegie Mellon
Dr. W. Frakes from Virginia University and Dr. R. University, 1993.
Prieto who taught Domain Analysis in our Doc- 12. Software Engineering Measurement and Analysis
toral Program at Carlos III University. Team. “Process Maturity Profile of the Software
Community 2000 Year End Update.” Software
Engineering Institute, March 2001.
References 13. Fox, Terry L. and Spence, J. Wayne. “Tools of the
1. Booch, G., Rumbaugh, J., and Jacobson, I. The Trade: A Survey of Project Management Tools,”
Unified Modeling Language. Addison–Wesley, Project Management Journal. September 1998.
1999. 14. Zipf, G.K. Human Behaviour and the Principle
2. Euromethod Version 1.1 Euromethod Project. of Least Effort: An Introduction to Human
July 1996. Ecology. Haffner, New York. 1972.
3. García, J., Amescua, A., Velasco, V., and Sanchez, 15. García, J. Formal Approach to Software Process
M.I. How to Implement Domain Analysis. Improvement. Ph.D. thesis. Carlos III University
Proceedings of the World Multiconference on of Madrid, November 2001.

I N F O R M A T I O N S Y S T E M S
S P R I N G 2 0 0 4
M A N A G E M E N T
85