Agile RGM-use case methodology



Similar documents
Agile Requirements Generation Model: A Soft-structured Approach to Agile Requirements Engineering. Shvetha Soundararajan

CSE 435 Software Engineering. Sept 16, 2015

Agile Scrum Workshop

Transitioning Your Software Process To Agile Jeffery Payne Chief Executive Officer Coveros, Inc.

CHAPTER 1: INTRODUCTION TO RAPID APPLICATION DEVELOPMENT (RAD)

COMPARATIVE STUDY ON SOFTWARE PROJECT MANAGEMENT MODELS

Measuring ROI of Agile Transformation

Software Development Methodologies in Industry. By: Ahmad Deeb

Issues in Internet Design and Development

SOFTWARE PROCESS MODELS

Waterfall to Agile. DFI Case Study By Nick Van, PMP

Incorporating Agile Methods into the Development of Large-Scale Systems

Software Development Life Cycle (SDLC)

INTERNATIONAL JOURNAL OF ADVANCES IN COMPUTING AND INFORMATION TECHNOLOGY An International online open access peer reviewed journal

Agile software development

Generalizing Agile Software Development Life Cycle

AGILE METHODOLOGY IN SOFTWARE DEVELOPMENT

Investigation of Adherence Degree of Agile Requirements Engineering Practices in Non-Agile Software Development Organizations

Comparative Analysis of Agile Software Development Methodologies-A Review

The traditional project management uses conventional methods in software project management process.

Agile with XP and Scrum

Agile Methodologies and Its Processes

Evolving a Ultra-Flow Software Development Life Cycle Model

Agile Software Development Methodologies and Its Quality Assurance

How To Model Software Development Life Cycle Models

ABHINAV NATIONAL MONTHLY REFEREED JOURNAL OF RESEARCH IN SCIENCE & TECHNOLOGY

Comparing Agile Software Processes Based on the Software Development Project Requirements

Process Methodology. Wegmans Deli Kiosk. for. Version 1.0. Prepared by DELI-cious Developers. Rochester Institute of Technology

Agile-Fall Process Flow Model A Right Candidate for Implementation in Software Development and Testing Processes for Software Organizations

IMPLEMENTING SCRUM. PART 3 of 5: TRAINING YOUR NEW SCRUM TEAM. Designed by Axosoft, creators of the #1 selling Scrum software.

Comparative Analysis of Different Agile Methodologies

Adapting Agile Software Development to Regulated Industry. Paul Buckley Section 706 Section Event June 16, 2015

Higher National Unit specification. General information. Software Development: Analysis and Design (SCQF level 7) Unit code: HA4C 34.

A Capability Maturity Model (CMM)

How To Understand The Limitations Of An Agile Software Development

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW

Agile Processes and Methodologies: A Conceptual Study

Software Quality and Agile Methods

Mariusz Chrapko. Before: Software Quality Engineer/ Agile Coach, Motorola, Poland. My Public Profile:

A Comparison between Five Models of Software Engineering

An Agile Methodology Based Model for Change- Oriented Software Engineering

POSITIVE TRENDS IN REQUIREMENT ENGINEERING PRACTICES FOR HIGHER SOFTWARE QUALITY

Agile Software Engineering, a proposed extension for in-house software development

An Agile Project Management Model

Product Derivation Process and Agile Approaches: Exploring the Integration Potential

Role of Agile Methodology in Software Development

Software processes that are:

A Comparative Study of Different Software Development Life Cycle Models in Different Scenarios

CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)

EMC PERSPECTIVE. Adopting an Agile Approach to OSS/BSS Development

AGILE SOFTWARE DEVELOPMENT. BY Sysop Technology Aurangabad

Evaluation of Efficient Requirement Engineering Techniques in Agile Software Development

Evaluating Strengths and Weaknesses of Agile Scrum Framework using Knowledge Management

Keywords document, agile documentation, documentation, Techno functional expert, Team Collaboration, document selection;

In this Lecture you will Learn: Development Process. Unified Software Development Process. Best Practice

Review of Software Development Methodologies Used in Software Design

Chapter 3. Technology review Introduction

Software Development Life Cycle Models- Comparison, Consequences

A Review of an MVC Framework based Software Development

AGILE SOFTWARE DEVELOPMENT A TECHNIQUE

Contrastive Analysis of Software Development Methodologies

A Comparison Between Five Models Of Software Engineering

Orthogonal Defect Classification in Agile Development

Testing in Agile methodologies easier or more difficult?

In this Lecture you will Learn: Systems Development Methodologies. Why Methodology? Why Methodology?

LEAN AGILE POCKET GUIDE

Using Simulation to teach project management skills. Dr. Alain April, ÉTS Montréal

