146x Filetype PDF File size 0.40 MB Source: iacis.org
https://doi.org/10.48009/2_iis_2008_188-195 ISSUES AND CHALLENGES OF AGILE SOFTWARE DEVELOPMENT WITH SCRUM Juyun Cho, Colorado State University-Pueblo, joey.cho@colostate-pueblo.edu ABSTRACT (ASDMs) including Scrum, eXtreme Programming (XP), Crystal, and Adaptive Software Development Agile software development methods have been (ASD), have been developed and evolved since developed and evolved since early 1990s. Due to the 1990s to embrace, rather than reject, high rates of short development life cycle through an iterative and change [24]. Such new approaches focus on iterative incremental process, the agile methods have been and incremental development, customer used widely in business sectors where requirements collaboration, and frequent delivery [18] through a are relatively unstable. This paper explains the light and fast development life cycle. Although many differences between traditional software development positive benefits of agile approaches including methods and agile software development methods, shorter development cycle, higher customer and introduces the characteristics of one of the satisfaction, lower bug rate, and quicker adaptation to popular agile methods, Scrum. Finally, the paper changing business requirements have been reported illustrates issues and challenges discovered through [3], there have been few empirical field studies on an in-depth case study in a company which has issues and challenges of ASDMs. Therefore, the aim employed Scrum for many projects. The insights of this research paper was to discover the issues and presented in the paper can be used in organizations challenges of one particular agile method in practice, that are in the process of agile software development Scrum, through an in-depth case study in a mid-sized, using Scrum. web-based development projects for government. Keywords: Scrum methodology, traditional software The remainder of this paper discusses the differences development, agile software development, empirical between traditional methods and agile methods, and process. then presents a brief history, framework, and empirical process of the Scrum methodology. Finally, INTRODUCTION the paper discusses issues and challenges of the Scrum methodology discovered through an in-depth Traditional Software Development Methods case study. (TSDMs) including waterfall and spiral models, utilize extensive planning, codified process, rigorous TRADITIONAL SOFTWARE DEVELOPMENT reuse, heavy documentation and big design up front METHODS (TSDMs) [2]. Due to these characteristics, TSDMs are often called heavyweight development methods. The One of well-known traditional software development TSDMs are still widely used in industry because of methods is the waterfall model. The waterfall model their straightforward, methodical, and structured utilizes a structured progression between defined nature [6], as well as their predictability, stability, phases: planning, analysis, design, implementation, and high assurance [3]. and maintenance. The planning phase which occupies typically about 15% of total Systems Development Though many TSDMs have been developed since the Life Cycle (SDLC) is the fundamental process to waterfall model to provide significant productivity identify the scope of the new system, understand why improvements, none of them are free from major a system should be built, and how the project team problems including blown budgets, missed schedules, will go about building it through technical, and flawed products [3, 4], and they have failed to economical, and organizational feasibility analysis. provide dramatic improvements in productivity, in The analysis phase, which occupies about 15% of reliability, and in simplicity [4]. Due to constant SDLC, analyzes the current system, its problems, and changes in the technology and business then identifies ways to design the new system environments, it is a challenge for TSDMs to create a through requirements gathering. The design phase complete set of requirements up front. (35%) decides how the system will operate in terms of hardware, software, and network infrastructure. As a remedy for the shortcomings of TSDMs, a The implementation phase (30%) is the actual number of Agile Software Development Methods programming. The maintenance phase (5%) focuses VOL IX, No. 2, 2008 188 Issues in Information Systems Issues and Challenges of Agile Software Development with Scrum on go-live, training, installation, support plan, percentage of projects (16.2%) that used traditional documentation, and debugging [5]. Figure 1 and methods were completed on-time and on-budget with table 1 below show a typical waterfall lifecycle and all features and functions specified. However, 52.7% deliverables respectively. As we can see in the figure of the projects were completed either over-budget, and the table, each phase must be accomplished over the time estimate and/or offering less features before the following phase can begin and each phase and functions; 31.1% of projects were canceled at cannot go back to the previous phase like water in the some point during the development cycle [17] (see waterfall cannot climb up once it reaches to lower Figure 2). position. Planning (15%) Analysis (15%) Design (35%) Implementation (30%) Maintenance (5%) Figure 2 Project resolution (Source: The Standish Group [17]) Figure 1 Waterfall model lifecycle To overcome these shortcomings, several practitioners developed agile software development methods including Scrum, eXtreme Programming Phases Deliverables (XP), Crystal, and Adaptive Software Development (ASD). The next section explains the characteristics Planning Phase Planning Specifications and principles of agile software development Analysis Phase Analysis Specifications methods. Design Phase Design Specifications AGILE SOFTWARE DEVELOPMENT Implementation Phase Completed Product METHODS (ASDMs) Table 1 Waterfall model deliverables The manifesto for agile software development which was created by seventeen practitioners in 2001 Over the past four decades, traditional waterfall-style (http://www.agilemanifesto.org), reveals which items software development methods have been widely are considered valuable by ASDMs. As shown in used for large-scale projects in the software industry Table 2, ASDMs concentrate more on 1) individuals and in the government sector due to their and interactions than processes and tools, 2) working predictability, stability, and high assurance. As software than comprehensive documentation, 3) mentioned earlier, however, TSDMs have a number customer collaboration than contract negotiation, and of key shortcomings, including slow adaptation to 4) responding to change than following a plan. constantly changing business requirements, and a tendency to be over budget and behind schedule with More Valuable Items Less Valuable Items fewer features and functions than specified [2, 6, 16, Individuals and Processes and tools 19, 21]. Boehm and Phillip [22], and Jones [23] both interactions reported that during their project development Working software Comprehesive experience, requirements often changed by 25% or documentation more. Williams and Cockburn [24] also mentioned Customer Contract negotiation that one of problems of TSDMs is the inability to collaboration respond to change that often determines the success Responding to change Following a plan or failure of a software product. Table 2 Manifesto for agile software development One interesting research study conducted by the Standish Group of 365 respondents and regarding The twelve principles behind the agile manifesto also 8,380 projects representing companies across major present the characteristics of ASDMs industry segments, shows that only a small (http://www.agilemanifesto.org/principles.html). As VOL IX, No. 2, 2008 189 Issues in Information Systems Issues and Challenges of Agile Software Development with Scrum shown in Table 3, ASDMs 1) satisfy the customer There are many different characteristics between through early and continuous delivery of software, 2) ASDMs and TSDMs. Boehm [2], for example, embrace changing requirements, even in late reports nine agile and heavyweight discriminators development cycle, 3) deliver working software (See Table 4). He believes the primary objective of frequently, 4) work daily with business people, 5) ASDMs is on rapid value whereas the primary facilitate motivated people, provide them with good objective of TSDMs is on high assurance. He also environment and support, and trust them, 6) assist believes that ASDMs should be used for small teams face-to-face conversation within a development team, and projects. If the size of the team and projects are 7) use working software as a primary measure of large he suggests TSDMs. progress, 8) promote sustainable development and keep sponsors, developers, and users moving at a Project Agile Heavyweight constant pace, 9) pay attention to technical excellence Characteristics discriminator Discriminator and good design, 10) maintain simplicity, 11) promote self-organizing teams, and 12) foster Primary Rapid Value High inspections and adaptations. objective Assurance # Principles Requirements Largely Knowable 1 Our highest priority is to satisfy the customer emergent, rapid early, largely through early and continuous delivery of change, stable valuable software. unknown 2 Welcome changing requiremts, even late in development. Agile processes harness change Size Smaller teams Larger teams for the customer’s competitive advantage. and projects and projects 3 Deliver working software frequently, from a Architecture Designed for Designed for couple of weeks to a couple of months, with a current current and preference to the shorter timescale. requirements foreseeable 4 Business people and devlopers must work requirements together daily throught the project. 5 Build projects around motivated individuals. Planning and Internalized Documented Give them the environment and support they Control plans, plans, need, and trust them to get the job done. qualitative quantitative 6 The most efficient and effective method of control control conveying informaiton to and within a development team is face-to-face conversation. Customers Dedicated, As needed 7 Working software is the primary measure of knowledgeable, customer progress. collaborated, interactions, 8 Agile processes promote sustainable collocated focused on development. The sponsors, developers, and onsite contract users should be able to maintain a constant pace customers provisions indefinitely. 9 Continuous attention to technical excellence and Developers Agile, Plan-oriented; good design enhances agility. knowledgeable, adequate skills 10 Simplicity—the art of maximizing the amount collocated, and access to of work not done—is essential. collaborative external 11 The best architectures, requirements and designs knowledge emerge from self-organizing teams. 12 At regular intervals, the team reflects on how to Refactoring Inexpensive Expensive become more effective, then tunes and adjusts its behavior accordingly. Risks Unknown risks, Well Table 3 Principles behind the agile manifesto Major Impact understood risks, Minor The ASDMs have the potential to provide higher impact customer satisfaction, lower bug rates, shorter Table 4 Differences between ASDMs and TSDMs development cycles, and quicker adaptation to (Source: Boehm [2]) rapidly changing business requirements [3, 10, 12]. VOL IX, No. 2, 2008 190 Issues in Information Systems Issues and Challenges of Agile Software Development with Scrum reviewers’ comments and suggestions should be SCRUM METHODOLOGY reflected in the code (adaptation). The Scrum software development process is an agile Framework of Scrum process that can be used to manage and control complex software and product development using The framework of Scrum consists of three iterative and incremental practices [1] and is an components including roles, ceremonies, and artifacts enhancement of iterative and incremental approach to [25]. There are three distinct roles in the Scrum delivering objected-oriented software [13]. The process: the Product Owner, the Team and the origin of term “Scrum” came from the popular sport ScrumMaster. The Product Owner is responsible for Rugby, in which fifteen players on two teams getting initial and on-going funding for the project by compete against each other. Takeuchi and Nonaka creating the project’s overall requirements, return on [20] first used rugby strategies to describe hyper- investment (ROI) objectives, and release plan [25]. productive development processes in Japan. Three The Team is responsible for implementing the strategies from rugby including a holistic team functionality described in the requirements. Teams approach, constant interaction among team members, should be self-managing, self-organizing, and cross- and unchanging core team members are adopted into functional to maximize team performance. All of the Scrum management and control processes. team members are responsible for both the success and the failure of sub-systems and of entire systems The Scrum process was developed by Schwaber and [25]. The ScrumMaster (SM) is responsible for Sutherland [15]. The former developed and ensuring that Scrum values, practices, and rules are formalized the Scrum process for system enacted and enforced. The SM represents development while he was at his company, Advanced management and the team to each other [15]. SM Development methods (ADM), in the early 1990s. also tries to remove any impediments imposed on The latter developed many of the initial thoughts and developers. practices for Scrum when he was at Easel Corporation as a vice president of Object Technology There are several ceremonies in the Scrum process in 1994. By a joint effort of both Schwaber and including the Daily Scrum Meeting, the Daily Scrum Sutherland, the Scrum process was first introduced to of Scrums Meeting, the Sprint Review Meeting and public at the conference of Object-Oriented the Sprint Planning Meeting. The Daily Scrum Programming, Systems, Languages and Applications Meeting (TDSM) is a 15-minute status meeting to talk (OOPSLA) in 1996 [13]. about what has been accomplished since the last meeting, what items will be done before the next Empirical Process Control meeting, and what obstacles developers have. TDSMs facilitate communications, identify and The co-founder of the Scrum process, Schwaber remove impediments to development, highlight and argues that the Scrum process employs an empirical promote quick decision-making, and improve process control which has three legs underlying all of transparency (visibility) as explained in the previous its implementations: transparency (visibility), section. The Daily Scrum of Scrums Meeting inspection, and adaptation [14, 25]. Transparency or (TDSSM) is another short daily meeting and follows visibility means that any aspects of the process that the same format as a regular TDSM. The main reason affect the outcome must be visible and known to for having TDSSM is to synchronize the work everybody involved in the process. Inspection between multiple Scrum teams. The Sprint Planning requires that various aspects of the process be Meeting (TSPM) is a monthly meeting, where the inspected frequently enough so that unacceptable Product Owner and Team get together to discuss variances in the process can be detected. Adaptation what will be done for the next Sprint which lasts requires that the inspector should adjust the process if usually for 30 days. In TSPM, team members break a one or more aspects of the process are in an project into a set of small and manageable tasks so unacceptable range. that all the tasks can be completed in one Sprint. The Sprint Review Meeting (TSRM) is another monthly A code review can be analyzed with the empirical meeting which is held at the end of the Sprint. TSRM process control described above. Any code written by is usually a four-hour time-boxed meeting, where developers should be visible to everybody team members present what was developed during (transparency). The most experienced and the Sprint to the Product Owner and stakeholders. knowledgeable developers can review the code (inspection). If there is a room to improve the code, VOL IX, No. 2, 2008 191 Issues in Information Systems
no reviews yet
Please Login to review.