Professional Documents
Culture Documents
Department of Computer Science, Amity University, Noida, India Department of Computer Science, Amity University, Noida, India
1
er.monika.silent@gmail.com 2 rmajumdar@amity.edu
Abstract Tracking the Software during development provide a way to measure the gap between estimation of project and actual implementation of the project. It helps the tem member to modify its work practices to complete the pending task in the right direction. This Research Paper focuses on different Scrum metrics, which provide a quantitative basis for tracking the progress of the project and individual performance of team members, so that we can control the quality of the software. This research paper will discuss about some myths across agile which are widely accepted and reality behind this. KeywordsScrum metrics; Tracking Tools; Myths about Agile; Agile Metrics; Agile and CMMI; Bundown Chart; Progress Chart; Agile with Project Management tools.
If a team is unable to meet the set target at the end of a Sprint, then the team is expected to acknowledge that it did not achieve set goals. Incomplete tasks are then added to the product backlog. In this research paper, Section 2 and Section 3 discuss about the Scrum Estimation Techniques and Tracking Tools respectively, for finding out how much the actual implementation is going on different track from the estimation or planning. In Section 4, Scrum Tracking Metrics will be discussed, used to provide measurement for the software development. Section 5 briefly introduces the rumors and reality behind those in Agile Software development. II. SCRUM ESTIMATION TECHNIQUES
I.
INTRODUCTION
With the rapid development of the software business, in order to hurdle the incapacity of the traditional software development process in timely responding to the changes in requirements, agile development method is proposed in recent years. Agile development comprises several methodologies or frameworks, namely Scrum, XP, and Lean Software Development, Feature Driven Development, Crystal methods and others. The key feature of SCRUM lies in its iterative development strategy. In each iterative cycle called the Sprint, a chunk of the project is planned, developed, and delivered. In every Sprint, user stories within the scope of the Sprint are designed, developed, and tested. At the end of the Sprint, the set of stories that are tested and ready is delivered as a near-releasable product to the customer and the team receives early feedback from the customer. This feedback helps develop subsequent Sprints. A Sprint is completed on a set date whether or not the work is completed.
For the successful and timely completion of any project, it is necessary to ensure that project begin with accurate estimates. While starting a Scrum project, the most difficult task is to arrive at approximate estimates. For the first little iteration, there is a gap in actual and estimated effort due to a lack of clarity about the estimation techniques. In case of Scrum, estimation transforms an individual activity to a group activity, with discussions forming an integral part of estimation. In Scrum, the estimates are created by a team who will actually be working on the project. The estimates will be accurate when they are derived from the team's domain knowledge and prior experience of working on similar tasks. Further, estimating in a discussion mode gives a global view of the task to be accomplished, such as the complexity of the task, and therefore, a better estimate. In Scrum, the effort to create a product is estimated by approximating the user stories for the product. Team member can estimate user stories using various techniques. The two most popular techniques are ideal days and story pointing. 97
We need continuous tracking of the project to ensure that the team delivers the project on time. Scrum provides various tools to track progress. A. Burn down Charts A burn down chart is a tool that is used to track the progress of the project by plotting the number of days of Sprint against the number of hours of work remaining. Unlike other tracking charts that are used to track how much work have been completed to date, a burn down chart is used to track the pending work until the team's commitment is complete.
The actual time that the team spends on the task is added to the self-stick note. When a task is completed, the selfstick note is moved to the Completed column. If a task is not completed in a Sprint, the self-stick note for the task is moved to the Not Started column of the next Sprint while retaining the history of the time spent on the task in the previous Sprint. Members can use self-stick notes of different colors for different columns to get a holistic view of the tasks completed and also to track the progress of other unplanned or add-on tasks. This method of tracking the progress is also referred to as the Scrum whiteboard. The progress chart is usually kept where everybody can see it. It is deliberately manual and primitive but highly effective and visible, because it does not require team members to visit a website or open an attachment to see the status. Using progress charts for tracking a project enables Team member to: Compare actual versus estimates for different tasks. View the time spent on unplanned tasks and how this is affecting the Sprint. Check if the workload of team members is balanced in terms of both the number of hours and tasks. And, get a quick and visual way to access progress on a daily basis. In the given example, a whiteboard is divided into three sections, To Do, In-Progress, and done, to be used as a progress chart. In the beginning of the project, all tasks are detailed on self-stick notes and pasted in the To Do section. After the project proceeds, the tasks that are in progress are detailed by adding actual time spent and are pasted in the In-Progress section, and the completed tasks are pasted in the Done section. Different colored self-stick notes are used to display tasks in different sections to facilitate easy interpretation of the data. The progress chart for a project is shown in Figure 3.
99
C. Daily stand-up meeting The daily standup meeting is a meeting in which the complete team gets together for a quick status update. These meetings are short, 15-minute meetings that are conducted by standing in a circle. The standup meetings should be ideally conducted at the start of working hours, and the presence of all team members involved in the Sprint is mandatory. In these meetings, each team member who is a part of the Scrum is expected to summarize the tasks that were completed on the previous day, the tasks that are to be completed on the present-day, and any roadblocks that the member might be facing. The daily standup meetings enable team members to self organize and lead to a professional and appreciative environment. To ensure effective daily standup meetings: Time the meetings and keep the duration of the meetings to a maximum of 15 minutes. Ensure that the standup is a huddle rather than a meeting. 100
Make sure all attendees stand up during the daily standup meeting. Signal the end after the meeting ends. And, establish high-energy levels by discussing solutions for complicated problems offline. IV. OVERVIEW OF TRACKING METRICS
Good metrics should enable the development of models that are efficient of predicting process or product spectrum. Thus, optimal metrics should be: Simple, precisely definableso that it is clear how the metric can be evaluated; Objective, to the greatest extent possible; Easily obtainable (i.e., at reasonable cost); Validthe metric should measure what it is intended to measure; and Robustrelatively insensitive to (intuitively) insignificant changes in the process or product.
A. Common Myths And Reality Myths are widely accepted but mistaken beliefs. There are some myths about Agile: Requires no documentation and works informally on trust. Requires mature teams that are co-located. Allows no time for designing. Cannot work with CMMI or other process models. But the reality is different: Agile requires just enough documentation. Co-located, mature teams help in communication, but are not a prerequisite. Agile requires iterative, incremental design and not an all-encompassing rigid design. Most CMMI level 5 and ISO certified teams use the agile methodology. As there is a myth about agile is that agile is a standalone project management tool. As the traditional software developer wants to use their experience with existing project tool, in this research paper, we combine the agile Approach with existing Project tool. B. Agile with Existing Project Management tools 1) Agile and CMMI: Software projects are often executed at CMMI level 5 and use the Lean development process for optimization. These projects are complex and comprehensive. Customers require faster, cost-effective delivery with flexibility for change. Managing complexity requires process discipline and handling change requires adaptability. While CMMI provides discipline with its 25 defined process areas and their own goals, expected practices, and recommended sub practices, Agile methodology enhances adaptability with its iterative development principle. 101
Proper Estimation helps us to fill the gap in the estimated and actual time taken. This gap can be generated due to lack of the proper tracking of tasks and problems with smooth communication among team members. In order to avoid these issues in subsequent iterations, this research paper discussed about specific tools and techniques to estimate and track project and ensure effective communication. Accurate estimation and tracking helps the team modify its work practices to update the pending tasks, and effective communication helps the team ensure that it is working in the right direction. Many of the challenges for Agile are also present in traditional methodologies. However, Scrum will make them visible early in the project. Early visibility of problems is good from a management view point because team member can take appropriate corrective actions. In this research paper, we discussed about the myths in agile development and explore the reality based on work practices of Agile Software Developer. Further, the agile implementation is experienced with traditional project management tools.
[9]
[14] [15]
[16]
Following the Agile methodology and scaling Scrum for large projects are a challenge because products are delivered frequently by different teams working in different areas of the same large project. Teams face integration and overlap issues. Scaling agile is not simple. The complexity increases not in proportion to the size of the team but at the square of the size of the team. That means a 20 member team project will be 4 times as complex as a 10 member team. References
[1] [2] [3] [4] [5] [6] Schwaber, Ken and Mike Beedle. Agile software Development with Scrum. Prentice Hall, 2002. Sutherland, Jeff. Inventing and Reinventing Scrum in five companies, 21 September 2001. R.L. Glass, InspectionsSome Surprising Findings, Comm.ACM, vol. 42, no. 4, pp. 17-19, Apr. 1999 SEI Supporting Tool web site, http://www.sei.cmu.edu/tsp/tools/studypsp-form.cfm A. Cockburn and J. Highsmith, Agile Software Development: The People Factor, Computer, Nov.2001, pp. 131-133. [Suphak Suwanya and Werasak Kurutach Applying Agility Framework in Small and Medium Enterprises ASEA 2009, CCIS 59, pp. 102110, 2009 Springer-Verlag Berlin Heidelberg 2009
[21]
[22]
[26] [27]
[28]
103
ACKNOWLEDGMENT I would like to thank Professor Rana Majumdar all the help he offered in the course of my studies. His encouragement and guidance have been of great value to me Personally, I would also like to thank my parents and my partner for their support in my studies.
AUTHORS PROFILE
1
Ms. Monika Agarwal is Software Engineer in the NIIT Technology. Her Research activities are based on Agile Software Development in Distributed Environment. She is pursuing her M.Tech in Computer Science and Engineering from Amity University, Noida.
2
Mr. Rana Majumdar is working as Assistant Professor in Department of Computer Science and Engineering in Amity University Noida, UP, INDIA. His Research area includes Agile Methodologies. He is pursuing his Ph.D in Computer Science and Engineering from Amity University.
104