Agile Development And Variation In SCRUM Sprint Information Technology Essay

In Agile development SCRUM is highly acceptable approach. And main body of SCRUM is driven by the sprint. Activities in the SCRUM sprint are sprint meeting, sprint review, sprint backlog, development, acceptance testing, scrum meeting, sprint retrospective, and final shippable work product. it is observed that there are still missing activities that can be accommodated to improve the sprint. The research suggests some more activities that can be accommodated from other agile methodologies such XP, DSDM, and RUP/EUP. The new approach will enhance the sprint capability.

KEYWORDS: Agile development, SCRUM, Extreme Programming, Rational Unified Process, Dynamic Systems Development Method

INTRODUCTION

Agile development is a group of methodologies where requirements and solutions develop through collaboration between self-organizing, cross-functional, cohesive teams.

The main focus is on creating working software that could be handed over to the customer quickly rather than spending a lot of time writing specifications up front. Agile focuses on rapid iteration, with continuous customer input throughout the development lifecycle.

In this paper we introduce a development process, in this process we have identified the missing activities in the SCRUM and collaborated the activities that are available in other Agile methodologies such as XP, DSM and RUP

RESEARCH METHODOLOGY

The methodology selected for this research is based on the qualitative analysis of the agile frameworks available in the industry.

AGILE

Agile has evolved as a light weight software development methodology against the legendary heavy weight software development methodologies such as waterfall, spiral, rapid prototyping, incremental.

Agile methodology is based on iterative and incremental development that break tasks into small increments with nominal planning called iteration. Iterations are short time frames that typically last from one to four weeks. Each iteration involves a team working through a full software development cycle.

AGILE ALLIANCE

In spring of 2001, 17 software developers met at UTAH to see whether there was anything in common between the various light methodologies such asAdaptive Software Development, XP, Scrum, Crystal, Feature driven Development, Dynamic System Development Method (DSDM).

AGILE MANIFESTO

We are uncovering better ways of developing

software by doing it and helping others do it.

Through this work we have come to value:

Individuals and interactions over processes and tools

Working software over comprehensive documentation

Customer collaboration over contract negotiation

Responding to change over following a plan

