COMPARING as an Agile technique with iterative
COMPARING TWO METHODOLOGIES SCRUM AND RATIONAL UNIFIED PROCESS September 2011 Features and attributes of SCRUM Methodology According to DeGrace (1990), SCRUM as a project management methodology is among the famous techniques. It is viewed as an Agile technique with iterative project approach on activities. As a new methodological approach, it has more advantages compared to the old classic methodologies.
As earlier mentioned, the methodology is iterating, where the production is accomplished in small cycles (iterations).Each of the produced products could be complete, ready to be merged with the other completed components. During the development of these functional components, the incremental process has to take place during iteration; new features or functionalities are added.
It is vital to note that, the methodology adopts its own procedural steps and terminology to be used throughout the development, aimed at maintaining teamwork. The Scrum process. (DeGrace 1990) Scrum methodology is regarded as one of the best technique among agile methodologies.It is most suitable for development of complicated projects, which are characterized with rapidly changing environment (requirements and other factors). The features of this methodology, all of which are important, make this technique successful. One of the features is that, the process is iterative, which means that products are realized at the end of each sprint/ iteration, or a cycle; this means that a revised version of a sprint would be incremental. This feature is important since it helps in achievement of small project components, which would be completed within a short period (mostly ranging from one week to one month).
Each component or a unit is allocated to a team, which has to come up with the required product before the next step is approved for iteration (Per and Bruce 2006). Another vital feature is the presence of phases in the development process. These phases are, pre-game, game, and post game. The pre-game phase involves the planning of activities to be involved and the system architecture to be adopted for the entire project. After the pre-game, the development team can now enter the game phase, in which team members create units in each development sprint.Finally, the units can enter the post game phase if it is complete to be integrated with the other units, if not, it iterates to meet the phase requirements (DeGrace 1990).
Since the Scrum methodology has the scrum team, product owner, Scrum Master, and the developers, they must all keep in touch with the events surrounding the project. This means that the project owner has to understand all the project/product constraints and dispatch the required finances, while the Scrum Master has to be informed of the financial status by the scrum owner for him to continue steering the process (Per and Bruce 2006).If both the owner and the scrum Master satisfy the environment, then the developers can continue with the process of development. This situation introduces another feature where the scrum process is interactive with the external factors such as competitive pressure, time, or budget. The process has to interact and adapt to these factors until the post game phase.
The last feature of this methodology is the requirement to review the process frequently to accommodate the emerging project needs. This would occur if the scrum team changes the budget, time lines, or development challenges arise (Per and Bruce 2006).Disadvantages of Scrum Scrum methodology is a deviation from the traditional project management; this presents numerous challenges such as failure to tell the project stage since there is no artifacts. In addition, the absence of artifacts presents more challenges than advantages; it is not possible to predict the budget to be used, it is hard to tell how far the project is from finishing, and it is not easy to perform maintenance on the system since there is no documentation of the requirements. In addition, there are no change logs, test reports, and other documents required for referencing (DeGrace 1990).
Advantages of Scrum The methodology adopts an object-oriented approach, which is vital in conclusive analysis of a system. This makes sure that the produced application considers all possible items of an object under analysis. The other advantage is the flexibility of each cycle or iteration during development. Since not all units may adopt the same development method, the developers are given the room to devise their own approach on development.
The methodology is also adaptive to the new environment. Since the development environment can change, Scrum would continue irrespective of such changes (DeGrace 1990).Features and attributes of RUP Methodology The Rational Unified Process (RUP) is one of the common software development process, which provides a disciplined approach during the entire engineering process. In this technique, teams are assigned to tasks that should be completed within a specific period.
This process utilizes a common language referred to as unifies modeling. In this case, the use of visual elements such as use cases is evident; this makes sure that the developer and other team members understand the process.The success of the RUP is dependent on strict flow of tasks in the four phases of development namely, inception, elaboration, construction, and transition, which are the main attributes of this methodology (Kroll 2003).
Rational Unified Process Model (Rother 2010). Inception intends to make sure that the stakeholders share the same idea, necessary to enable the start of the project. Some of the issues they must agree on are the objectives, rough schedule of events, and rough architecture. At this point, the team members have to be knowledgeable on the field of analysis (Kroll 2003).Since RUP is iterative, this process must undergo iteration to come up with a final product, which is the set of use cases. Nevertheless, this phase may not produce all the required use cases for the entire project.
After this, the architecture and the project plan have to be fine tuned through elaboration. This is an indication that the inception will still take place, though with insignificant change in it. Construction is the third phase of the methodology at which the development team has to give the customer a functional system, however, the resulting system is not expected to have all the requirements implemented.The iteration at this point is to prepare the system that would be presented to the client. The last phase is the transition, a point at which the project is finished and presented to the client for complete ownership.
This final step implements the feedback from the customer, with an objective to fulfill all the requirements. The two methodologies are Agile and iterative. However, the RUP methodology adopts a formal scope, with specific milestones associated with turnaround dates. Other than using project scope, SCRUM methodology backlogs, which can be redefined at any phase of the project; the redefinition occurs through iteration.Additionally, RUP segments the entire project into four phases (inception, elaboration, construction, and transition). In RUP, project elaboration provides a platform for requirement analysis. On the other hand, a sprint in the SCRUM would have performed requirement engineering, documentation, analysis, coding, testing, and customer review.
This means that, iteration in SCRUM behaves as a complete independent unit unlike in RUP. Disadvantages of the RUP model The model does not have sufficient iteration to facilitate exhaustion of user requirements; this limits the owner of the system to the original requirements given from the start.This is a reflection of a system fault that can be costly after the project is complete (Kroll 2003). Another issue is the rigidity to the set phases, which cannot be bypassed.
Although the process is good for large projects, it is not economical for medium and small projects that require flexibility. Advantages of the RUP model • Highly disciplined The methodology keeps artifacts such as the scope, formal requirements, system architecture, development plan, test script, test plan, etc. This documentation helps in revising the software in case there is the need after the entire project is complete.Therefore, documentation makes it much easier for system maintenance to take place (Rother 2010).
• Easily noticeable development The organization of the scope into four distinct phases makes the project much visible through the four phases. The state of the project can easily be pointed since the phases have a specific definition on the milestone achieved (Rother 2010). • Easy to create budget With the project plan spelt out, each phase can be allocated a specific budget depending on the plan (Rother 2010). RUP vs.
SCRUM Comparison | SCRUM| RUP| Approach| It is Iterative| It is Iterative|Cycle| Each cycle or sprint is a complete iteration. | Utilizes a formal Cycle, which is spread across the four phases of the project concurrently. | Planning| There is the absence of an end-to-end plan. The next iteration is determined and planned after the current iterations are completed. The user and the product owner determine whether the project is complete.
| There is a formal project plan, which is iterated several times. The project plan has to follow specific end-dates, which are associated with related phase milestones. | Scope| No scope is used.
SCRUM makes use of Project backlogs in each sprint/iteration. These backlogs are reevaluated at the end of each sprint. | The scope is determined in the planning, just before the kickoff. It is documented to be used throughout the project. However, the scope of the plan can be re-evaluated depending on the change of the requirements. | Artifacts| The methodology does not have a formal artifact. The operational software is the only available artifact.
| There are various artifacts including documentation on scope, formal requirements, system architecture, development plan, test script, and test plan. Type of Project/Product| This methodology is suitable for Small systems with minimal safety concerns. In addition, it is best for projects without strict deadlines. | This is the best option for large projects, which would probably have critical security requirements.
The methodology is also used for complex enterprise systems with strict deadlines. | References DeGrace P. 1990. Wicked problems, righteous solutions : a catalogue of modern software engineering paradigms. Englewood Cliffs, N.
J: Yourdon Press Haugan, G. (2011). Project management fundamentals : key concepts and methodology. Vienna, VA: Management ConceptsKroll P 2003. The rational unified process made easy: a practitioner’s guide to the RUP. Boston: Addison-Wesley.
Per K and Bruce M I 2006. Agility and Discipline Made Easy: Practices from OpenUP and RUP. Retrieved September 20, 2011, available at http://www. ibm. com/developerworks/rational/library/jul06/reader/lieberman. html Rother M 2010. Toyota kata : managing people for improvement, adaptiveness, and superior results.
New York: McGraw Hill. Schwaber K 2004. Agile project management with Scrum.
Redmond, Wash: Microsoft Press. Sliger M 2008. The software project manager’s bridge to agility. Upper Saddle River, NJ: Addison-Wesley.