Rational Unified Process with Scrum
Total Page:16
File Type:pdf, Size:1020Kb
A HYBRID SOFTWARE DEVELOPMENT METHOD FOR LARGE-SCALE PROJECTS: RATIONAL UNIFIED PROCESS WITH SCRUM Juyun Cho, Colorado State University-Pueblo, [email protected] ABSTRACT mentioned that the conventional methods were not initially designed to respond to requirements change Conventional software development methods have occurring in the middle of the development process, gradually been replaced by lightweight agile and the ability to take action appropriate to the software development methods since the mid-1990s. change often determines the success or failure of a This phenomenon is mainly due to the conventional software product [37]. According to the Standish methods’ shortcomings, including a slow adaptation Group report [33], numerous projects with the to rapidly changing business requirements, and a conventional methods in various industry and tendency to be over budget and behind schedule. This government sectors were completed with fewer paper analyzes characteristics, strengths, and features and functionalities than specified in the user weaknesses of both conventional and agile methods. requirements. It is also a challenge for the This paper also explains the four major phases and conventional methods to create a complete set of nine disciplines of the Unified Process, and the requirements up front due to constant changes in the common elements of the Scrum process. Finally, this technology and business environments. paper suggests a new hybrid software development method that combines the Rational Unified Process Despite the existing shortcomings, the conventional with the Scrum process to accommodate the strengths methods are still widely used in industry, particularly, of both methods while suppressing their weaknesses. for large-scale projects. The driving force of this The hybrid method can be utilized in the software broad utilization of the conventional methods comes industry, particularly, in the business sectors that from their straightforward, methodical, and structured deal with large-scale projects. nature [12], as well as their capability to provide predictability, stability, and high assurance [6]. Keywords: Hybrid software development method, Unified process, Scrum process, conventional Agile software development methods focus on software development methods, agile software iterative and incremental development, customer development methods. collaboration, and frequent delivery [33] through a light and fast development life cycle. There are many INTRODUCTION positive benefits of the agile approaches. Shorter development cycles, higher customer satisfaction, Conventional heavyweight, document-driven lower bug rates, and quicker adaptation to rapidly software development methods can be characterized changing business requirements have been reported as extensive planning, codified process, rigorous [6, 22, 24]. reuse, heavy documentation and big design up front [3]. The conventional methods were predominant in In spite of the potential benefits of the agile methods, the software industry up until the mid 1990s. Since many organizations are reluctant to throw their then, the conventional methods have been replaced conventional methods away and jump into agile by lightweight agile software development methods methods due to several issues. These include: 1) agile mostly in small-scale and relatively simple projects. methods significantly reduce the amount of This phenomenon is mainly due to the conventional documentation and rely heavily on tacit knowledge, methods’ shortcomings, including a slow adaptation 2) agile methods have not been sufficiently tested for to rapidly changing business requirements, and a mission/safety-critical projects, 3) agile methods are tendency to be over budget and behind schedule [3, 6, not adequate for highly stable projects, 4) agile 9, 15, 26, 34, 36]. The conventional methods also methods can be successful only with talented have failed to provide dramatic improvements in individuals who favor many degrees of freedom, and productivity, reliability, and simplicity [9]. 5) agile methods are not appropriate for large-scale projects. Table 1 below summarizes the Some researchers reported that during their project characteristics, strengths, and weaknesses of the development experience, requirements often changed conventional and agile methods. by 25% or more [5, 18]. An interesting research Volume X, No. 2, 2009 340 Issues in Information Systems A Hybrid Software Development Method For Large-Scale Projects Table 1. Comparisons between Conventional and Agile Methods Conventional Methods Agile Methods Characteristics Extensive planning Iterative and incremental Codified process development Rigorous reuse Customer collaboration Heavy documentation Frequent delivery Big design up front Light and fast development cycle Tacit knowledge within a team Light documentation Strengths Straightforward, methodical, and Short development cycle structured nature High customer satisfaction Predictability, stability, and high Low bug rate assurance Quick adaptation to rapidly changing business requirements Weaknesses A slow adaptation to rapidly Significant document reduction and changing business requirements heavy dependence on tacit A tendency to be over budget knowledge A tendency to be behind schedule Not sufficiently tested for Difficult to create a complete set of mission/safety-critical projects requirements up front Not adequate for highly stable projects Can be successful only with talented individuals who favor many degrees of freedom Not appropriate for large-scale projects As shown in the table, strengths and weaknesses exist The UP takes an iterative, requirements-driven, and with both methods. It would be very beneficial if we architecture-centric approach, which is based on can come up with a new method that accommodates sound engineering principles [19]. Some of the the strengths while suppressing the weaknesses of universal principles of UP includes: 1) adapt the both methods. This paper suggests a new method that process, 2) balance stakeholder priorities, 3) combines the Rational Unified Process (conventional collaborate across teams, 4) demonstrate value method) with the Scrum (agile method) to maximize iteratively, 5) elevate the level of abstraction, and 6) the strengths of the two approaches. focus continuously on quality. The remainder of this paper is organized as follows: The UP has a long and proven history and has clearly The next two sections describe the characteristics of evolved [2]. Table 2 depicts how the UP has evolved the Rational Unified Process and the common through several variations. Among the many different components of the Scrum process. Next, a new versions, Rational Unified Process (RUP) 2003 was hybrid model/method is presented with an utilized in this study as a framework. As shown in explanation how the Rational Unified Process is table 2, RUP came from the Objectory process v1.0 combined with the Scrum. Finally, the author and evolved into RUP 2003 with various additions concludes the paper with a suggestion for possible and enhancements. More recently, a lighter UP called future research. the Agile Unified Process (AUP) was developed for an agile software development. The AUP utilizes a RATIONAL UNIFIED PROCESS streamlined approach, which has fewer activities and deliverables with a simplified method. The Unified Process (UP) is a well-defined object- oriented system development process originally The structure of RUP is two dimensional: phases and offered by IBM Rational Software and was disciplines. The phases represent the four major developed by Booch, Rumbaugh, and Jacobson [25]. stages that a project goes through over time. The Volume X, No. 2, 2009 341 Issues in Information Systems A Hybrid Software Development Method For Large-Scale Projects major stages include inception, elaboration, Project construction, and transition. The disciplines represent Management the logical activities that take place throughout the Environment project. The nine disciplines can be employed across two or Table 2. History of Unified Process more phases during the RUP development life cycle. Year Event For example, the business modeling discipline can be 1988 Objectory v1.0 is created by Jacobson’s utilized in both the inception and elaboration phases Objectory AB company. Rational Unified to understand the business environment, the Process and Enterprise Unified Process came requirements, the design, the implementation, and the out from the Objectory process. testing disciplines can be employed across all four 1996 Rational Objectory Process (ROP) 4.0 is phases to classify requirements that the system must created. Iterative concept is introduced. implement, to design a solution for the system that 1998 ROP is renamed into Rational Unified satisfies the requirements, to write code that makes Process and RUP 5.0 is released. the system actually work, and to conduct unit and 1999 Rational Unified Process 5.5 is released with integrated system testing. The deployment discipline an enhancement of real-time and web-based can occur during the elaboration, construction, and development. transition phases to place a portion of the system or 2000 Rational Unified Process 2000 is developed the full system into operation for users. The support with the addition of business engineering disciplines can also occur across all four phases for techniques to the business modeling planning and controlling the project. Table 4 shows discipline and a more enhanced