Software Development Life Cycle & Process Models

PROCESS OF MOVING FROM WATERFALL TO AGILE PROJECT MANAGEMENT MODEL

An Overview of Quality Assurance Practices in Agile Methodologies

White Paper IT Methodology Overview & Context

Overview of Scrum. Scrum Flow for one Sprint SCRUMstudy.com. All Rights Reserved. Daily Standup. Release Planning Schedule. Create.

Agile Methodologies XP and Scrum

RISK MANAGMENT ON AN AGILE PROJECT

Lean Six Sigma Training The DMAIC Story. Unit 6: Glossary Page 6-1

The Impact of Leadership in. Agile Information System Development Projects: A Pitch

Advanced Software Engineering. Software Development Processes

Akhil Kumar 1, Bindu Goel 2

Life Cycle Models. V. Paúl Pauca. CSC Fall Department of Computer Science Wake Forest University. Object Oriented Software Engineering

Applying Lean on Agile Scrum Development Methodology

Lean Software Development and Kanban

Standardized software development model for SME software houses in Pakistan

Applying 4+1 View Architecture with UML 2. White Paper

Software Engineering. Introduction. Software Costs. Software is Expensive [Boehm] ... Columbus set sail for India. He ended up in the Bahamas...

Software Development Process

Agile Project Management and Agile Practices Training; with a Scrum Project that you will do.

The Software Process. The Unified Process (Cont.) The Unified Process (Cont.)

Requirements Engineering: Elicitation Techniques

Case Study on Critical Success Factors of Running Scrum *

Requirement Management with the Rational Unified Process RUP practices to support Business Analyst s activities and links with BABoK

V. Phani Krishna et al, / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 2 (6), 2011,

Unit 1 Learning Objectives

A. Waterfall Model - Requirement Analysis. System & Software Design. Implementation & Unit Testing. Integration & System Testing.

Building Software in an Agile Manner

Lean vs. Agile similarities and differences Created by Stephen Barkar -

Transcription:

Agile RGM-use case methodology Mani Sahore a, Aseem Kumar b*, Neeraj Sharma c and Shilpa d a Assistant Professor, CSE Department, Chitkara University, Baddi (H.P.) b Assistant Professor, CSE Department, Lovely Professional University, Punjab c CSE Department,Himachal Pradesh University d Incident Manager, Steria (India) Ltd., Noida Abstract Agile methods in today s scenario have grabbed the attention of software engineers worldwide. The reasons are due to its iterative nature, frequent delivery of software, face to face communication, less need of lengthy documentation etc. Agile methods focus on accommodating change even late in the development lifecycle. One of the more important issues in the development of larger scale complex systems is accommodating changes to requirements. Someone proposed a framework which combines the principles of agile and conventional software development that solves the issue of rapidly changing requirements for larger scale systems. The framework consists of two parts. First one is a requirements gathering approach that reflects the agile philosophy i.e. the Agile Re-quirements Generation Model and second one is a tailored development process that can be applied to either small or larger scale system. Before validating the applicability of agile requirement generation model, there is a need of complete description of agile RGM to all users who want to implement this model in their projects. So this paper presents a complete description of agile RGM and all its phases with the help of UML. Keywords: Agile Software Development; Agile requirement generation model; Use cases; UML, Agile Requirement engineering 1. Introduction Currently, the number of organizations adopting agile practices is increasing.the main reasons for the adoption of agile practices are (1) Regular adaptation to changing circumstances (2) Enhanced customer relationships, (3) Greater return on investment (4) Shorter development periods 5)Rapid delivery of software.6)iterative development.[1]. Now the question arises how agile methodology achieves these benefits. The reasons are it "lightens" the entire software development process in terms of the quantity of generated intermediate software products, models, documentation and similar things. Another reason is the use of evolutionary requirements which suggests that requirements should develop in an iterative manner rather than being gathered in advance. One of the most remarkable differences between agile and traditional software development approaches for the project implementation are a way to manage requirements. The agile methodology put emphasis on personal communication, which is very efficient.this paper discusses general agile methodology and its problems as well. This paper provides literature review on agile methods, agile requirement generation model. In addition, the paper also focuses on the limitations of agile requirement generation model. However the significance of this paper is to describe the agile requirement generation model to its users in a very efficient way. * Corresponding author.. Tel: +9501012009 E-mail: aseem.16839@lpu.co.in 746