[Martin C. Robert , Agile Principles, Patterns, and Practices in C#, Martin Micah, 2006]

SCRUM

Scrum is an incremental iterative process. In Scrum, product development is done in iterative cycles called Sprints. Sprints are typically 1-4 weeks in length, and the time box is not extendable, i.e. the backlog items that could not be completed in one sprint are catered in the next sprint. Once a sprint date is committed it is never extended. At the start of a Sprint, there is a sprint meeting in which priority items of product backlog are selected and team calculates the efforts and commits to complete them in the Sprint. Every day there is a daily standup meeting in which team reports the progress to each other and update simple visual representations of work remaining in sprint burn down chart. [The Scrum Papers: Nuts, Bolts, and Origins of an Agile Process Jeff Sutherland, Ph.D. Ken Schwaber Co-Creators of Scrum, 2007]

[Deemer.P and Benefield.G, SCRUM PRIMER, 2006]

EXTREME PROGRAMMING

Extreme Programming is an agile development methodology that focuses on the critical activities required to build software. Like other agile methodologies it also supports the development in little iterations after a work product is available to be released.

Unlike traditional SDLC, extreme programming does not support different phases of requirement gathering , analysis, design and development rather it advocates a environment where the client is the part of the team and all the phases of SDLC are executed simultaneously in iterative incremental order.

Read also  What Are Smart Meters Information Technology Essay

DSDM

Dynamic Systems Development Method (DSDM) is a software development method originally based on the methodology for rapid application development.

DSDM is an incremental and iterative methodology that focuses on continuous user collaboration.

Its goal is to deliver software systems on schedule and according to the financial plans while adjusting for requirement changes along with the development process. Among all agile methodologies DSDM is a fundamental methodology of Agile Alliance.

[http://en.wikipedia.org/wiki/DSDM ]

RUP

The Rational Unified Process (RUP) is an iterative software development process framework created by the Rational Software Corporation, a division of IBM since 2003[http://www.eweek.com/c/a/Desktops-and-Notebooks/IBM-Acquires-Rational/]. The RUP is a four-phase (inception, elaboration, construction, transition), prescriptive process whose scope is software development. The EUP extends the RUP to make it a full-fledged IT process. The EUP adds two phases, production and retirement. Not only do you need to develop systems, you also need to run them in production and potentially even remove them from production at some point.

[The Object Primer, Third Edition,Scott W. Ambler 2004]

COMPARISON

Although there are many other agile methodologies such as Feature Driven Development, ICONIX, PRINCE2, Lean Software Development and Crysatal but for the comparison of the activities we have selected four most used agile methodologies which include Extreme Programming, SCRUM, DSDM and RUP.

eXtreme Programming is a revolutionary methodology which focuses on the cross functional software development process and addressing the core software engineering practices such as analysis, development and testing. It makes XP a substantial difference to the quality of the end product.

SCRUM is also an agile framework, which focuses mainly on how to manage tasks within a cross functional team environment.

Before “AGILE” there was a light weight methodology called DSDM. When Agile was devised many of the DSDM principles were integrated in the agile development methodology

[http://www.agile-software-development.com/2007/02/10-things-you-need-to-know-about-agile.html]

Planning And Requirement Gathering

In extreme programming, in order to plan a project, we must know something about the requirements, but we don’t need to know very much. For planning purposes, we need to know only enough about a requirement to estimate it. In SCRUM same is being handled by Product Owner And Team mutually agreeing on the development of the planning of the items based on the product backlog.

In DSDM there is a separate Elaboration phase to gather the requirement and plan the phases accordingly.

RUP has an Inception Phase, Business process re-engineering is a very complex endeavor, and the RUP only provides techniques for business modeling, not for the supporting process. If, however, the business process is simple or well understood, it’s possible that work on it may be undertaken in the inception phase. If this is the case, a more complex inception phase

will be required. [www.scribd.com/doc/41162/Planning-a-project-with-RUP]

Specification & Artifacts

The test cases and code evolve together in extreme programming, with the test cases leading the code by a very small fraction as a result; a very complete body of test cases grows along with the code. These tests allow the programmers to check whether the program works. Major artifacts in SCRUM are Sprint backlog, Product Backlog, Sprint Burn down Charts. Product backlog contains [Deemer.P and Benefield.G, SCRUM PRIMER, 2006]

features (“enable all users to place book in shopping cart”),

development requirements (“rework the transaction processing module to make it scalable”),

exploratory work (“investigate solutions for speeding up credit card validation”),

and known bugs (“diagnose and fix the order processing script errors”).

DSDM has a number of artifacts that are created and evolves with the project. These artifacts include Feasibility Reports, Non-Functional Requirements, Business requirements, Review meeting records, Systems Architecture Definition, Development Plan, Functional Model, Implementation Plan, Test records, User documentation, Project Review Document.

Read also  Preventing Cyber Breaches

In RUP Use case model, Supplementary requirements, Use case (Describes a service provided by the system), User interface prototype (Simulates the user interface, as defined and testable by users) Functional test (Tests the functionality needed to meet a particular requirement), Development environment (Sets up the development environment and manages changes to this environment)

Progress

To measure the team progress in extreme programming there is a steering team, record progress chart is used. SCRUM meeting, burn down chart in SCRUM, Big visible charts in DSDM and in RUP defined sources for project indicators. Defined thresholds for the project indicators.

coding

In extreme programming Code is written by pairs of programmers working together at the same workstation. One member of each pair drives the keyboard and types the code. The roles change frequently. In SCRUM same is done according to the willingness And Commitment Of Team. In DSDM initially a Design Prototype is created which is tested by the customer after the validation of Design the tested System is handed over to the next phase. In RUP Coding is done on the bases of the available use cases, lengthy use cases may be divided in to several iterations

[http://en.wikipedia.org/wiki/DSDM#Stage_3:_Design_and_Build_Iteration

http://en.wikipedia.org/wiki/RUP]

Testing

As discussed earlier in extreme programming All production code is written in order to make a failing unit test pass. Write the code that makes that test pass.

For SCRUM Acceptance testing is done at the end of each SPRINT. In DSDM, throughout project life-cycle Testing is done regressively. And same goes for RUP.

Review

The details about the user stories are captured in the form of acceptance tests specified by the customer. The acceptance tests for a story are written immediately preceding, or even concurrently with, the implementation of that story.

The review meeting in SCRUM is called Sprint Retrospectives. In DSDM test records are developed according to the user documentation and checks the correctness of the designed system. For review purpose testing and reviewing are the main techniques used. Reviews are not available in RUP

Iterations

In XP iteration is usually 2 weeks in length and represents a minor delivery that may or may not be put into production. The iteration plan is a collection of user stories selected by the customer according to a budget established by the developers. In Scrum it is called Sprint Cycle which is usually of the length of 4-6 weeks and does not vary. In DSDM there is only one iteration in which complete build is developed. In RUP iterations are not time oriented rather there are use cases that help in determining the timeframes of iteration.

Release Management

XP teams often create a release plan that maps out the next six or so iterations. That plan is known as a release plan. A release is usually three months’ worth of work. In SCRUM 2 -3 sprints and as decided by product owner. In DSDM there is a single release concept that is sent to the customer in the entire project as it is adept in SDLC. DSDM is also unique in that it categorizes time boxes depending on their function: Investigate, Refine, Consolidate. The activities of RUP include Release handover, training the end users and to facilitate in User acceptance testing of the system.

Customer Collaboration

In XP customer is the part of the team. Customer is virtually present in the vicinity and he is always present to facilitate or elicitation of the requirements. [Kent Beck, Extreme Programming Explained, First Edition September 29, 1999 ]. In SCRUM product Owner can be Customer, in DSDM Executive Sponsor is called the “Project Champion”. It is a vital position from the user organization since it has the responsibility to facilitate all the requirements in the requirements elicitation. In RUP Customer collaboration is done throughout the project phase

Read also  Job Analysis Importance And Purpose Information Technology Essay

Project Management

In XP Project management is done through Inter team coordination, A pair has the right to check out any module and improve it. No programmers are individually responsible for any one particular module or technology. Everybody works on the graphical user interface. In SCRUM Product Owner and Scrum Master are the facilitators. In DSDM there is a project Manager who can be a in-house IT Staff or a client. In RUP the Project manager plans the phases of the entire project along with the iteration plan which describe the iterations.

Deployment:

In RUP the purpose of deployment is successful delivery of the working software to its end users. It includes packaging, distributing and producing external releases of the software,.

Support

In RUP: Software release installations and technical support to the client or end user

Architecture

DSDM makes an architecture phase compulsory. In Business Study RUP make it able to agree on development priorities and a SYSTEM ARCHITECTURE DEFINITION are developed

ACTIVITIES BENCHMARK

Following is the benchmark of all the above discussed agile development project lifecycle activities

PRACTICES

XP

SCRUM

DSDM

RUP

PLANNING/REQUIREMENTS

User stories

product owner Product Backlog

Elaboration Phase and feasibility studies

Inception Phase and Business modelling

ARTIFACTS

Test case Archives

Product Backlog, Sprint Backlog, burndown charts

Feasibility Report, Outline Plan, Business Area Definition

Use case model,

User interface prototype, Functional test

PROGRESS

steering team, record progress

scrum meeting, burn down chart

Big visible charts

Defined thresholds for the project indicators.

CODING

Pair Programming

commitment of team

Prototype designing and evolution

commitment of team

TESTING

write the code that makes that test pass.

Acceptance Testing

Throughout the project life-cycle.

Testing occurs throughout the project

REVIEW

acceptance tests for a User story

sprint restrospective

correctness of the designed system by review and testing

Not Available

ITERATION

2 weeks in length

4 -6 Weeks in length

Single Iteration

Iterations are not time based

RELEASE

Release consists of 6 Iterations

2 -3 sprints and as decided by product owner

Single release

Single release

CUSTOMER COLLABORATION

Part of the team

Product Owner can be a customer

Executive sponsor; This role has an ultimate power to make decisions

collaboration throughout the project phase

PROJECT MANAGEMENT

Project manager is Big Boss

Product Owner

Could be client or any one from the staff

Phase plan by the team

DEPLOYMENT

Not Available

Not Available

Not Available

Software Packaging and Distribution

SUPPORT

Not Available

Not Available

Not Available

Software release installations and technical support to the client or end user

ARCHITECTURE

Not Available

Not Available

Architecture phase compulsory

In Business Study architecture is defined

ACTIVITIES COVERED IN SPRINT

Sprint is a complete cycle of activities. This activity is time boxed, which means that the time allocated for a sprint cannot be varied and team has to provide a tested and working work product at the end of the sprint. The sprint backlog items that could not be completed in the sprint are catered in the next sprint.

The activities in SPRINT are as follows

Sprint burn down chart

Design

Development

Testing

Daily stand up meeting

WHAT COULD BE ACCOMODATED IN SPRINT

Things that could be added in sprint could be more customer collaboration, focus on the system architecture

Order Now

Order Now

Type of Paper
Subject
Deadline
Number of Pages
(275 words)