The Agile Methods an Innovative Approach in the Project Management

4 downloads 0 Views 437KB Size Report
The project management is a particular kind of management in principle. The agile methods are innovative approach coming infrom the information science, ...
The Agile Methods

Innovative Approach in the Project Management

an

Martin Molhanec Department of e-Technology, Faculty of Electrical Engineering Czech Technical University in Prague, Czech Republic [email protected]

Abstract. The project management is a particular kind of management in principle. The agile methods are innovative approach coming in from the information science, strictly speakingfrom the subject field of software engineering. Principal inducements of these methods consist in following facts. Firstly, the whole process of the project management is accelerated. Secondly, the process can dynamically respond to new conditions, in other words, the process of the project management isflexible. The agile methods are in use in the field of software engineering as far as back as the Manifesto for Agile Software Development came into the existence by about 2001. Notwithstanding on their great potentiality, there are not well known outside informatics community.

Keywords: project management, agile methods.

1. INTRODUCTION This article is an attempt to briefly enlighten the basic principles of agile methods in project management and to show how can be applied besides software engineering subject of knowledge including, but not limited, in the branch of technological project engineering, especially in the field of electronics technology. At the present time there is no field of industry influenced by informatics tools, methods or excogitations. The classical project management as a discipline was developed from several different fields of applications. The forefather of project management is Henry Gantt, called the father of planning and control techniques. Project management is the discipline of organizing and managing resources in such a way that these resources deliver all the work required to complete a project within defined scope, time, and cost constraints [1]. Agile method, as defined by context of software development, is a conceptual framework for undertaking software engineering projects. Agile 1-4244-1218-8/07/$25.00 ©2007 IEEE

methods are a family of development processes, not a single approach to software development. In 2001 was created the Agile Manifesto [2], the definition of agile development, and accompanying agile principles as ways of creating software in a lighter, faster and more people-centric way [3]. The aim of this paper is to explain how can be used the above-stated principles in the branch of technological project engineering, especially in the field of electronics technology.

2. CLASSICAL PROJECT MANAGEMENT Classical project management was born in 50s starting the modern project management era. The project is one-time endeavour undertaken to complete the end goal, as a product, service, program, building or another non-trivial target of human achievement. The first-time effort was targeted to time-planning management and well know techniques were introduced as PERT and CPM. In 1969 the Project Management Institute (PMI) originates to serve the 304

30th ISSE 2007

concerns of project management industry. Subsequently in 1981 the PMI initiates a foundation of PMBOK (Project Management Body of Knowledge), a guide to the project management, containing standards and guidelines of the best known practices in the profession.

differ from industry to industry, but meaning of typical common steps of project management process can be described by the following terms:

There are several approaches how to achieve the end goal of the project management. The traditional approach is assembled from the following 5 stages:

*

Defining problem

*

Weighing options Choosing a path Implementation and evaluation Support and maintenance

* *

*

Initiation stage

*

Planning and design stage

*

Execution and production stage

*

Monitoring and controlling stage

*

Completion stage

Not all the projects will need a presence of all above mentioned stages. The names of stages may

*

3. OBJECT-ORIENTED SOFTWARE PROCESS Agile method is a conceptual framework defining software development process. In view of this fact we will describe the particular agile method - OOSP (Object-Oriented Software Process) by Scott W. Ambler [4] and [5]. We clearly show that agile

Fig. 1: The software development process by the agile project management.

1-4244-1218-8/07/$25.00 ©2007 IEEE

305

30th ISSE 2007

principles can be fittingly used in general project management outside informatics subject of knowledge, concretely in the branch of technological project engineering. The main parts of the overall process of the agile project management in agreement with the author of OOSP are shown in Fig. 1. The short descriptions of five main phases of OOSP are as follows:

3.1. Initiate Phase The main goal of the Initial phase is to lay foundation for a successful project. It encompasses the definition and validation of the initial requirements and management documents, the project justification, and the definition of the project infrastructure. The most important and many times disregarded stage of Initial phase is the Justification stage, in other words the feasibility study, as well known from other methods.

3.2. Construct Phase The main goal of Construct phase is to build the final product, program, service or other artifacts of our endeavor in a way that is easy to maintain, control and to enhance. This phase includes the Model, Test in Small, Program and Generalize stages. The only one stage with the characteristic directly targeted to the software engineering branch is the stage of Program. For our purpose using OOSP in the common technology and especially in the field of electronics technology and packaging, we can replace this stage by stage of product design and prototyping. In contrast to other project management methods the OOSP accentuates the Generalize stage as a special place for inferential facts gathering to the so-called group memory.

3.3. Deliver Phase The main goal of Deliver phase is to deliver acorrectly working, high-quality, well-documented product satisfying the initial user requirements. The needed stages in this phase are Testing in the Large (then, in the user's environment), Reworking, Releasing and assess of our final delivery. We have 1-4244-1218-8/07/$25.00 ©2007 IEEE

also the opportunity to improve our development process and to learn what we did right and wrong on our project. Analogous to Construct phase the OOSP accentuates the Assess stage as a place for overall assessment of our just finished project.

3.4. Maintain and Support Phase

The main goal of the Maintain and Support phase is to keep our deliveries functioning and as up-to-date as possible. We need a support stage for our users and customers and other stage for recording and identifying any possible defects or demands for enhancements. The OOSP method insists on this phase very strongly, because it is the phase with intensive impact on resulting business fruitfulness.

3.5. Whole-Project Agendas As shown in Fig. 1, besides four main phases the OOSP method consist also from so-called crossproject tasks making up the glue that hold overall project together, helping to increase our chance to success.

* * * *

* * * *

Quality assurance Project management (intrinsic) People management Risk management Training and education Metrics management Deliverable management Infrastructure management

These hereinbefore mentioned tasks are applicable throughout the whole project, moreover across different projects. Without these tasks were being preceded the whole project can fail notwithstanding how good our developers are.

306

30th ISSE 2007

4. OUR PROPOSAL

REFERENCES

With respect of description of classical and agile project management methods hereinbefore mentioned we can consider following proposals.

[1] Wikipedia "Project management", [online], http:./en. wikipedia. orglwiki/Project_management [2] ,,Agile manifesto", [online], http://agilemanifesto. org [3] Wikipedia "Agile methods", [online], http:./en. wikipedia. orglwiki/Agile_methods [4] Ambler, S. W. (1998a). Process Patterns: Building Large-Scale Systems Using Object Technology. New York: SIGS Books/Cambridge University Press. [5] Ambler, S. W. (1998b). More Process Patterns: Delivering Large-Scale Systems Using Object Technology. New York: SIGS Books/Cambridge University Press.

*

The Agile method is suitable for project with some uncertainty in user's requirements.

*

The Agile method is useful for alternating intime projects.

*

The Agile method is suitable practice for new technology projects. The Agile method is useful for complicated and complex projects. The Agile method is also preferred for projects with higher degree of risk.

*

*

Simply say - agile method focuses on adapting quickly to changing realities. This is primarily the case of software production, but not only. The some is true for new product development projects in the branch of electronics, computer construction, IC's packaging and so on.

ACKNOWLEDGEMENT This paper was supported by research project of Ministry of Education, Youth and Sports of Czech Republic No. MSM 6840770017.

5. RESULTS At present time we are teaching the principles of agile project management in some courses at our faculty, first of all in software engineering courses. Furthermore, the author of this article is currently preparing the course of the Team Project Management for students of our department, i.e. for students of the branch of technological project engineering, wherein the basic principles of agile project management are included and adapted for our intentions as is introduced in this paper.

1-4244-1218-8/07/$25.00 ©2007 IEEE

307

30th ISSE 2007