2. Evolution of Agile Requirement Generation Model Agile requirement generation model is basically designed to structure the Agile requirement engineering. The main work of agile requirement engineering is to accommodating changing requirement even late in software development cycle. The main disadvantage of agile requirement engineering is that it is unstructured in nature. Also non functional requirements are not well defined. So there comes the Agile requirement generation model which is a soft structured approach to agile Requirement engineering process. Further part this paper discuss the agile requirement generation model and its validation with the help of a project. 3. Literature review Asif Qumer and Brian Henderson-Sellers, (2011) developed an agile software process lifecycle management framework (APLM). The APLM framework is made for use by agile coaches, managers and consultants. They both conducted an empirical study.the main objective of this empirical study is to determine to what extent each component of the agile process lifecycle management(aplm) framework is relevant, valuable. The APLM framework has the following six stages: Initiation, Development, Deployment, Administration, Management, and Governance.At last they reached a conclusion that many organizations are interested in adopting agile methods to their large and complex software development environments but the problem is that a little guidance is available on how to do so.[2] B. Veeresh Thummadi and Omri Shiv,(2011) discussed that Agile methods form an alternative to waterfall methodologies. They examine the variation in routines of agile and traditional lifecycle project using an event sequencing method. Resulting analysis shows that the agile process is composed of fewer activities which are repeated iteratively. In the end they concluded that there is a misconception that agile methods are unplanned and undisciplined when compared to other software methodologies but they found quite the opposite when an agile method was enacted.[3] Feng Ji and Todd Sedano, (2011) discussed the comparison between waterfall model and extreme programming. They said that both software development methodologies are used for project management. They conducted a controlled experimental study which involves multiple teams. Some of them used waterfall development and some used extreme programming. The purpose of this research is to look at advantages and disadvantages based upon the outcomes produced by the teams. In the end they concluded that Waterfall teams spent more time in creating lengthy documents where as Extreme Programming teams spent more time in writing code and documenting their design in their code.[4] Markus Kohlbacher, Ernest Stelzmann and Sabine Maierhofer, (2011) discussed the effects of applying agile software development practices within system engineering projects. They took some hypothesis that agile methods could also be applied within system engineering. They conducted an empirical study which involves a list of 637 Austrian companies from different industries.on the basis of empirical study they concluded that much work remains to be done to know that why iterative development and customer involvement have a negative effect on customer satisfaction.[5] Premysl Soldan and Lenka Landryova, (2011) done an analysis with the help of a survey that how agile methods can be applied on project management in small and medium companies. Various interviews were conducted and the questions were asked. In the end they conclude that traditional development methodology compliments the agile development methodology.[6] Rosalva E. Gallardo-Valencia, Vivian Olivera and Susan Elliott Sim, (2011) said that Agile teams commonly use User Stories, conversations with On-Site Customers, and test cases to gather requirements. They also made a comparative study comparative study it became clear that use cases and agile requirements are complementary things. They also conduct an experimental study showing that subjects using Use Cases spent less time understanding requirements in comparison to subjects not using Use Cases. In their research paper this thing is not clear that whether use cases understood the requirements in a better way or not but this thing became very much clear that use cases are beneficial for developers using agile requirements.[7] Shvetha Soundararajan and James D. Arthur, (2011) discussed that one of the more important issues in the development of larger scale complex systems is accommodating changes to requirements. They proposed a soft-structured framework combining the principles of agile and conventional software development.the framework consists of two parts: A soft structured requirements gathering approach i.e., the Agile Requirements Generation Model and a tailored development process that can be applied to either small or larger scale systems. In the end they concluded that there is a need to validate the applicability of the Agile RGM through an empirical study using a real life project.[8] Gabrielle Benefield, (2008) said that Yahoo! needed a software development Process that could support an Internet between use cases and user stories. They also describe the strength and weaknesses of use cases and user stories. In the startup culture which provides products and services to more than 500 million users worldwide. He said that he joined Yahoo in 2005.He utilize the highly effective frameworks of Scrum and Agile. He and other team members started using Scrum and using its lightweight framework to create motivated self-organizing teams.[9] Woi Hin, Kee, (2007) discussed that in software development, there are two main categories of software development.first one is Waterfall method and second one is agile methodology. One of the more important issues in the development of larger scale complex is accommodating changes to requirements. They said that Agile methods 747

