Moonlighting Scrum: An Agile Method for Distributed Teams with Part-Time Developers Working during Non-Overlapping Hours
|
|
|
- Robert Doyle
- 9 years ago
- Views:
Transcription
1 Moonlighting Scrum: An Agile Method for Distributed Teams with Part-Time Developers Working during Non-Overlapping Hours Philipp Diebold, Constanza Lampasona Fraunhofer Institute for Experimental Software Engineering Kaiserslautern, Germany {philipp.diebold, Davide Taibi Software Engineering Research Group University of Kaiserslautern Kaiserslautern, Germany Abstract Scrum and several agile development processes are becoming increasingly popular since they offer the ability to manage volatile requirements. This applies to many types of projects and teams. In case of development teams with moonlight developers working for at most ten non-overlapping hours per week, not all Scrum practices can be applied. In this paper, we introduce Moonlighting Scrum, an adaptation of Scrum aimed at optimizing effectiveness and efficiency by minimizing the amount of communication to the least necessary and maximizing the time invested in development. Our aim is to accomplish this by modifying Scrum practices to achieve a trade-off between development and communication effort to produce the best final results, given the available resources and time. An application of Moonlighting Scrum took place in a real cooperative project and provided interesting results. Keywords-agile software development; Scrum; distributed development I. INTRODUCTION The adoption of agile software development processes has increased over the years. Agile methodologies are known for being lightweight, which implies moving from heavyweight processes to methods allowing shorter development cycles and more intensive customer involvement. For this reason, many companies have been moving from plan-based development to agile development. As mentioned by Boehm and Turner [3], these two approaches to software development are considered as opponents. Software development teams often need to stick to one specific process with a defined name and tailor it to their own needs [3]. We believe that the choice of a specific process should be based on tailoring the most advantageous practices from agile and plan-based approaches that best fit the respective team s and project s needs. To answer the issue with which we are confronted, we need such tailoring and a combination of approaches. We encountered this issue during a software development project we are currently involved in and where requirements evolve over time, which suggested that we use an agile approach. Moreover, our developers are mainly students or researchers doing development in addition to their main activities (study or research), with part-time contracts for at most eleven hours per week without time constraints. Because they are developers in their second job, we call them moonlighters. In addition to the short time they have available to invest in the project, there is the problem that they are working during different time slots, which makes daily meetings very difficult and pair programming impossible. This suggested the use of a less agile process. Nonetheless, and although they work part-time, there is still the need for coordinating their work and monitoring project progress. All these variables in the context of our development projects led us to research the following questions: RQ1: How much communication is needed to RQ2: achieve a project s goals? (Effectiveness) How much communication is needed before communication overhead becomes too large? (Efficiency) Our goal is to find an adequate balance or combination of plan-based and agile approaches which best fits the context of our development projects: distributed moonlighters working during non-overlapping times. The proposed development approach is an adaptation of Scrum, which integrates existing development methods into an agile environment. It addresses a process to produce best end results, given the current resources and time available [9, pg. 25]. The approach should be helpful for teams in a similar context because such a constellation is very common in software development, e.g., for open source project or at German universities. In Section II, we discuss different methodological approaches to software development and their advantages and disadvantages for our development context. In Section III, we introduce an adaptation of a distributed Scrum method that fits our needs, called Moonlighting Scrum. In Section IV, we show how we applied the process in a real project and the measurement plan we applied. Finally, in Section V, conclusions and future work are presented. II. RELATED WORK Today s software development processes range from heavy weight plan-based development, such as the waterfall model [15], to incremental and lightweight agile methodologies, such as Extreme Programming [1]. The spiral model combines some aspects of the waterfall model and introduces risk management as a regular step during the process. Unlike the waterfall model, the spiral model iterates through several steps during the entire product development. On the opposite side, agile methodologies 318
2 include some aspects of iterative models allowing for fast reaction to changes in requirements (Figure 1). Figure 1. Spectrum of software development processes Nevertheless, no process fits well to every project context and therefore several other processes have appeared in the literature. In this work, we will introduce the most important approaches we took into account during the design of our model: plan-based development in general and agile development processes such as Scrum, Distributed Scrum, and Extreme Programming. A. Plan-based Development Plan-driven development approaches (also known as document-centered approaches) such as the waterfall [15], V-Modell XT [7], iterative, or spiral process models [4] are mainly document-centered approaches differing in their execution of the different Software Engineering (SE) phases and have several common requirements on assuring good software quality in their performance. Normally, they are performed for larger projects with larger teams, but with smaller teams the amount of project management stays almost the same [5]. Additionally, plan-based projects try to avoid refactoring because it is very expensive [2], even in a large project, as changes can influence many parts of the product. In contrast to other approaches, plan-based development covers current and future requirements in the architecture. However, this also implies early stable requirements. The developers using such an approach need to work in a plan-oriented manner and have adequate skills or access to external knowledge. The customers of products developed with such plan-based development need to be collaborative, representative, and empowered, since they are mainly involved at the beginning when it comes to making decisions about the requirements. Plan-based approaches have several disadvantages for the project we want to perform because we only have a small team where all team members are distributed and work during different time slots. In addition, most of the requirements are not stable and might even not be finished at the beginning of the project. This might lead to a considerable number of refactoring steps, which are expensive in plan-based development. B. Scrum The vast majority of Scrum practices are not new to SE. Scrum was developed at Easel Corporation in 1993 [1], basically with the same idea behind Barry Boehm s Spiral Model [4]. Scrum speeds up the requirements adaptability of the spiral model with some agile practices from Extreme Programming [13], such as pair programming and daily meetings. Scrum is a lightweight, iterative, and incremental development model based on three principles: transparency, inspection, and adaptation. Moreover, Scrum prescribes formal practices for inspection and adaptation: Sprint Planning Meeting Daily Scrum: daily meeting where each member answers three questions: o What did I do yesterday that helped the team meeting the sprint goal? o What will I do today to help the team meet o the sprint goal? Do I see any impediment that prevents me or the team from meeting the sprint goal? Sprint Review Sprint Retrospective Because of the practical requirements, we cannot apply Scrum directly in our team but need to adapt it in a distributed way. C. Distributed Scrum Distributed teams always face different issues when applying development models. If we increase team distribution, we need to introduce a classification in cooperative SE using globally distributed teams [11]: Collocated: Team members are all in the same location. Collocated Part-Time: Team members are usually all in the same location but some of them occasionally work off-site. They face similar issues as distributed teams even if they have the opportunity to meet face to face. Distributed with Overlapping Work Hours: Team members have a few hours during the workday in which they interact with each other. Scrum meetings can be held during the overlapping time. Sprint planning meetings are more difficult and tend to be less efficient. Distributed with No Overlapping Work Hours: Teams have no interaction during their working hours. In addition to the different levels of distributed teams, we also have to take into account different models that can be considered when using Scrum with distributed teams [17] (Figure 2): Isolated Scrums: Teams are isolated across geographies. Distributed Scrum of Scrums: Scrum teams are isolated across geographies and integrated by a Scrum of Scrums that meets regularly across geographies. Totally integrated Scrums: Scrum teams are crossfunctional with members distributed across geographies. Additionally, each team has members in several locations and has its own Scrum Master. 319
3 Figure 2. Strategies for distributed Scrum teams [10] Several works report on the application of Scrum with one of these three categories [8][10][12][13][16]. Sutherland reports on two examples of project management with distributed Scrums of Scrums and fully distributed Scrums [17][18]. These works led to the conclusion that distributed teams can be as productive as small collocated teams if the entire set of teams works as a single team with a global development infrastructure (repository, tracking and reporting tool, and daily meetings). Unlike our work, all teams were composed of several developers working full time and focused on team interaction with daily meetings. However, not much work has been done to date regarding how to reduce the effort for each team member in teams working during non-overlapping hours. D. Extreme Programming Extreme Programming [1] is another lightweight software development methodology, which also arose from the need for agility in the development process. Its main idea consists of taking best development practices to the extreme by eliminating anything that might interfere with productivity. The methodology emphasizes incremental development as a response to changing customer needs. Its creator Beck claims that it is especially suitable for small to medium-sized teams. The main practices include pair programming, refactoring, and simple design. Extreme Programming has been criticized because of its lack of emphasis on design and documentation, which would encourage hacking [9]. It also requires pair programming, which suggests that it might require more effort. People also criticize that it requires constant customer availability and very disciplined teams, which could make its adoption more difficult. For our context, Extreme Programming is the least suitable methodology, as the team members work only parttime and during different time slots. TABLE I. COMPARISON OF DEVELOPMENT PROCESSES Requirements and SE Practices Meetings and Communication Roles Location and Working Hours Requirements change during project Refactoring Pair programming Daily meeting Review and retrospective Planning meeting Initial meeting Scrum master Developers Product owner/customer Project manager Collocated developers Collocated part-time developers Distributed teams, overl. hours Distributed teams, non-overl. hours Distributed developers. non-overl. hours Plan-Based x x x x x x x x x Moonlighting Scrum x x (x) x x x x x x x Scrum x x x x x x x x x x x x x XP x x x x x x x x III. MOONLIGHTING SCRUM Distributed teams with part-time developers working during non-overlapping hours are used in several projects. Moreover, at the University of Kaiserslautern, development is often assigned to students with part-time contracts, which requires them to work for a small number of hours per week, in their spare time. Applying the existing development processes to these teams is always challenging. Table I compares some of the most important development methodologies with Moonlighting Scrum. As we can see from Table I, planbased development and XP cannot be applied at all, while Scrum has some points in common. Moonlighting Scrum is a Scrum extension that helps developers to structure the development process with the 320
4 goal of releasing the best product possible with the available resources in time. Just like Scrum, Moonlighting Scrum requires sprint planning meetings, sprint reviews, and retrospectives (Figure 3). During the meetings, the whole team and the product owner must meet in person or via video conference. In Scrum, sprints last from two to three weeks, whereas in Moonlighting Scrum they last from one to two weeks. Because of the physical distribution and the nonoverlapping time for the developers, pair programming cannot be applied and the daily meetings prescribed by Scrum cannot be attended in person. The developers are working for at most ten hours per week and are requested to work for at least two hours continuously. Consequently, the time needed to write the report at the beginning and at the end of their work might take up an important percentage of their working time. In classical Scrum, daily meetings take 15 minutes. Taking into account 40 working hours per week, daily meetings should take up approximately 3% of the working time. In contrast, Moonlighting Scrum requires an online report, which usually takes from 5 to 8 minutes, every four to six working hours [12], with at least one report per week. If the developers work for more than six hours per week, they are requested to report twice. The estimated working time used for both cases is 3.5%. TABLE II. EFFORT REQUIRED Hours/ week Weeks/ sprint Hours/ meeting Minutes/ daily report Scrum Moonlighting Scrum Figure 3. Moonlighting Scrum process schema Code quality and inspection are the responsibility of the Scrum master, who is in charge of checking overall quality and help the developers preserve a minimum amount of code quality. Moonlighting Scrum is thought to deliver the highest quality possible if limited resources are available. Therefore, as reported in [12], we substituted morning meetings with an online forum by creating a thread for every six working hours to which each developer posts his/her comments by replying to three questions: What have you completed, with respect to the sprint goal, since the last daily meeting? What specific tasks, with respect to the sprint goal, do you plan to accomplish until the next daily meeting? What obstacles got in the way of completing this work? The Scrum Master also has to take care of communication efficiency by reducing or increasing the online reporting interval, and is in charge of increasing or decreasing the reporting time based on the team s efficiency. For this reason, the team members must also answer two additional questions in their online report: When did you work (start-end)? How much time did you spend on writing this report? Sprint planning, review, and retrospective meetings in Scrum take four hours per sprint, with sprints lasting from two to three weeks and effort ranging from 3.3% to 5% [12][14]. In Moonlighting Scrum, meetings take suggested two hours with an approximate effort ranging from 6.6% to 12.5% (Table II). Taking into account the communication issues in a highly distributed team with non-overlapping hours, communication time does not grow significantly, ranging from a maximum of 8% in Scrum to a maximum of 15.5% in Moonlighting Scrum (Table III). TABLE III. ESTIMATED COMMUNICATION Meeting time Reporting time Overall time Scrum 3.3% - 5% 3% 6.3%-8% Moonlighting Scrum 6.6%-12.5% 3% 9.6%-15.5% Moonlighting Scrum is applicable to a wide range of projects, from university- and research-based projects to open source projects. In general, the process requires more relative effort for communication than Scrum but allows developing code in a controlled and structured way. The process is applicable whenever we are faced with distributed developers working during nonoverlapping hours. IV. APPLICATION OF MOONLIGHTING SCRUM Moonlighting Scrum has been applied for the initial development of the software project Technology Repository and Process Configuration Framework [6]. The development started in February 2013 and the first version of the tool was released at the end of May
5 A. Team Organization The development team is composed of six people. Some of them are employees of Fraunhofer Institute for Experimental Software Engineering IESE, while the others work for the Software Engineering Research Group - Processes and Measurement of the University of Kaiserslautern. All developers have an intermediate level of experience in software development, while none of them has any experience with agile methodologies. The developers work part-time, with weekly working hours ranging from four to ten, and together spent a total of 39 hours per week on this project. In order to manage the whole project, from development to communication aspects, we adopted a development infrastructure covering several aspects. The team meets in person during the sprint meeting or, in exceptional cases, via video conference, whereas online reports are recorded in a forum by creating a post for each report. Sprint retrospectives, planning, and retrospective discussions are led by means of an online integrated tool [19], which allows us to record sprint reports, manage product backlog, and draw burn-down charts. In addition to this infrastructure and in order to increase collaboration between team members, we also set up a Subversion [13]. B. Process Measurement and Improvements In order to answer the research questions (RQ1 and RQ2), we defined a Goal-Question-Metric measurement plan that allowed us to derive appropriate productivity and communication metrics that impact on effectiveness and efficiency (Table IV). To define a usable measure for productivity, we considered User Stories (US) as the basic measurement unit. Since the development is carried out by means of a Rapid Application Development (RAD) Tool (Microsoft Visual Studio 2012), we do not collect code metrics such as lines of code, code complexity, or other metrics because the vast majority of the code is generated automatically by the RAD tool; however, we did define metrics. Communication time is expressed in terms of time needed to write the online reports and attend the sprint meetings. Total communication time is calculated summing up these two per person. As an example, the training sprint meeting lasted 120 minutes but considering that five people attended the meeting, the total time for the training sprint was 600 minutes (10 hours). As shown in Table IV, we managed to achieve a sprint meeting duration of two hours or less, except for sprint 1 where the vast majority of topics involved training issues related to the previous training sprint. Total communication time (without reading the online reports) decreased and became stable after two sprints, with effort ranging from 13% to 18%. On average, communication time required 17% of the total time: 16.4% for the sprint meetings, 0.6% for the online reports, and 83% for development. As a result of this experiment, communication time was slightly higher (17%) than expected (9.6%-15.5%). TABLE IV. Training Sprint # days per Sprint MOONLIGHT SCRUM COLLECTED DATA Productivity Tot working hours #Assigned User Stories #Completed User Stories Communication Online report time (minutes) Sprint meeting time (minutes) Communication time/total time (%) % Sprint % Sprint % Sprint % Sprint % Sprint % Sprint % Sprint % Sprint % The application of this process will continue for another three months for project maintenance. V. CONCLUSIONS AND FUTURE WORK In this paper, we proposed a solution aimed at finding an adequate process for distributed teams with part-time developers working during non-overlapping hours who only have a small amount of effort available per week (ten or less hours per week). Our idea consists of making a trade-off between plan-based and agile development processes. The proposed process is an adaptation of Scrum aimed at optimizing the effectiveness and efficiency of the developers. This means that our goal is to optimize productivity by minimizing the amount of communication to the minimum necessary and maximizing the time invested in development. Our aim is to achieve this with the following instruments: Sprint planning, sprint reviews, and retrospective meetings are done in person or via video conference; Developers must work for a minimum of two continuous hours; Daily meetings are replaced by writing a report in an online forum every six working hours; Developers voluntarily report the effort they invest into development and reporting; Scrum Master performs code reviews. The application of Moonlighting Scrum on a real project confirmed that the process can be successfully 322
6 applied in the university context and helps to keep track of the development steps and to maintain low communication effort. The project where we applied Moonlight Scrum will continue for another three months for the maintenance phase. As expected, the process helped us keep track of the development progress. After some initial training and after resolving some technology issues resulting from the new activities required from our developers as well as from the complexity of the domain infrastructure (cyberphysical systems), we were able to maintain low communication overhead. In future, we will encourage our colleagues working on similar projects to use Moonlighting Scrum process to obtain more evidence to improve it. This should also be done with some open-source development as well as industrial projects to generalize the results. In addition to this generic aspect we will also try to improve the approach by using other collaboration tools or improving the communication with an online-chat conference system. ACKNOWLEDGMENT This paper is based on research being carried out in the ARAMiS (BMBF O1IS11035Ü) project funded by the German Ministry of Education and Research (BMBF). REFERENCES [1] K. Beck andc. Andres, Extreme programming explained. Embrace change Addison-Wesley Boston, ed. 2, 2005, pp [2] B. Boehm, Get ready for agile methods, with care Computer, vol. 35(1), Jan. 2002, pp , doi: / [3] B. Boehm and R. Turner, Balancing agility and discipline. A guide for the perplexed Addison-Wesley Boston, [4] B. Boehm, A spiral model of software development and enhancement IEEE Computer, vol. 21(5), May 1988, pp , doi: /2.59. [5] M. Ceschi, A. Sillitti, G. Succi, and S. De Panfilis, Project management in plan-based and agile companies IEEE Software, vol. 22(3), May-June 2005, pp , doi: /ms [6] P. Diebold, How to configure SE development processes context-specifically? Proc. International Conference on Product-Focused Software Development and Process Improvement (PROFES), Springer LNCS, June 2013, pp , doi: / _33. [7] German Federal ministry of the Interios, V-Model XT. Definition and Documentation on the Web. Online, July [8] I. Gorton and S. Motwani, Issues in cooperative software engineering using globally distributed teams Information and Software Technology, vol. 38(10), Jan. 1996, pp , doi: / (96) [9] J. Hunt, Agile software construction Springer London, [10] J. Kontio, M. Hoglund, J. Ryden, and P. Abrahamsson, Managing commitments and risks: challenges in distributed agile development Proc. International Conference on Software Engineering (ICSE), IEEE Press, May 2004, pp , doi: /icse [11] M. Korkala, and P. Abrahamsson, Communication in distributed agile development: a case study Proc. EUROMICRO Conference on Software Engineering and Advanced Applications, IEEE Press,Aug. 2007, pp , doi: /euromicro [12] L. Lavazza, S. Morasca, D. Taibi, and D. Tosi, Applying SCRUM in an OSS Development Process: Empirical Evaluation. Proc. International conference on Agile Software Development (XP), Springer LNBI, June 2010, pp , doi: / _11. [13] N. Sridhar, M. RadhaKanta, and M. George, Challenges of migrating to agile methodologies. Communications of the ACM Adaptive complex enterprises (CACM), vol. 48, May 2005, pp , doi: / [14] M. Paasivaara, S. Durasiewicz, and C. Lassenius, Using scrum in a globally distributed project: a case study. Software Process: Improvement and Practice Global Software Development, vol. 13(6), Nov. 2008, pp , doi: /spip.v13:6. [15] W. Royce, Managing the development of large software systems: concepts and techniques Proc.Technical Papers of Western Electronic Show and Convention (WESCON),IEEE Press, Aug. 1970, pp [16] J. Sutherland, Agile development: lessons learned from the first Scrum Cutter Agile Project Management Advisory Service: Executive Update, vol. 5, 2004, pp [17] J. Sutherland, G. Schoonheim, and M. Rijk, Fully distributed scrum: replicating local productivity and quality with offshore teams. Proc. Annual Hawaii International Conference on System Sciences (HICSS), IEEE Press, Jan. 2009, pp. 1-8, 2doi: /HICSS [18] J. Sutherland, A. Viktorov, J. Blount, and N. Puntikov, Distributed Scrum: agile project management with outsourced development teams. Proc. Annual Hawaii International Conference on System Sciences (HICSS), IEEE Press, Jan. 2007, pp. 274a. [19] RallyDev (Last access July 2013) 323
Agile Scrum Workshop
Agile Scrum Workshop What is agile and scrum? Agile meaning: Able to move quickly and easily. Scrum meaning: a Rugby play Agile Scrum: It is an iterative and incremental agile software development framework
Usage of SCRUM Practices within a Global Company
2008 IEEE International Conference on Global Software Engineering Usage of SCRUM Practices within a Global Company Mauricio Cristal [email protected] Daniel Wildt FACENSA, Brazil [email protected]
D25-2. Agile and Scrum Introduction
D25-2 Agile and Scrum Introduction How to Use this Download This download is an overview of a discussion Intertech has with clients on Agile/Scrum This download has an overview of Agile, an overview of
LEAN AGILE POCKET GUIDE
SATORI CONSULTING LEAN AGILE POCKET GUIDE Software Product Development Methodology Reference Guide PURPOSE This pocket guide serves as a reference to a family of lean agile software development methodologies
"Bezpieczny Projekt"
Konferencja "Bezpieczny Projekt" Wrocław 22 czerwca 2010 www.omec.pl Software Development with Agile SCRUM Chandrashekhar Kachole 22 nd of June 2010 1 Let s keep the cell phones in Silent mode 2 Agenda
Neglecting Agile Principles and Practices: A Case Study
Neglecting Agile Principles and Practices: A Case Study Patrícia Vilain Departament de Informatics and Statistics (INE) Federal University of Santa Catarina Florianópolis, Brazil [email protected] Alexandre
Software Engineering
1 Software Engineering Lecture 2: Software Life Cycles Stefan Hallerstede Århus School of Engineering 25 August 2011 2 Contents Naive Software Development Code & Fix Towards A Software Process Software
Scrum. SE Presentation. Anurag Dodeja Spring 2010
Scrum SE Presentation by Anurag Dodeja Spring 2010 What is Scrum? Scrum is an agile software development framework. Work is structured in cycles of work called sprints, iterations of work that are typically
Changing Roles and Responsibilities from Traditional project management to Agile project management
Changing Roles and Responsibilities from Traditional project management to Agile project management Vishvadeep Tripathi School of computer science and IT Devi Ahilya University Indore, India [email protected]
Comparing Agile Software Processes Based on the Software Development Project Requirements
CIMCA 2008, IAWTIC 2008, and ISE 2008 Comparing Agile Software Processes Based on the Software Development Project Requirements Malik Qasaimeh, Hossein Mehrfard, Abdelwahab Hamou-Lhadj Department of Electrical
Agile So)ware Development
Software Engineering Agile So)ware Development 1 Rapid software development Rapid development and delivery is now often the most important requirement for software systems Businesses operate in a fast
Agile Notetaker & Scrum Reference. Designed by Axosoft, the creators of OnTime the #1 selling scrum software.
Agile Notetaker & Scrum Reference Designed by Axosoft, the creators of OnTime the #1 selling scrum software. Scrum Diagram: Team Roles: roduct Owner: Is responsible for what goes into the product backlog
Agile Based Software Development Model : Benefits & Challenges
Agile Based Software Development Model : Benefits & Challenges Tajinder Kumar Assistant Professor, IT Department JMIT Radaur, Haryana Vipul Gupta Assistant Professor, IT Department JMIT Radaur, Haryana
Software Quality and Agile Methods
Software Quality and Agile Methods Ming Huo, June Verner, Liming Zhu, Muhammad Ali Babar National ICT Australia Ltd. and University of New South Wales, Australia {mhuo, jverner, limingz, malibaba }@cse.unsw.edu.au
Models of Software Development
October 28, 2015 Verification & Validation In many computer science courses, software is submitted once, graded, and thrown away. In real life, software development is an process. Some attempts to codify
TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW
Year 2014, Vol. 1, issue 1, pp. 49-56 Available online at: http://journal.iecuniversity.com TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW Singh RANDEEP a*, Rathee AMIT b a* Department of
Evaluation of agility in software development company
Evaluation of agility in software development company Gusts Linkevics Riga Technical University, Riga, Latvia, [email protected] Abstract Organization s and team s experience in agile methodology can be more
Agile Projects 7. Agile Project Management 21
Contents Contents 1 2 3 Agile Projects 7 Introduction 8 About the Book 9 The Problems 10 The Agile Manifesto 12 Agile Approach 14 The Benefits 16 Project Components 18 Summary 20 Agile Project Management
INTRODUCTION. Chapter 1. 1.1 Motivation
Chapter 1 INTRODUCTION 1.1 Motivation The success of any computer software depends on the user s satisfaction. When software fulfills the user s requirements, it succeeds but the software fails if its
Issues in Internet Design and Development
Issues in Internet Design and Development Course of Instructions on Issues in Internet Design and Development Week-2 Agile Methods Saad Bin Saleem PhD Candidate (Software Engineering) Users.mct.open.ac.uk/sbs85
In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is:
In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is: The period of time that starts when a software product is conceived and ends when the product is no longer
Is ISO/IEC 15504 Applicable to Agile Methods?
Is ISO/IEC 15504 Applicable to Agile Methods? Giuseppe Lami 1, Fabio Falcini 2 1 Consiglio Nazionale delle Ricerche, Istituto di Scienza e Tecnologie dell Informazione via Moruzzi, 1 I-56124 Pisa, Italy
EPL603 Topics in Software Engineering
Lecture 3 Agile Software Development EPL603 Topics in Software Engineering Efi Papatheocharous Visiting Lecturer [email protected] Office FST-B107, Tel. ext. 2740 Topics covered Agile methods
Agile Development Overview
Presented by Jennifer Bleen, PMP Project Services Practice of Cardinal Solutions Group, Inc. Contact: Agile Manifesto We are uncovering better ways of developing software by doing it and helping others
Nexus Guide. The Definitive Guide to Nexus: The exoskeleton of scaled Scrum development. Developed and sustained by Ken Schwaber and Scrum.
Nexus Guide The Definitive Guide to Nexus: The exoskeleton of scaled Scrum development Developed and sustained by Ken Schwaber and Scrum.org August 2015 Table of Contents Nexus Overview... 2 Purpose of
Certified ScrumMaster (CSM) Content Outline and Learning Objectives January 2012
Certified ScrumMaster (CSM) Content Outline and Learning Objectives January 2012 The following pages present the CSM taxonomy as validated through the 2011 Scrum Alliance Validation Study. Each percentage
Singhania University, Jhunjhunu, Rajasthan, India. 2 Department of Information Technology King Abdul Aziz University, Jeddah, Saudi Arabia
www.ijcsi.org 441 A Comprehensive Study of Commonly Practiced Heavy and Light Weight Software Methodologies 1 Asif Irshad Khan, 2 Rizwan Jameel Qurashi and 3 Usman Ali Khan 1 Department of Computer Science
EXIN Agile Scrum Foundation
Sample Questions EXIN Agile Scrum Foundation Edition September 2013 Copyright 2013 EXIN All rights reserved. No part of this publication may be published, reproduced, copied or stored in a data processing
Certified ScrumMaster (CSM) Content Outline and Learning Objectives January 2012
Certified ScrumMaster (CSM) Content Outline and Learning Objectives January 2012 The following pages present the CSM taxonomy as validated through the 2011 Scrum Alliance Validation Study. Total questions
Fully Distributed Scrum: Replicating Local Productivity and Quality with Offshore Teams
Fully Distributed Scrum: Replicating Local Productivity and Quality with Offshore Teams Jeff Sutherland, Ph.D. Guido Schoonheim Maurits Rijk Scrum, Inc. Xebia b.v. Xebia b.v. Boston, MA, US Hilversum,
AGILE SOFTWARE DEVELOPMENT METHODOLOGIES: AN OVERVIEW OF THE CURRENT STATE OF RESEARCH
AGILE SOFTWARE DEVELOPMENT METHODOLOGIES: AN OVERVIEW OF THE CURRENT STATE OF RESEARCH Năftănăilă Ionel University of Economic Studies (ASE) Bucharest Faculty of Management Piața Romană 6, Bucharest, Romania
Traditional SDLC Vs Scrum Methodology A Comparative Study
Traditional SDLC Vs Scrum Methodology A Comparative Study M. Mahalakshmi 1, DR. M. Sundararajan 2 1 Research Scholar, St. Peter s University, Avadi, India 2 Asst. Professor, Department of Computer Science,
Answered: PMs Most Common Agile Questions
Answered: PMs Most Common Agile Questions Mark Kilby Agile Coach, Rally Software [email protected] 407.687.3350 (cell) Led Fortune 50 agile transitions in - Government - Technology - Healthcare - Insurance/Fina
Software Development Methodologies
Software Development Methodologies Jonathan Hoyle Eastman Kodak Thursday, June 2, 2005 Overview Predictive Methodologies Waterfall Other Predictive Methodologies Agile Methodologies Extreme Programming
The Agile PMO. Contents. Kevin Thompson, Ph.D., PMP, CSP Agile Practice Lead cprime, Inc. 4100 E. Third Avenue, Suite 205 Foster City, CA 94404
The Agile PMO Kevin Thompson, Ph.D., PMP, CSP Agile Practice Lead cprime, Inc. 4100 E. Third Avenue, Suite 205 Foster City, CA 94404 [email protected] Abstract The development of Agile processes
Agile software development
Agile software development Syed Nisar Hussain Bukhari Scientist-B DOEACC centre Srinagar [email protected] Abstract: The field of software development is open and dynamic. New approaches of software
Building Software in an Agile Manner
Building Software in an Agile Manner Abstract The technology industry continues to evolve with new products and category innovations defining and then redefining this sector's shifting landscape. Over
Introduction to Software Engineering: Overview and Methodologies
Introduction to Software Engineering: Overview and Methodologies John T. Bell Department of Computer Science University of Illinois, Chicago Based on materials from Bruegge & DuToit, Object Oriented Software
Agile Scrum Foundation Training
IMPROVEMENT BV Liskesweg 2A 6031 SE Nederweert www.improvement-services.nl [email protected] tel: 06-55348117 Tools for Optimum Performance Agile Scrum Foundation Training ~ Scrum Master Sample
AGILE - QUICK GUIDE AGILE - PRIMER
AGILE - QUICK GUIDE http://www.tutorialspoint.com/agile/agile_quick_guide.htm Copyright tutorialspoint.com AGILE - PRIMER Agile is a software development methodology to build a software incrementally using
BE AGILE: PROJECT DEVELOPMENT WITH SCRUM FRAMEWORK
BE AGILE: PROJECT DEVELOPMENT WITH SCRUM FRAMEWORK 1 SOUMYADIPTA PAUL, 2 K. JOHN SINGH 1 Final Year M.Tech (IT), School of Information Technology and Engineering VIT University, Vellore, Tamil Nadu, India
Software Development Methodologies
Software Development Methodologies Lecturer: Raman Ramsin Lecture 9 Agile Methodologies: Scrum 1 Scrum First mentioned as a development method in 1986, referring to a fast and flexible product development
Introduction to Agile and Scrum
Introduction to Agile and Scrum Matthew Renze @matthewrenze COMS 309 - Software Development Practices Purpose Intro to Agile and Scrum Prepare you for the industry Questions and answers Overview Intro
How To Understand The Limitations Of An Agile Software Development
A Cynical View on Agile Software Development from the Perspective of a new Small-Scale Software Industry Apoorva Mishra Computer Science & Engineering C.S.I.T, Durg, India Deepty Dubey Computer Science
Introducing CMMI Measurement and Analysis Practices into Scrum-based Software Development Process
Introducing CMMI Measurement and Analysis Practices into Scrum-based Software Development Process Viljan Mahnic, Natasa Zabkar Abstract Introduction of CMMI practices for Measurement and Analysis Process
An Overview of Quality Assurance Practices in Agile Methodologies
T-76.650 SEMINAR IN SOFTWARE ENGINEERING, SPRING 2004 1 An Overview of Quality Assurance Practices in Agile Methodologies Olli P. Timperi Abstract The focus of literature and debates of agile methodologies
Overview of Scrum. Scrum Flow for one Sprint. 2015 SCRUMstudy.com. All Rights Reserved. Daily Standup. Release Planning Schedule. Create.
Overview of Scrum Scrum is the most popular Agile framework. It is an adaptive, iterative, fast, flexible, and effective method designed to deliver significant value quickly and throughout a project. Scrum
Agile-Fall Process Flow Model A Right Candidate for Implementation in Software Development and Testing Processes for Software Organizations
www.ijcsi.org 457 Agile-Fall Process Flow Model A Right Candidate for Implementation in Software Development and Testing Processes for Software Organizations Prakash.V SenthilAnand.N Bhavani.R Assistant
Waterfall to Agile. DFI Case Study By Nick Van, PMP
Waterfall to Agile DFI Case Study By Nick Van, PMP DFI Case Study Waterfall Agile DFI and Waterfall Choosing Agile Managing Change Lessons Learned, Sprints Summary Q and A Waterfall Waterfall Waterfall
Software Development Process and Activities. CS 490MT/5555, Fall 2015, Yongjie Zheng
Software Development Process and Activities CS 490MT/5555, Fall 2015, Yongjie Zheng Software Process } A set of activities that leads to the production of a software product } What product we should work
Agile & PMI Project Management Mapping MAVERIC S POINT OF VIEW. 10-10-2012 Vol. 7
10-10-2012 Vol. 7 MAVERIC S POINT OF VIEW Agile & Abstract: The purpose of this whitepaper is to explore the points of parity and differences between two of the most widely used methodologies. PMI Management
Process Methodology. Wegmans Deli Kiosk. for. Version 1.0. Prepared by DELI-cious Developers. Rochester Institute of Technology
Process Methodology for Wegmans Deli Kiosk Version 1.0 Prepared by DELI-cious Developers Rochester Institute of Technology September 15, 2013 1 Table of Contents 1. Process... 3 1.1 Choice... 3 1.2 Description...
Best-Practice Software Engineering: Software Processes to Support Project Success. Dietmar Winkler
Best-Practice Software Engineering: Software Processes to Support Project Success Dietmar Winkler Vienna University of Technology Institute of Software Technology and Interactive Systems [email protected]
Hamid Faridani ([email protected]) March 2011
Hamid Faridani ([email protected]) March 2011 Introduction Methodologies like Waterfall, RUP and Agile have all become key tools for software developers and project manager s to aid them in delivering
Introduction to Agile Software Development
Introduction to Agile Software Development Word Association Write down the first word or phrase that pops in your head when you hear: Extreme Programming (XP) Team (or Personal) Software Process (TSP/PSP)
Scrum vs. Kanban vs. Scrumban
Scrum vs. Kanban vs. Scrumban Prelude As Agile methodologies are becoming more popular, more companies try to adapt them. The most popular of them are Scrum and Kanban while Scrumban is mixed guideline
software studio software development processes Daniel Jackson
software studio software development processes Daniel Jackson 1 One of the planning documents for software research revealed --in a parenthetical remark only-- an unchallenged tacit assumption by referring
AGILE SOFTWARE DEVELOPMENT: INTRODUCTION, CURRENT STATUS & FUTURE Pekka Abrahamsson 23.11.2005 Jyväskylä
AGILE SOFTWARE DEVELOPMENT: INTRODUCTION, CURRENT STATUS & FUTURE Pekka Abrahamsson 23.11.2005 Jyväskylä Fact corner: SME of 250 developers Mobile & desktop sw Products sold globally EXAMPLE OF AN INNOVATIVE
Scrum-based Methodology for Distributed Software Development
2011 Sixth IEEE International Conference on Global Software Engineering Scrum-based Methodology for Distributed Software Development Eva del Nuevo, Mario Piattini Alarcos Research Group University of Castilla
Agile and lean methods for managing application development process
Agile and lean methods for managing application development process Hannu Markkanen 27.01.2012 1 Lifecycle model To support the planning and management of activities required in the production of e.g.
Topics covered. Agile methods Plan-driven and agile development Extreme programming Agile project management Scaling agile methods
Topics covered Chapter 3 Agile Software Development Agile methods Plan-driven and agile Extreme programming Agile project management Scaling agile methods 1 2 Need for rapid software Rapid software Changing
Agile Software Engineering Practice to Improve Project Success
Agile Software Engineering Practice to Improve Project Success Dietmar Winkler Vienna University of Technology Institute of Software Technology and Interactive Systems [email protected]
Agile Processes and Methodologies: A Conceptual Study
Agile Processes and Methodologies: A Conceptual Study Sheetal Sharma Amity School of Engineering & Technology Amity University Noida [email protected] Darothi Sarkar Amity School of Engineering &
PROJECT RISK MANAGEMENT MODEL BASED ON PRINCE2 AND SCRUM FRAMEWORKS
PROJECT RISK MANAGEMENT MODEL BASED ON PRINCE2 AND SCRUM FRAMEWORKS Martin Tomanek and Jan Juricek Department of Systems Analysis, University of Economics, Prague, Czech Republic ABSTRACT There is a lack
Life Cycle Models. V. Paúl Pauca. CSC 331-631 Fall 2013. Department of Computer Science Wake Forest University. Object Oriented Software Engineering
Life Cycle Models V. Paúl Pauca Department of Computer Science Wake Forest University CSC 331-631 Fall 2013 Software Life Cycle The overall framework in which software is conceived, developed, and maintained.
History of Agile Methods
Agile Development Methods: Philosophy and Practice CPSC 315 Programming Studio Fall 2010 History of Agile Methods Particularly in 1990s, some developers reacted against traditional heavyweight software
The Scrum Guide. The Definitive Guide to Scrum: The Rules of the Game. July 2013. Developed and sustained by Ken Schwaber and Jeff Sutherland
The Scrum Guide The Definitive Guide to Scrum: The Rules of the Game July 2013 Developed and sustained by Ken Schwaber and Jeff Sutherland Table of Contents Purpose of the Scrum Guide... 3 Definition of
Extreme programming (XP) is an engineering methodology consisting of practices that ensure top-quality, focused code. XP begins with four values:
Scrum with XP By Kane Mar, Ken Schwaber. Introduction Scrum and extreme programming (XP) are both Agile methodologies. We've heard controversy regarding the value of each, with people familiar with each
PROCESS OF MOVING FROM WATERFALL TO AGILE PROJECT MANAGEMENT MODEL
PROCESS OF MOVING FROM WATERFALL TO AGILE PROJECT MANAGEMENT MODEL Sanja Vukićević 1, Dražen Drašković 2 1 Faculty of Organizational Sciences, University of Belgrade, [email protected] 2 Faculty
Popular Agile Methods in Software Development: Review and Analysis
Popular Agile Methods in Stware Development: Review and Analysis R. Vijay Anand* and Dr. M. Dinakaran School Information Technology and Engineering, VIT University, Vellore-632014, Tamil Nadu, India. Abstract
When is Agile the Best Project Management Method? Lana Tylka
When is Agile the Best Project Management Method? Lana Tylka Staged Incremental Deliveries Prototypes Plan Develop Design Deploy Test Maintain Sequential Steps Multiple Iterations Waterfall Sprints, Spirals
USAGE OF KANBAN METHODOLOGY AT SOFTWARE DEVELOPMENT TEAMS
Journal of Applied Economics and Business USAGE OF KANBAN METHODOLOGY AT SOFTWARE DEVELOPMENT TEAMS Nevenka Kirovska 1, Saso Koceski 2 Faculty of Computer Science, University Goce Delchev, Stip, Macedonia
International Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research)
International Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research) International Journal of Engineering, Business and Enterprise
Software Quality Assurance in Agile, XP, Waterfall and Spiral A Comparative Study
Software Quality Assurance in Agile, XP, Waterfall and Spiral A Comparative Study S. Vijayakumar [email protected] School of Computer and Information Science University of South Australia,
Certified Scrum Master Workshop
Learn, understand, and execute on the three overarching principles behind Scrum: iterative development, selfmanagement, and visibility. Even projects that have solid, well-defined project plans encounter
Certified ScrumMaster Workshop
Certified ScrumMaster Workshop Learn, understand, and execute on the three overarching principles behind Scrum: iterative development, self-management, and visibility. Even projects that have solid, well-defined
Akhil Kumar 1, Bindu Goel 2
Factors Influencing Agile Practices: A Survey Akhil Kumar 1, Bindu Goel 2 1 (University School of Information Technology, GGS Indraprastha University, New Delhi-110075) 2 (University School of Information
SmartBear Software Pragmatic Agile Development (PAD) Conceptual Framework
Pragmatic Agile Development (PAD) Conceptual Framework This document describes the Pragmatic Agile Development framework, a Scrum based development process. SmartBear Software 3/10/2010 Pragmatic Agile
White paper: Scrum-ban for Project Management
White paper: Scrum-ban for Project Management By Evaldas Bieliūnas Export Manager of Eylean Board 2014 PRELUDE Every project manager is looking for the new ways to improve company s processes. For the
The Agile Manifesto is based on 12 principles:
The Agile Manifesto is based on 12 principles: Customer satisfaction by rapid delivery of a useful product solution Welcome changing requirements, even late in development Working products are delivered
Mitigating Coordination Costs in Global Software Development Using Scrum
I.J. Information Engineering and Electronic Business, 214, 3, 16-21 Published Online June 214 in MECS (http://www.mecs-press.org/) DOI: 1.5815/ijieeb.214.3.3 Mitigating Coordination Costs in Global Software
Lean Software Development and Kanban
1 of 7 10.04.2013 21:30 Lean Software Development and Kanban Learning Objectives After completing this topic, you should be able to recognize the seven principles of lean software development identify
Agile Processes and Distributed Projects: Dream or Nightmare?
Agile Processes and Distributed Projects: Dream or Nightmare? Instructor: Kevin Thompson, Ph.D., PMP, ACP, CSP 4100 E. Third Ave, Suite 205, Foster City, CA 94404 650-931-1651 www.cprime.com The leader
Agile and lean methods for managing application development process
Agile and lean methods for managing application development process Hannu Markkanen 24.01.2013 1 Application development lifecycle model To support the planning and management of activities required in
COMP 354 Introduction to Software Engineering
COMP 354 Introduction to Software Engineering Greg Butler Office: EV 3.219 Computer Science and Software Engineering Concordia University, Montreal, Canada Email: [email protected] Winter 2015 Course
Risk Identification and Mitigation Processes for Using Scrum in Global Software Development: A Conceptual Framework
2009 16th Asia-Pacific Software Engineering Conference Risk Identification and Mitigation Processes for Using Scrum in Global Software Development: A Conceptual Framework Emam Hossain CSE, The University
Agile methods. Objectives
Agile methods CMSC435-1 Objectives To explain how an iterative, incremental development process leads to faster delivery of more useful software To discuss the essence of agile development methods To explain
Integrating PRINCE2 and Scrum for successful new product development
1 Goal Professional Services Pty Ltd 2 Renewtek Pty Ltd Integrating PRINCE2 and Scrum for successful new product development Rankins G J 1 and Kearns M 2 This paper was presented at the Australian Institute
SCRUM BODY OF KNOWLEDGE (SBOK Guide)
A Guide to the SCRUM BODY OF KNOWLEDGE (SBOK Guide) 2013 Edition A Comprehensive Guide to Deliver Projects using Scrum TABLE OF CONTENTS TABLE OF CONTENTS 1. INTRODUCTION... 1 1.1 Overview of Scrum...
EXIN Agile Scrum Foundation. Sample Exam
EXIN Agile Scrum Foundation Sample Exam Edition June 2016 Copyright 2016 EXIN All rights reserved. No part of this publication may be published, reproduced, copied or stored in a data processing system
