Abstract
The manager of the team has to plan the project activities, control the works being done, create and modify plans and deal with problems which have appeared during the project duration. He has several people in the team and each of them has his own experiences, work style and motivation. The manager has to remember it and motivate the people and the project works with the aim of achieving the project goals. Agile approach is very common at the present in the projects of software creation. The agile methodologies even recommend using this approach also in other project than software developing. Agile approach can be characterized by several principles which can (and usually do) influence also the core of the project management. This article describes the possible results and principles which can change the way of the project management when using the agile approach and which should the manager remember when managing such kind of project.
1 The Agile Approach
The agile approach was defined in 2001 based on the document called Manifesto for Agile Software Development. This document defines 12 principles of agile development [1]. Agile development reflects the time and cost shortage when developing of software and the whole process is based on delivering the product in more parts. Each part of the software has to be functional and ready for using by the customer. It is not acceptable to waste time and modeling and other coding planning is not supported.
This leads to recoding the before finished parts quite often but it is expected. The customer may change the requirements as often as he likes and every requirement is realized in one of the next software delivery part.
In agile approach the estimation of time spending is realized by the team members. Each member of the developing team has to estimate which tasks he is going to do in the next time and how much time he is going to spend on them. After one part of the project is done and delivered to the customer the evaluation of the estimations is realized. It can be said that some tasks of project management are delegated to the project members as they have to define their task and the expected time consumption of them.
To summarize it, the particular members of the team do the time estimation of their tasks. Very often they also choose what they are going to do. So time planning and also the tasks planning is delegated to the team members and the team manager becomes the collector as he brings together these estimations.
Another fact in the agile approach is that the project management is divided into two people (minimum), because (for example according to the SCRUM methodology, which is very common in agile approach, is described later in this article) the tasks, i.e. what should be done in the next phase are controlled by the product owner and the time when the next delivery should be prepared and the works on this delivery should be finished is controlled by the scrum master. This brings dividing time management and tasks management into two people. But these two people are mainly collectors because (as mentioned previously) the particular task management (deciding what to do next) and time management (estimating how long) are done by the particular team members.
2 The SCRUM Methodology
There are some main principles defined in the SCRUM methodology and the all the project works are based on them:
- Sprint: The tasks are divided into the sprints. Each sprint has start date and end date. When the end date comes, all the works belonging to the actual sprint have to be done. During the sprint the team meambers choose from the task list (belonging to the sprint) what they want to do. The sprint has duration from 2 upto 4 weeks, 2-weeks sprint are very often.
As the team members choose the tasks from the sprint, it can happen that one team member ‘stoles’ the popular task choosing it earlier. Considering this situation from the manager point of view, it can happen that more experienced team member takes the easier task and the more complicated task lefts for the less experienced (or skilled) team member. This way the more complicated task can be worked out longer as it is done by the less experienced or skilled team member. And the team capacity is not used fully and the advantages from the skills and experiences of the team members are not taken.
- Daily scrum meetings: The meetings should be held every day, but should take short time. 15 minutes meetings are very often and recommended. Usually more talkative team members takes more time and the meetings take extra time quite often then. Every team member who participate on the project has to be present on these meeting and also all the employees from the customer side, who are engaged in the project, should be present as well.
The manager of the project has to deal one not easy task in this case, because the customers’s participation on these meetings are usually very complicated. Time scheduling cannot be harmonized in many cases. This leads to organising the meetings without the customer and these meeting get on other level then.
- Sprint Backlog: The list of the tasks which should be done in the particular sprint are located in the sprint backlog. This is the place which the team members can choose tasks to do from. The Product owner usually decides what tasks will be contained in what sprint. His chose should give the functional part of the product which the customer can test. The tasks have usually priority and the ones with the higher priority should be done first.
- Product Backlog: The tasks are defined by anybody of the team. So not only the manager defines the tasks, but also the team members can bring new task which he considers to improve the product. The new tasks are added to the product backlog and the product owner chooses which tasks will be realised and in which sprint . The chosen tasks moves to the particular sprints then.
The described principles are on the picture 1.
Comparing the SCRUM methodology to other traditional (not agile) methodologies, the main difference is that the team members much more participate on the project management as they can chose the tasks from the sprint – they determine who will do what and also how long as they estimate the task duration.
The differences on the other side can bring some advantages and disadvantages compared to non agile methodologies (described next).
Pic.1: Main Principles of SCRUM [2]
3 The Advantages and Disadvantages of Using Agile Methodology
The advantages and disadvantages when considering using non agile methodogy are based on the differences described preciously and therefore can be defined clearly. As some issues of the project management are distributed to the particular members of the team, the quality of deciding is determined by the skills and experiences of the people (team members) who the decisions have made.
As the advantages could be specified the time shortening for the decisions what tasks should be worked out next and their delegating to the people who they belong to. As the team members choose the tasks from the sprint, beginning working on the task can be faster than in case when the manager divides the tasks and delegate them to the people.
The possibility of choosing the task from the sprint can be some kind of motivation for the team member too, because when he has realised the choice, he want’s to do his best in working out this task, feeling this task as his product. Or, the team member may want’s to solve most tasks from the sprint or most difficult tasks from the sprint. This fact can motivate him to do his best as well.
But there can be pointed some disadvantages too. The team consists of more and less experienced and skilled people. On the other side the manager is usually experiences specialist and can make responsible decisions. Delegating the decisions on the particular team members means delegating it to the less experienced, skilled people in some cases to the novices. This creates the place of some kind of risk in the project. If the novice chooses a difficult task and solves it not good or doesn’t manage to solve it at all, it can be found out at the end of the sprint and cause not finishing the sprint on time and not delivering the part to the customer on time. This is quite serious situation as in the agreement between the solution provider and the customer, usually there is some kind of penalty payment defined for these kinf of situations.
Another situation which can happen and can be pointed as the disadvantege is, is when the tasks are not distributed to the team members according to the skills and experiences distribution. The more experienced member of the team could work out less difficult task and the novice could choose more difficult task. Supposing the experts are better paid than the novices, the finance and time recources are not used optimally and more risk is allowed to appear with the same level of finance costs (the higher risk is not paid by the money lowering).
To prevent to this situations which leads to risk appearing and the non optimal usage of recources the suitable software for the management can be used. There are several software solutions which enables the project manager to monitor the sprint tasks distribution and their working out as well. This way the manager can watch the work being done and prevent the faults when something is not finished or is not finished of required quality as well. As an example the software Jira can be used, where the manager can see the taks belonging to the being run sprint and their distribution and progress as well. The screen with the opened sprint and the status of the particular tasks from it can be seen on the picture 2.
Pic.2: Jira screen with the opened sprint [3]
Jira displays the tasks from the actual sprint in more columns (can be defined), the basic columns (nad most important) are: tasks which were not started yet, tasks in progress and tasks already being done. Each task shows the team member who it belongs to and also the time estimation the team member has defined to it. This is good tool to monitor and control the progress of the tasks working out of actual sprint.
4 Conclusions
The agile approach is characterized by some principles which should help mainly to time shortening of the project finishing. This should be reached by minimizing of the modelling but also by some differences in organizing of working out the particular tasks of the project. In agile approach the deciding about the time of the tasks working out is distributed to the particular team member. Each team member can choose when he will solve the chosen task and also which task he will solve. This fact can result in worse usage of the project resources as not each team member can do the optimal choice. The project manager should monitor the progress of the tasks working out and control them so as to manage to finish the works and deliver the next part of the software to the customer on time. To monitor and control this the suitable software can be used. Higher level managing of the project time and the delevered parts for the customer is in agile approach divided to two managers in case of SCRUM methodology, i.e. scrum master and the product owner. So as to assure monitoring and controlling the project works both of the managers should have access to the used software for work monitoring.
References
[1] Composite authors: Manifesto for Agile Software Development, available at: http://agilemanifesto.org/
[2] http://www.mypmhome.com/scrum-methodology/
[3] http://blogs.atlassian.com/2012/08/unlock-the-power-of-agile-introducing-greenhopper-6/
[4] M. Tavač, V. Tavač, “DBRE and MDA integration,” In: Objekty 2011 proceedings of the 16th international conference on object oriented Technologies, Žilina, Slovakia, November 2011, ISBN 978-80-554-0432-5, pp. 52-65
[5] M.Tavač and V. Tavač, “The General Algorithm for the Design of the MDA Transformation Models,” In: CICSyN2013, Fifth International Conference on Computational Intelligence, Communication Systems and Networks, Madrid, Spain, 5-7 June 2013, ISBN 978-0-7685-5042-8, pp. 171-179
[6] M. Meško, E. Kršák and P. Hrkút, “The recursive segment 3D reconstruction algorithm,” In: In: CICSyN2013, Fifth International Conference on Computational Intelligence, Communication Systems and Networks, Madrid, Spain, 5-7 June 2013, ISBN 978-0-7685-5042-8, pp. 261 – 264
[7] Malcher, V. : Logistický manažment a kvantové algoritmy. – 1. vyd. – Bratislava : Univerzita Komenského, 2013. – 99 s., ISBN 978-80-223-3469-3.
[8] Malcher, V.: Decorator pattern in web application. In: International journal of advanced information technology. – Vol. 3, No. 4 (2013), s. 13-18.
[9] Malcher, V.: Logistický manažment a problém obchodného cestujúceho. In: Produktivita a Inovácie. – Č. 4 (2013), s. 31-32.
[10] Malcher, V.: Manažment výroby a manažérsky informačný systém. In: Produktivita a Inovácie. – Č. 2 (2012), s. 26-27.
[11] Malcher, V. :On the Speed of Quantum Computing, zborník abstraktov, 20.konferencia slovenských fyzikov, 2.-5. September 2013, Bratislava
Autor:
Ing. Jaroslava Kniežová, PhD.
Pracovisko: Fakulta managementu UK, Odbojárov 10, Bratislava
Recenzenti:
Ing. Jaroslav Vojtechovský, PhD.
Pracovisko: Fakulta managementu UK, Odbojárov 10, Bratislava
Ing. Patrik Hrkút, PhD.,
Pracovisko: Fakulta riadenia a informatiky, Žilinská univerzita v Žiline
Vydanie:
Digital Science Magazine, Číslo 4, Ročník II.