• No results found

Training Software Development Project Managers with a Software Project Simulator

N/A
N/A
Protected

Academic year: 2021

Share "Training Software Development Project Managers with a Software Project Simulator"

Copied!
12
0
0

Loading.... (view fulltext now)

Full text

(1)

Master of Science Thesis Proposal

Department of Computer Science and Engineering

Arizona State University

Training Software Development Project Managers

with a Software Project Simulator

Prepared by

Derek Merrill

February 4, 1996

Approved by

Chairperson:

James Collofello

Committee:

Joseph Urban

Committee:

Leonard Faltz

(2)

Abstract

The goal of this thesis work is to create an effective simulation tool and training process for software project management training. Building upon a model of the software development process, the tool will expose the trainee to realistic software project

management training situations for which a manager must plan and react. A training

process will accompany the tool to provide a more complete method through which specific software project management lessons can be taught and explored. In support of the value of this work, the ongoing need for effective software project management training and simulation training are described. Last, an overview of the development plan and the validation plan for the proposed simulation tool and training process are described.

1.0 Background

There is a clear need for effective software project managers. The "software crisis", the long proclaimed ineffectiveness of software development projects to maintain their schedule, cost, and quality, continues to plague most development projects [4, 8]. It is estimated that over half of all software development projects are considered a failure with respect to their cost and schedule [6]. Extensive effort is now being made by many

software companies to mature their development processes by attempting to follow the ranking of the Software Engineering Institute's (SEI) Capability Maturity Model, conforming to the ISO 9000 standard, or by following internal improvement policies. However, many of these projects may not have been a failure if certain common project management pitfalls had been avoided. Moreover, a process cannot be properly managed or improved without all those involved having a clear understanding of the process and how it is exercised. This mental model of the process provides the basis for project management [11]. Statz recognizes why project management activities ranked second and fifth as key areas lacking in an SEI process assessments from 59 sites between 1987 and 1993. She notes how industry does not properly train project managers:

(3)

training and no frameworks for doing it well. We expect that somehow they can be 'auto-magically' transformed from being developers in ad hoc environments to being managers who instill control over those environments. We give them no opportunity to hone the proper skills -- we simply expect them to develop them. We give them no models or standards of excellent performance. We give them no support network, nobody with whom to discuss their dilemmas. And yet we wonder why their projects fail." [13]

Capers Jones underscores this point in Assessment and Control of Software Risks by listing project management malpractice among the top 60 key risk items of software development. Jones notes inadequate standards with which to judge project management performance and inadequate training for project management being the root causes [7, 13]. Thus, an important starting point for avoiding project failures is to address the creation and accuracy of project managers' mental models of software development processes [13].

A manager has an active role involving, among other tasks: planning, tracking, and control of development. Software development can be a very complex task to manage. The distinction between an experienced manager and a novice is dependent upon the manager's ability to perform these complex, on-going activities. To be effective, a manager needs the experience of performing these activities on previous projects.

Knowing the details of the development process only provides a static understanding -- not experience. Moreover, simply being privy to previous development histories does not provide the experience needed to make effective management decisions. Active

management experience is needed. Unfortunately, a manager in training (training may be at the novice level or at the level of experience at which specific, complex management skills are targeted) cannot be placed in an actual software project due to the high cost of

experimentation or failure [11]. A software project management training simulator could serve this purpose effectively.

(4)

2.0 Past and Current Work

Little work has been done in the area of software project management training using a software project simulator [2, 3, 10, 11, 12]. Since a simulator is an abstraction of the real world, it must be based upon a model of the real system. Recently, the literature suggests the use of system dynamics modeling as a basis in the creation of a software project simulator.

"A system dynamic model is created through observation of the variables that define the state of the real system and of the relationships that govern its change over time. The relationships are embodied in a system of non-linear differential equations. Each equation in a model corresponds with an element of the real system, and represents a statement about causal influences rather than about statistical correlations.

The field of system dynamics is developing sophisticated tools for eliciting participants' mental models of the real system and for communicating the structure of the model to clients and users. The model serves as a map of the real system, facilitating communication about the system at a much higher level than verbal descriptions alone can provide. A system dynamics model allows realistic policy experimentation, because it can generate behavior modes that occur under