basically focuses on accommodating change late in the development lifecycle and further can be adopted for the development of larger scale system. They also gave an example of the success story of Motorola Wireless Systems Group (WSG) which has begun to adopt agile methodologies to improve their process. Motorola group has achieved a remarkable reduction in escaped defects and also 3 times remarkable improvement in productivity after using agile development methodology. At last they said that integration of agile and traditional development method is the future work for companies.[10] Agile Requirement Generation Model: According to Agile RGM, if a new feature is recognized at a later stage then we have to first break that feature into story and arrange that stories according to their priorities and then break down the highest business value story or highest number of priority into number of tasks and then implement the task in the development phase. Fig. 1. Agile Requirement Generation Model 4. Use case Description of agile RGM 4.1Education Phase The first phase of agile RGM is Education Phase. Motive is to establish communication between various stakeholders. Developers learn from customers business process and a product concept statement is created. Being incremental in nature this phase becomes input to next phase. Product concept statement answers questions like: a) Who are the products Users? : The product is Human Resource Management Project. Users are the fresher candidates looking for a job and the employees who got recruited. b) What will the product do? : Human resource management will enable online recruitment of fresher candidates and maintain the details of the employees like details regarding payment, attendance, details regarding reimbursement etc. c) What type of problems will the product solve? : Fundamental issues candidates face on a recruitment drive are related to transport and lodging. This product and the requirements which we are suggesting for addition will solve all the problems discussed above. 4.2Feature Development Phase High level mission statement created in the above phase becomes the input of this phase. The features are extracted with the help of meetings from the product concept statement 4.2.1 Preparation To arrange for a meeting for all the stakeholders to identify the features of the system to be built. 748

4.2.2 Elicitation Requirement gathering is basically done here. Brainstorming sessions, Open-ended interviews and focus group with the customers and users are other techniques to elicit features. 4.2.3 Validation and Estimation Time estimation and validation is done for the elicited features. 4.2.4 Prioritization Customers prioritize the identified set of features based on their needs and ROI. The output of the feature development phase is a prioritized feature stack. Hence, the prioritized feature stack is a collection of index cards containing features and sorted by their priorities. Fig 3 depicts the functionality of the whole phase. The communication activities between the customer and the developer can be easily shown use case diagrams. Fig. 3. Use Case Diagram for Feature Development Phase 4.3 Story Development phase The output of this phase is a Prioritized story stack. After a story or an initial set of stories are identified, tasks can be created and developed. Each story identified in the previous phase is decomposed into tasks by development team. 4.3.1Task Development Phase Fig 5 depicts the communication activities going on between customer and developer. How stories are divided into number of tasks and how tasks are prioritized all these things are shown in the use case diagram. 4.3.2Development Phase Fig 6 depicts the development phase.it contains two things. Test driven development and customer acceptance tests. Fig. 2: Use Case Diagram for Education Phase 4.3.3Test Driven Development A combination of Test First Development and Refactoring. This development technique creates unit test for task and is done before writing code. Refactoring is refining of code so that it is better understood by users and involves changing the design and structure (of code) without changing result. It eradicates dead code. 749

4.3.4 Customer Acceptance tests This type of testing ensures that the resulting system meets the expectation of the customer. The main disadvantage of acceptance testing is that they are very time consuming. Fig. 5. Use Case Diagram for Task Development Phase Fig. 4. Use Case Diagram for Story Development Phase Above are the diagrammatic representation of Agile requirement generation model and its phases [11] 5. Future scope After the complete description of agile RGM there is a need of its validation. Validation of agile RGM signifies that whether it is applicable for projects or not. Also there is a need of the requirement management tool that supports the Agile RGM approach. Fig. 6. Use Case Diagram for Development Phase 750

References [1] P. Abrahamsson & J. Warsta, New Directions on Agile Methods: A Comparative Analysis. 25 International Conference on Software Engineering, 2003. [2] A. Qumer & B. H. Sellers, Empirical Evaluation of the Agile Process Lifecycle Management Framework. Research Challenges in Information Science (RCIS),2010. [3] B.V.Thummadi & O. Shiv, Enacted Routines in Agile and Waterfall Processes. Agile Conference. 2011. [4] F. Ji & T. Sedano, Comparing Extreme Programming and Waterfall Project Results. 24th IEEE-CS Conference on Software Engineering Education and Training,2011. [5] M. Kohlbacher, E. Stelzmann & S. Maierhofer,Do Agile Software Development Practices Increase Customer Satisfaction in Systems Engineering Projects?. Systems Conference (SysCon),2011. [6] P. Soldan & L. Landryova, Agile methods of project management. Carpathian Control Conference (ICCC),2011. [7] R.E. Gallardo-Valencia, V. Olivera, S.E. Sim, Are Use Cases Beneficial for Developers Using Agile Requirements?.Comparative Evaluation in Requirements Engineering,2011. [8] S. Soundararajan & J. D. Arthur, A Soft-Structured Agile Framework For Larger Scale Systems Development. 16th Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems,2011. [9] G. Benefield, Rolling out Agile in a Large Enterprise.41st Hawaii International Conference on System Sciences,2011. [10] W. Hin & Kee, Future Implementation and Integration of Agile Methods in Software Development and Testing. Innovations in Software Technology, Dubai, November, 2006. 751