[ieee 2011 15th panhellenic conference on informatics (pci) - kastoria, greece...

5
TEACHING SOFTWARE PROJECT MANAGEMENT THROUGH MANAGEMENT ANTIPATTERNS Ioannis Stamelos Department of Informatics Aristotle University of Thessaloniki, 54124 Thessaloniki, Greece [email protected] Dimitrios Settas United Nations University, International Institute for Software Technology, Macao, SAR, China [email protected] Despoina Mallini Department of Informatics Aristotle University of Thessaloniki Thessaloniki, Greece [email protected] Abstract - Technological development and social progress are bound to affect fundamentally the business environments and therefore the people who work in them. The new conditions create unexpected difficulties and expectations that often limit the performance of the employees and consequently of the software projects, which often fail to meet their goals. The integrated education of future administrators - managers becomes a dynamic challenge to the new environments, which can be achieved by proposing new concepts such as Management Antipatterns. In this work, important conclusions and suggestions are made about the importance of effective and innovative education of future managers and their IT projects. Antipattern, software project management, classroom teaching, laboratory exercise (key words). I. INTRODUCTION The successful development of software projects and in general of any project is highly demanding and involves a number of factors that must "work" properly. Some of these are: strategic business plan, operational plan that will coordinate all the individual projects in the company development, the project manager who was chosen on merit and has the ability to organize and direct the necessary tasks to completion of the final project. One of the major problems that a project might face is poor management that often causes insuperable obstacles to the development team and by extension to the project [1]. The use of Management Antipatterns has the potential to enrich and complete the knowledge of Software Project Managers. With the aid of Antipatterns, a manager has a great tool in his hands and substantial assistance in order to understand directly the problems that arise and resolve them [2]. Many researchers have studied the recording and analysis of Antipatterns in catalogues, which are available in specialized research articles, books and on the Web. The main contribution of this work lies in the attempt to: Consolidate the important role of Software Project Management. Integrate management Antipatterns in the postgraduate course of Software Project Management in the form of laboratory exercises in an effective and scientific manner. Analyze the results of the learning methodology that is followed, based on these concepts. II. SOFTWARE PROJECT MANAGEMENT Software project management is the art of planning and leading software projects [3]. Successful management of IT projects has proven to be one of the hardest practices in the field of software development. The relevant articles and the literature are dominated by examples of projects that have alarming evidence (mismanagement of resources and precious time, inconsistency) that can lead a project to failure or highly damaging delay and also jeopardize the public image of the entire software industry. Behind the partial or total collapse of a project are hidden environmental factors both external and internal, which refer mainly to the Project’s design (planning), the structure of the working groups (team building), the monitoring and the decision-making [4]. It is therefore important to focus on the appropriate training of future software project managers which aims to understand clearly the issues raised and resolve any arising problem without much trouble or complications. The analysis of software project management failures has shown that the following are the most common causes that result in project cancellation or major delays [5]: Unrealistic or unarticulated project goals, inaccurate estimates of needed resources, badly defined system requirements, poor reporting of the project's status, unmanaged risks, poor communication among customers- developers and users, use of immature technology, inability to handle the project's complexity, sloppy 2011 Panhellenic Conference on Informatics 978-0-7695-4389-5/11 $26.00 © 2011 IEEE DOI 10.1109/PCI.2011.21 8

Upload: despoina

Post on 08-Dec-2016

213 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: [IEEE 2011 15th Panhellenic Conference on Informatics (PCI) - Kastoria, Greece (2011.09.30-2011.10.2)] 2011 15th Panhellenic Conference on Informatics - Teaching Software Project Management

TEACHING SOFTWARE PROJECT MANAGEMENT THROUGH MANAGEMENT ANTIPATTERNS

Ioannis Stamelos

Department of Informatics Aristotle University of Thessaloniki, 54124

Thessaloniki, Greece [email protected]

Dimitrios Settas United Nations University,

International Institute for Software Technology, Macao, SAR, China [email protected]

Despoina Mallini Department of Informatics

Aristotle University of Thessaloniki Thessaloniki, Greece [email protected]

Abstract - Technological development and social progress are bound to affect fundamentally the business environments and therefore the people who work in them. The new conditions create unexpected difficulties and expectations that often limit the performance of the employees and consequently of the software projects, which often fail to meet their goals. The integrated education of future administrators - managers becomes a dynamic challenge to the new environments, which can be achieved by proposing new concepts such as Management Antipatterns. In this work, important conclusions and suggestions are made about the importance of effective and innovative education of future managers and their IT projects.

Antipattern, software project management, classroom teaching, laboratory exercise (key words).

I. INTRODUCTION

The successful development of software projects and in general of any project is highly demanding and involves a number of factors that must "work" properly. Some of these are: strategic business plan, operational plan that will coordinate all the individual projects in the company development, the project manager who was chosen on merit and has the ability to organize and direct the necessary tasks to completion of the final project. One of the major problems that a project might face is poor management that often causes insuperable obstacles to the development team and by extension to the project [1].

The use of Management Antipatterns has the potential to enrich and complete the knowledge of Software Project Managers. With the aid of Antipatterns, a manager has a great tool in his hands and substantial assistance in order to understand directly the problems that arise and resolve them [2]. Many researchers have studied the recording and analysis of Antipatterns in catalogues, which are available in specialized research articles, books and on the Web.

The main contribution of this work lies in the attempt

to:

• Consolidate the important role of Software Project Management.

• Integrate management Antipatterns in the postgraduate course of Software Project Management in the form of laboratory exercises in an effective and scientific manner.

• Analyze the results of the learning methodology that is followed, based on these concepts.

II. SOFTWARE PROJECT MANAGEMENT Software project management is the art of planning and

leading software projects [3]. Successful management of IT projects has proven to be one of the hardest practices in the field of software development. The relevant articles and the literature are dominated by examples of projects that have alarming evidence (mismanagement of resources and precious time, inconsistency) that can lead a project to failure or highly damaging delay and also jeopardize the public image of the entire software industry. Behind the partial or total collapse of a project are hidden environmental factors both external and internal, which refer mainly to the Project’s design (planning), the structure of the working groups (team building), the monitoring and the decision-making [4]. It is therefore important to focus on the appropriate training of future software project managers which aims to understand clearly the issues raised and resolve any arising problem without much trouble or complications.

The analysis of software project management failures has shown that the following are the most common causes that result in project cancellation or major delays [5]: Unrealistic or unarticulated project goals, inaccurate estimates of needed resources, badly defined system requirements, poor reporting of the project's status, unmanaged risks, poor communication among customers-developers and users, use of immature technology, inability to handle the project's complexity, sloppy

2011 Panhellenic Conference on Informatics

978-0-7695-4389-5/11 $26.00 © 2011 IEEE

DOI 10.1109/PCI.2011.21

8

Page 2: [IEEE 2011 15th Panhellenic Conference on Informatics (PCI) - Kastoria, Greece (2011.09.30-2011.10.2)] 2011 15th Panhellenic Conference on Informatics - Teaching Software Project Management

development practices, poor project management, stakeholder politics and commercial pressures.

III. ANTIPATTERNS IN SPM

In many areas the traditional way of learning is the accumulation of knowledge and skills under the guidance of a qualified and experienced executive. A similar technique is the use of Design Patterns. Cognitive scientists argue that the mind constructs mental models as a result of perception, imagination, knowledge and understanding of speech [6]. Mental models are small-scale psychological representations of real, hypothetical or imaginary situations and are designed to provide the facts, rationalize and support the explanations given. It is therefore reasonable to assume that mental models are constructed to represent the Patterns and Antipatterns in a problem.

Mental models are considered to represent explicitly what is true, but not what is false. This is partly due to the fact that the memory capacity is limited. People tend to minimize the burden of their memory by building mental models representing only what is true and taking “mental footnotes” on the proposals which are false. However, the footnotes are sometimes disregarded, and this may lead to systematic errors. For example, if a user “loses” the footnote, the Antipattern could be used incorrectly as a solution. So it is reasonable why the first experiments with freshmen IT students and understandable Antipatterns had not much success. Instead they seemed to confuse the students mainly due to their lack of critical knowledge that characterizes them.

Here are some problems that may arise during teaching

SPM through Antipatterns: • The user does not recall a specific Antipattern and

prefers to use a design pattern (if available). • The user mistakenly matches the Antipattern to the

problem. This could be caused due to incorrect understanding of the rationale of the Antipattern as currently defined.

• The user is unable to recall the correct proposed solution due to exposure to a great variety of Antipatterns.

In order to avoid more confusion, careful planning and

further investigations are required. The integrated presentation of Antipatterns prerequisites a background-knowledge that was absent from the sample of students who participated in the first experiments [7]. The future use of Antipatterns seems to depend on the development of the critical ability of the learner, a process that takes time and is extremely important for the consolidation of the content of the Antipatterns and their proper use. Their premature suggestion by the teachers leads to undesired results and they finally do not achieve their purpose which is to avoid the pitfalls [8]. Someone could easily conclude that the carefully planned guidance of the students is the key to their successful implementation in addition with a

sufficient presentation of Patterns - before the exposure to Antipatterns.

IV. ANTIPATTERNS LABORATORY EXERCISE The following laboratory exercises took place with two

groups of postgraduate students with different backgrounds at the Aristotle University of Thessaloniki in order to examine the helpfulness of using Antipatterns in teaching Software Management. The first group was comprised of fourteen students who are attending The Postgraduate Studies Programme (P.S.P.) of the Informatics Department and already have a bachelor in Computer Science. The second group was comprised of twenty four students who are attending the Joint Postgraduate Course on “Informatics and Management” which is offered jointly by the Departments of Informatics and Economics of the Aristotle University of Thessaloniki. The majority of them has a bachelor degree in Economics or Business Administration while others have a bachelor's degree in Computer Science but also attend business oriented courses. Both postgraduate programs include the IT project management module in their syllabus. As it has been mentioned before, the aim of this survey is to examine how students with different backgrounds respond to the innovative teaching through Antipatterns.

Initially the students were taught some basic Antipatterns and were familiarised with the SPARSE environment [9]. SPARSE is an ontology supported knowledge-based system created as part of a doctoral dissertation in Aristotle University. It is the first open source project that supports Antipattern detection. SPARSE has been implemented as a desktop application using Java. Efforts are currently being made to implement SPARSE as an entirely web-based application and its release as an Open Source project [10] is aimed at this direction. The Antipattern ontology documents Antipatterns and how they are related with each other through their causes, symptoms and consequences. After the familiarization, students were allocated to smaller groups of three so as to complete a questionnaire on detecting Management Antipatterns in specific case studies of project failures. In the end, the students had to complete an individual report about what s/he learnt during the exercise.

V. USEFUL RESULTS

The form that the students had to complete included the following questions:

• Description of the problem created by the selected

Antipattern in the process of the project. • Title of the selected Antipattern. • Factors indicating the existence of the Antipattern. • General and unique causes such as lack of

responsibility and additional. • Consequences of the Antipattern. • Antipatterns correlated with the selected one

through common symptoms.

9

Page 3: [IEEE 2011 15th Panhellenic Conference on Informatics (PCI) - Kastoria, Greece (2011.09.30-2011.10.2)] 2011 15th Panhellenic Conference on Informatics - Teaching Software Project Management

• Antipatterns correlated with the selected one through common causes.

• Antipatterns correlated with the selected one through common consequences.

The students in all cases managed to detect the relevant

Antipatterns through their symptoms. However, the first group focused on one or maximum to three different Antipatterns and that was mainly due to the shortage of time they had available. They chose easy-to-remember Antipatterns like Death March which suits in many cases. A Death March project is one for which an unbiased, objective risk assessment determines that the likelihood of failure is 50%.

The second group also managed to detect relative Antipatterns according to the given case study. However, all teams focused on a single Antipattern (the obvious one). One team focused on five but had no remaining time to fill in the other fields.

The majority of the students in both groups succeeded in correlating Antipatterns with each other and created small lists with common symptoms, causes and consequences. However, time was limited and all students seemed to find the process quite demanding.

After this first task, the students were asked to

comment on the following:

i. How many management Antipatterns could remember after the laboratory exercise.

ii. How effectively Antipatterns could prevent and tackle administrative problems in IT projects.

iii. If they managed to locate problems and solutions in the design of their exercise with the assistance of Antipatterns.

iv. Whether they could imagine using Antipatterns in future design projects.

v. How easy or difficult seemed their experience of training with the use of Antipatterns.

vi. Proposals for future education through Antipatterns.

The fourteen students of the first group who took part

in the exercise declared (the most interesting results are mentioned):

i. The vast majority of them could remember four

Antipatterns (only one student could remember seven).

ii. Eight students found Antipatterns really useful in preventing and tackling administrative problems in IT projects. The others found them useful enough and one student just useful.

iii. Nine students managed to a satisfactory degree to locate problems and solutions in the design of their exercise with the assistance of Antipatterns. Four of them located problems and solutions in an absolute level. One student was not quite satisfied with the problems detection.

iv. Seven students can definitely imagine the use of Antipatterns in future projects.

v. Most of the students support that in general training with Antipatterns is easy enough and only one thinks of it as difficult.

vi. Finally, the most important part of the project seems to be the students’ proposals for IT managers’ future education. Students are willing to learn even more Antipatterns-symptoms (through the SPARSE’s environment). They support that training future managers in a way that familiarizes them with business environments is really profitable. Some of them found the Antipatterns’ names complicated but they also stated that it would be useful if more time was available for the exercise. A student made an interesting point about the enrichment of the accessible Antipatterns (SPARSE includes 31) and the existing correlations that could be more detailed.

Twenty two of the twenty four students of the second

group who took part in the exercise indicated (the most interesting results are mentioned):

i. The vast majority of them could remember three Antipatterns (one student could remember five and one other none).

ii. Two students found Antipatterns really useful in preventing and tackling administrative problems in IT projects. Twelve found them just useful while one student was indifferent.

iii. Eight students managed to a satisfactory degree to locate problems and solutions in the design of their exercise with the assistance of Antipatterns. None of them located problems and solutions in an absolute level. Fifteen students were moderately satisfied with the problems detection and one student could hardly locate any Antipatterns.

iv. Four students can definitely imagine the use of Antipatterns in future projects while eight of them think of this possibility probable. Two students are rather negative and cannot imagine the use of Antipatterns in future projects.

v. Most of the students support that, in general, training with Antipatterns is moderately easy and one thinks of it as really easy.

vi. Finally, the students’ proposals for IT managers’ future education is the most interesting part for once more. Students are interested in learning more Antipatterns-symptoms through SPARSE but propose (as the first group did) that more time and practice are needed for the proper understanding of the whole process. Also, two students stated that more Case studies could be used so that the users could get familiarized with problematic situations in software projects.

VI. CONCLUSIONS

The latest experiments [6] have shown that Patterns are more effective in teaching than Antipatterns which are even able to create difficulties in knowledge transfer. Nevertheless, our results have shown that the use of a specialized tool such as SPARSE ensures that Antipattern

10

Page 4: [IEEE 2011 15th Panhellenic Conference on Informatics (PCI) - Kastoria, Greece (2011.09.30-2011.10.2)] 2011 15th Panhellenic Conference on Informatics - Teaching Software Project Management

knowledge is effectively transferred to students. The users were able to understand the symptoms, causes and consequences of the arising problems in each case. However, the benefits of knowledge management through Antipatterns need to be considered carefully since their successful usage depends on many factors. The most crucial factor concerns the student’s knowledge background and his/her ability to familiarize sufficiently with software tools like SPARSE. Students who have studied Computer Science seem to remember more Antipatterns (Figure1), are familiarized easily, find the process more useful and are able to propose concrete ideas for their future education (Figure 2). Students who have studied Economics or Business Administration could remember three Antipatterns in average, respond to Antipatterns with more skepticism and find the process useful but difficult (Figure 2). Although their management skills are better, they confront difficulties with the specialized content of SPARSE. Thus, an important factor that has to be taken into account is the devoted time to the total process of educating through Antipatterns. Students should follow a particular educational program according to their existing knowledge in order to increase their performance and take advantage of the all the information that Antipatterns can transfer. A proposed methodology is:

o At first, students have to come into contact with the

Antipatterns’ definition and templates. o Then, they have to be familiarized with a detection

tool such as SPARSE (at this part students with Computer Science background would probably need less time than others with different backgrounds).

o Finally, they would be able to combine the above knowledge through Case Studies in order to detect successfully Antipatterns in software projects.

REFERENCES

[1] Andrew Stellman & Jennifer Greene – ‘Beautiful Teams, Inspiring and Cautionary tales from Veteran Team Leaders’(2009)

[2] P. Laplante, C. Neil, Antipatterns: Identification, Refactoring and Management, Taylor and Francis, ( 2006).

[3] Wikipedia “Software project management” http://en.wikipedia.org/wiki/Software_project_management

[4] Ioannis Stamelos - ‘Software project management anti-patterns’ The journal of Systems and Software 83 (2010) p.52-59

[5] William J. Brown, Raphael C. Malveau, Hays W. McCormick III, Thomas J. Mowbray, John Wiley & Sons, Inc.- Antipatterns - Refactoring Software Architectures And Projects In Crisis (1998).

[6] Kotze, P and Renaud, K. 2008. Do we practise what we preach in formulating our design and development methods?. Lecture Notes in Computer Science, Vol. 4940/2008, pp 567-585

[7] Paula Kotze, Karen Renaud, Judy van Biljon –‘‘Don’t do this – Pitfalls in using anti-patterns in teaching human–computer interaction principles’ Computers & Education 50 (2008) p. 979-1008

[8] Jason Rogers, Chuck Pheatt, ‘Integrating Antippaterns Into The Computer Science Curricum’ Consortium for Computing Sciences in Colleges (2009)

[9] D. L. Settas, G. Meditskos, I. G. Stamelos, and N. Bassiliades. Sparse: A symptom-based Antipattern retrieval knowledge-based system using semantic web technologies.Expert Systems with Applications Volume 38, Issue 6, June 2011, Pages 7633-7646

[10] SPARSE Sourceforge URL: http://sourceforge.net/projects/sparse-antipatt/ This work has been partially funded by The Joint Postgraduate Course on “Informatics and Management” (JPC IM).

APPENDIX

Figure 1 : Number of Antipatterns that students were able to remember in each group after the lab exercise.

11

Page 5: [IEEE 2011 15th Panhellenic Conference on Informatics (PCI) - Kastoria, Greece (2011.09.30-2011.10.2)] 2011 15th Panhellenic Conference on Informatics - Teaching Software Project Management

Figure 2 : Graphical representation of students’ average rating after the lab exercise. Group 1 rated apparently higher the whole process than Group 2.

12