conditions that lie outside the range of the available input data that would be used to create a statistical model. A system dynamics model can be converted to a

'microworld,' or management flight simulator. These are computer-based learning exercises that allow managers to experiment with the system in compressed time and space to understand the real system better." [3]

(5)

3.0 Proposed Work

The concept of a management flight simulator is the basis of the proposed work. The goal is for a manager in training to be placed in various management scenarios -- just as a pilot is placed in a flight simulator for training. The proposed work involves the creation and validation of both a software project simulator (built from a system dynamics model created by Tvedt) and a training process (to focus the simulator). These combine into a training vehicle for teaching software project management lessons which require the trainee to plan and react to specific scenarios.

3.1 Details of Proposed Work

The simulator will be based upon model(s) of software development processes created by Tvedt as part of his dissertation work at Arizona State University. His work considerably expands the seminal work in this area by Abdel-Hamid and Madnick [1]. Tvedt's model supports various forms of the waterfall, incremental, and concurrent

incremental development strategies from requirements specification through system testing. The requirements specification phase is not modeled because of the inherent difference between it and the other development phases [1]. The model is currently implemented in the ithink system dynamics modeling tool [9]. Since Tvedt's model is a system dynamics model, social and industrial aspects of the development process that directly or indirectly impact development time, product quality, or development effort/cost can be included in the model.

Creating a simulator will involve organizing the user interface of the model to accurately reflect the appropriate amount of detail in the project management controls (the inputs such as The Amount of Overtime Employees are Required to Work) and project management tracking (the outputs such as The Lines of Code Developed So Far). The simulator will allow planning, tracking, and control of variables modeled in the underlying system. The user interface will also require 'master' controls for setting up particular

(6)

training scenarios. The underlying model is being validated as part of the dissertation work by Tvedt; however, the value of the simulator's user interface will need to be evaluated as part of this research work.

The creation of the training process will focus upon teaching specific software project management lessons. These project management lessons fall into two classes:

• Non-Software Specific: These lessons can be as simple as the ability to track a specific metric or as complex as the understanding of how hiring more people onto a late project can cause the project to become later (this phenomenon is based upon communication overhead and training ramp-up and is known to the software engineering community as Brook's Law [5]).

• Software Specific: These lessons may involve, for example, understanding the tradeoffs between using incremental development builds vs. using one, "big bang" development build.

The training process will focus the simulator to these specific scenarios for an academic, industrial, or personal training environment.

3.2 Value of Objective

The key benefits of this research work are summarized below.

• There is a clear need for more effective software project managers in industry [7, 11, 13]. The proposed work can explore how to improve the effectiveness of existing training techniques.

(7)

• It is difficult and expensive for software engineers to gain useful project management experience [11, 13]. The proposed work explores a method that can reduce the difficulty and cost of training.

• This research will implement a tool for teaching project management that has only recently been considered [2, 3, 10, 11, 12].

• The result of this research will be a training vehicle that can be used in industry, academia, or in a self-study environment.

3.3 Validation

The three important validation areas of this work are:

1. the simulator's underlying model; 2. the simulator's user interface; and 3. the training process.

The validation of each of these areas is briefly described:

1. Although the creation and validation of the model is outside of the realm of this work, its accuracy in reflecting real management scenarios is important to the usefulness of this research work. Therefore, its validation will be included as part of the documentation of the simulator.

2. The validation of the user interface will be specified later in the research effort. Clearly, this validation will include the following checks:

(8)

• Does the simulator provide the ability to easily establish certain useful training scenarios?

• Does the simulator communicate the necessary information to the trainee?

• Does the simulator provide the necessary management controls?

• Is the simulator easy to use?

3. The validation of the training process will also be specified later in the research effort. This validation will address the following concerns:

• Does the training process provide an effective training environment?

• Can the training process communicate specific lessons? • Is the training process feasible for use in an industrial,

academic, and/or self-study environment?

The validation process will have an experimental component. To verify that the tool effectively models project management scenarios, a set of experienced project managers could compete against a set of inexperienced trainees. In which case, the experienced managers should be able to out-perform the novice trainees.

3.4 Data Sources and External Dependencies

A list of references regarding the following topics is provided at the back of this proposal document:

(9)

• training tools and methods.

The work described in this proposal is dependent upon the system dynamics model of the incremental development process created by John Tvedt as will be published in his Ph.D. dissertation. Also, the validation of this training tool and process will no doubt depend upon experimentation in an academic or industry environment.

3.5 Strategy

The key tasks of this research are described in Table 1. A schedule of the research milestones is given in Table 2.

A. Perform a literature review of project management training tools and processes.

B. Identify the project management lessons to be taught. - Develop Criteria (usefulness, breadth, feasibility, etc.). - Perform a literature review.

C. Develop a training scenario with focus on a specific training lesson. D. Establish the specifications of the simulation tool.

E. Design and Implement the simulation tool. F . Validate the simulation tool and training process.

- Establish that the simulation tool (underlying model and user interface) is a realistic model of the software development process.

- Establish the effectiveness of the training process. G . Complete documentation of the tool and training process.

(10)

Milestone Projected Completion

Actual Completion

First meeting with Chair on this topic - Aug. '95 Literature review of modeling techniques

and tools

- Sept. '95

Task A: Literature review of training techniques

early Nov. '95 Nov. '95

Proposal preparation early Nov. '95 Dec. '95 Proposal approved by committee late Nov. '95 In progress Task B: Lessons identified late Nov. '95 In progress Task C: Specific training scenario described late Nov. '95 In progress Task D: Simulation tool specifications

completed

mid Dec. '95 In progress

Validation plan for tool and process completed

mid Dec. '95 In progress

Task E: Designed and Implemented simulation tool

end Dec. '95 In progress

Task F: Validation of simulation tool completed

end Jan. '96

Task F: Validation of training process completed

end Jan. '96

Task G: Simulation tool and process documented

mid Feb. '96

Thesis outline submitted for first review end Feb. '96 Thesis submitted to committee for final

review

beginning April '96

Thesis submitted for format review by the Graduate College

early/mid April '96

Thesis oral defense late April '96 Table 2. Tentative Research Schedule.

(11)

References

[1] Tarek Abdel-Hamid and Stuart E. Madnick, Software Project Dynamics An Integrated Approach, Prentice-Hall, Englewood Cliffs, New Jersey, 1991.

[2] Tarek K. Abdel-Hamid, "Thinking in Circles," American Programmer, May 1993, pp. 3-9.

[3] R. Rembert Aranda, Thomas Fiddaman and Rogelio Oliva, "Quality

Microworlds: Modeling the Impact of Quality Initiatives Over the Software Product Life Cycle," American Programmer, May 1993, pp. 52-61.

[4] Barry W. Boehm, Software Engineering Economics, Prentice-Hall, Englewood Cliffs, New Jersey, 1981.

[5] Frederick P. Brooks, The Mythical Man Month, Addison-Wesley, Reading, Mass., New York, 1975.

[6] Capers Jones, Applied Software Measurement: Assuring Productivity and Quality, McGraw-Hill, New York, 1991.

[7] Capers Jones, Assessment and Control of Software Risks, Yourdon Press -Prentice Hall, Englewood Cliffs, NJ, 1994.

[8] David H. Kitson and Stephen Masters, "An Analysis of SEI Software Process Results 1987-1991," Proceedings of the Fifteenth International Conference on Software Engineering, 1993, pp. 68-77.

[9] B. Richmond, S. Peterson, and C. Charyk, ithink User's Guide, Hanover, NH: High Performance Systems, Inc., 1994.

(12)

[10] Howard A. Rubin, Margaret Johnson and Ed Yourdon, "With the SEI as My Copilot Using Software Process 'Flight Simulation' to Predict the Impact of Improvements in Process Maturity," American Programmer, September 1994, pp. 50-57.

[11] Bradley J. Smith, Nghia Nguyen and Richard F. Vidale, "Death of a Software Manager: How To Avoid Career Suicide Through Dynamic Software Process Modeling," American Programmer, May 1993, pp. 10-17.

[12] Software Technology Support Center, Project Management Technology Report, December 1993, Hill AFB, UT.

[13] Joyce Statz, "Training Effective Project Managers," American Programmer, June 1994, pp. 43-48.

References

Related documents