Beruflich Dokumente
Kultur Dokumente
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.
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
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
Project
is responsible
Time
Effort
Cost
uses
Process Role Agent
performs
uses
Date
Type
System Human
establishes
updates
Service Resource
coordinates
Artifact
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
SPM
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
Descriptors
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
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
precede contain
1..n
Component
❚ 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