What is Agile Software Development?

Size: px
Start display at page:

Download "What is Agile Software Development?"

Transcription

1 What is Agile Software Development? Introduction What is agile software development, and what changes does it require of a tester? How does a tester become more effective in an agile environment? This white paper runs through the evolution of software development and compares agile techniques to Orange project management methodologies, as well as discussing whether the SMaRT methodology is relevant in an agile environment. A Brief History of Software Engineering Ever since the so-called Software Crisis of the mid-1960s, the IT community has been searching for a process model or methodology to provide a miracle cure. Originally, a lack of productivity was used to characterize this crisis, but soon it became clear that a lack of quality was actually the problem because many software projects ran over their budget and schedule, some caused property damage, and a few even caused loss of life. The early solutions, such as the Waterfall Model, attempted to follow the formal and rigorous processes of other engineering disciplines. Such models advocate the process of requirements capture, analysis, design, coding, and testing carried out in a strict, pre-planned sequence. Progress is generally measured in terms of deliverables such as requirement specifications, design documents, test plans and the like. The controls embedded within the process offer high levels of user accountability and reduce the risk of failure. However, this can result in substantial testing effort toward the end of the project cycle. There are also criticisms that this was a contradiction of the way that software engineers work and that it was bureaucratic and slow. The slow project progress associated with this method consequently increased the chance of requirement churn the changing of requirements whilst the project is still ongoing. These factors are often touted as cause of waterfall project failure. In reaction to this, James Martin developed the Rapid Application Development (RAD) model. This is an iterative approach which has five core elements; prototyping, iterative development, time boxing, team members, and management approach. The prototype helps the user draw out requirements and then the software is created in iterations with short development cycles. After each iteration, the user requirements are re-evaluated; the application becomes increasingly feature-rich as the versions increase. The goal of time-boxing is to keep the timescales of iterations down, by deferring feature addition until future versions and so reducing the possibility of requirement churn. There should be a small number of team members who are experienced and able to perform multiple roles; management should focus on keeping development cycles short, enforcing deadlines, and clearing bureaucratic or political obstacles. It is argued that this method increases speed through the use of CASE tools and the lack of bureaucracy and documentation, and because the user has more input in the analysis and design stage, quality increases as well. However, there are also several criticisms, namely that it lacks rigor and

2 so produces fragile systems that do not scale, whilst raising user and manager expectations to unrealistic levels. The Waterfall method is an example of a Heavyweight method, whereas RAD is an example of a Lightweight method. An alternative way to see this is to view these two techniques on a scale spanning from Predictive methods to Adaptive methods. Predictive methods focus on planning the future in detail; features and tasks are planned for the entire length of the development process and the plan is typically optimized for the original destination. Changing direction can be difficult or cause completed work to be thrown away and so a change control board is often appointed to ensure that only the most valuable changes are considered. Adaptive methods, on the other hand, adjust quickly when the needs of a project change, but will have difficulties when attempting to describe exactly what will happen in the future; they may be able to report exactly what tasks are being done next week, but only which features are planned for next month. The mission statement of the release or a cost/benefit analysis is probably the only semi-realistic measure of timescales which can be provided for any targets further away than that. The descendent of the Waterfall Model, the V-Model, is not exactly common today but still stands as a good example of a predictive method. The V-Model starts testing earlier in the project lifecycle and associates a test phase to each design phase, thereby spreading the testing effort more evenly over the whole project cycle. However, it is still characterized as bureaucratic, slow, and open to requirement churn. In the late 1990s, new Lightweight or Adaptive models such as extreme Programming (XP) which attempted to address the problems associated with Lightweight or Adaptive methods continued to be misleadingly criticized as unplanned or undisciplined. Therefore, in 2001, members of the community met and adopted the name Agile Methods. They created the Agile Manifesto ( a canonical definition of agile development and the accompanying agile principles. Agile Software Development Agile Software Development breaks down one product release into small packages and plans to release these packages in short time windows or iterations. These iterations generally last one to four weeks, depending on business need, and are viewed as small projects in their own right. Consequently, each one has all the normal project phases: planning, requirements analysis, design, coding, testing, and documentation. This is one of the main differences between agile methods and past iterative methods: the synergy of an adaptive fast-development process, and the repeatability and rigor provided by the predictive project structure. It is predictive and accountable in the short term and adaptive to change over the medium- to long-term. Each iteration is not required to add enough functionality to justify releasing the product, but the aim is to release some software at each stage.

3 Agile Software Development recognizes that requirement churn is almost inevitable during the project lifecycle and mitigates any associated drawbacks with this by accepting the fact and including it as part of the planning phase. After the release of an iteration, the overall project goals are reviewed to see whether it is necessary to alter the requirements. Another key aspect of this methodology is its focus on face-to-face communication over the written form. This is not to say that there is no documentation, but more importance is placed on keeping information current over standards and formal processes. As a result, the majority of agile teams sit together and comprise the people necessary to complete the delivery. This can be a combination of programmers, customers, testers, design authorities, technical writers and managers, but at minimum is a programmer and a customer. A customer can be an actual customer, but is more likely to be someone who can provide business sign-off, e.g. product managers, business analysts, project sponsors, etc. One final point to make about Agile Software Development is that the emphasis is firmly placed on exercising the software as the main measure of progress; this, coupled with the small timescales of the delivery release cycle, means that automation is often a key factor in agile environments. One methodology that most emphasizes this is XP, the most prominent of several agile methodologies. Like all agile methods, XP has an iterative lifecycle, team collaboration, and significant customer involvement. The first step in planning is the creation of user stories. These are similar to use cases, but are also used to create time estimates. Acceptance tests are created from the user stories and are used as black box system tests. The customer is responsible for verifying the validity of the tests, including whether or not they were passed. Criticisms still exist surrounding the agile methodology in that the relative lack of documentation when compared with more predictive methods encourages cowboy coding and there is no record of alterations. It is highly reliant on the individuals within the agile team to be of a high quality and mistakes are less visible than they would be in a more predictive, documentintensive methodology. Furthermore, it seems that it would not apply to large, complex systems with interactions between many components. This is because of the face-to-face communication that is one of the bedrocks of the agile method. The size of team needed for such systems would hamper communications and also makes it less logistically possible to sit the team in one location. From a testing perspective, agile methods don t even define a mandatory role for a tester, with the minimum team being a developer and a customer. XP defines a role for an expert customer/product specialist tester, but this would be a significant role-shift for the many existing system and product independent testers and would more seem to suit the shift of a customer to specialize in testing rather than vice versa. So what is the role of a tester in an agile environment? Testing in an Agile Environment It could be argued that the customer can fulfill the role of a tester in an agile environment. After all, they should know how the product is supposed to work and can therefore provide all the use cases and draw acceptance tests from these. Furthermore, there is usually a higher degree of automated unit testing

4 that is carried out by the developers which decrease the chance that defects should make it past the unit-testing phase. It is often said that developers and testers view the world from two different perspectives. Developers are happy-go-lucky, glass-half-full optimists who assume that most of the time, things work. Testers are world-weary, glass-half-empty pessimists who assume that there will always be something wrong. Customers are also generally never happy with what they get, so why can t they replace the tester? The answer is that testers are more likely to apply critical thinking. This critical thinking can be used to assist the customer to draw out product requirements and then to draw out test cases from those requirements. Whereas a customer would create scenarios for normal use, exception cases should also be created and the customer may not have the experience or the right abilities to accomplish this. Also, a system and use protocol for actual defect reporting is necessary in any development cycle; again, the customer may not have the skills or experience for this. Testers often occupy the ground between developers and customers, with a greater technical knowledge of how the system works and a focus on making sure it is fit-for-purpose. This technical knowledge means that they can raise more accurate defect reports that cut down the investigatory work required of the developers. Furthermore, testers are more likely to create, and use more efficiently, a better defect reporting system. Lastly, the automation required for an agile approach will require effective configuration management. Although it is not conventionally a role that a tester will perform, perhaps in an agile environment testing should subsume that role to provide a degree of independence of the release from the developers. This should help discourage cowboy coding and last-minute, undocumented code badges. The Orange Test Process There are many test processes used within the companies under the umbrella of Orange-branded companies, but for the purpose of this article, the process defined for projects that fall under the scope of Validation and Testing Support will be examined. The Orange Project Delivery Process that falls within the scope of Validation and Testing Support draws heavily from Prince 2; there is a defined organization structure for the project management team, a product-based planning approach is used, and projects are divided into manageable and controllable stages. The process is split into five phases; Idea, Concept, Initiation, Delivery and Close, which are separated by Decision Points (DP). Testing activities commence after DP2, the transition from Concept to Initiation, and finish at DP4, the transition from Delivery to Close. The Test process also follows a product-based planning approach and hence the following are mandatory deliverables in their specified stages: Initiation: Test Strategy, TTRM, Environment Delivery Plan Delivery: Test Plans, Test Cases, Test-bed Environment, Test Exit Report

5 Transition into the next stage is not possible until all these have been baselined and accepted by the Project Sponsor or the Project Manager. The Delivery stage of testing is normally split into three phases: Preliminary Acceptance Testing (PAT), Integration Testing (INT) and Orange Acceptance Testing (OAT). These phases are based on the V-Model process as all can be mapped to development stages; therefore, all the criticisms leveled at the V-Model can also be leveled at the Orange test process. The recent acquisition of Wanadoo into Orange Group will provide a challenge to this methodology because Internet providers have traditionally been associated with a more agile approach. A SMaRTer way to Test SMaRT is an acronym for Structured Managed and Realistic Testing. It is a risk-based approach which is based heavily on Prince 2 fundamentals and the testing V-Model. The test phase of a project is split into 5 stages: Test Strategy, Test Planning, Test Scripting, Test Execution, and Test Closure. It relies on inputs from the business and previous stages and requires a set of deliverables necessary before procession to the next stage is achieved. This is assessed at exit and entry meetings between each stage that assess the criteria attached to both. Like the Orange test process, this is a predictive approach and the criticisms discussed earlier can be leveled here as well. So is it possible to use the SMaRT approach in an agile environment? SMaRT and Agile? You don t see that very often! The first stage of SMaRT sets out a test strategy for the whole project. There is only ever one strategy for one project. This could lend itself to an agile method by defining a test strategy for the project as a whole which contains the project goals and the current in-scope main requirements. It would still define environments, resources, test approach, projected timescales, etc. but after an initial baseline at project initiation, it would be subject to change after the delivery of each iteration in the required meetings. When the requirements are updated and timescales and scope altered, these would also be updated in the test strategy. After the initial creation of the document, these changes would only require a small amount of time and effort. The second stage produces detailed plans for each testing phase or stage within the project and it is likely that there will be more than one testing phase or stage within the project. This being the case, rather than writing a test plan for each test phase, one could be written for each iteration. This would be a slight adaptation of the SMaRT method, as normally a plan only deals with one phase of testing, whereas in this case, as a minimum, it would have to include the unit test phase, the acceptance test phase, and whatever other test phases might exist. However, as the unit test phase will be mostly controlled by the developers, the main functions that it might serve for this phase would simply be a test specification of unit tests developed and setting entry and exit criteria. For the acceptance phase it would be of more importance and here it would be used to ensure that the acceptance test cases satisfy the customer that the requirements of the iteration in question are met. After the first test plan has

6 been created for the first iteration, future plans for future iterations should be based heavily on the plan for the previous iteration. Test automation is essential in an agile environment and so the next two stages in SMaRT, test scripting and test execution, would simply be the updating or creation and subsequent running of automated scripts in an appropriate tool. Results would be collated and distributed as per project guidelines. The final phase of SMaRT, test closure, would have to adapt to the needs of the project. The meeting after each iteration delivery could be seen as a test closure, but after defining a strategy for the whole project, it goes against SMaRT to have closure for each stage. Also, if a project is the updating and maintaining of a system, then there would be no closure until the system is put out of service. Perhaps the solution might be to define two types of closure; iteration closure and project closure. Conclusion The use of SMaRT in an agile environment would have many benefits. Deliverables such as quality analysis, failure mode analysis and business process walkthroughs lend themselves very well to small agile teams comprising all the people necessary to complete the delivery because all the people needed to conduct them should be within touching distance. This counters the normal disadvantages of the time and effort spent getting all the necessary people together normally associated with such exercises. Also, with the rise of companies wanting to comply with legislation like Sarbanes-Oxley, the audit trail that SMaRT provides would allow an agile method to be used while still accomplishing this. However, SMaRT is predictive in nature; to use it in an adaptive development process, it would need to become more adaptive. As part of project initiation, an analysis of what deliverables are necessary would have to be conducted in order to complete the project whilst keeping the risk within agreed parameters. It is probably necessary to create a version of the SMaRT methodology which is specifically suited for agile environments and yet still adaptive and adaptable to the requirements of the project.

AGILE vs. WATERFALL METHODOLOGIES

AGILE vs. WATERFALL METHODOLOGIES AGILE vs. WATERFALL METHODOLOGIES Introduction Agile and waterfall are two major methodologies that software developers and project managers have the option of using. Some of the goals of developers and

More information

Introduction to Agile Software Development

Introduction to Agile Software Development Introduction to Agile Software Development Word Association Write down the first word or phrase that pops in your head when you hear: Extreme Programming (XP) Team (or Personal) Software Process (TSP/PSP)

More information

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

The traditional project management uses conventional methods in software project management process. Volume 5, Issue 1, January 2015 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Analysis of

More information

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

A. Waterfall Model - Requirement Analysis. System & Software Design. Implementation & Unit Testing. Integration & System Testing. Processing Models Of SDLC Mrs. Nalkar Sanjivani Baban Asst. Professor, IT/CS Dept, JVM s Mehta College,Sector 19, Airoli, Navi Mumbai-400708 Nalkar_sanjivani@yahoo.co.in Abstract This paper presents an

More information

2.1 The RAD life cycle composes of four stages:

2.1 The RAD life cycle composes of four stages: 2.1 The RAD life cycle composes of four stages: A typical RAD life cycle is composed of the following Stages 2.1.1. Requirements Planning; 2.1.2 User Design; 2.1.3 Rapid Construction; 2.1.4 Transition.

More information

Development Methodologies Compared

Development Methodologies Compared N CYCLES software solutions Development Methodologies Compared Why different projects require different development methodologies. December 2002 Dan Marks 65 Germantown Court 1616 West Gate Circle Suite

More information

Introduction to Software Project Management. CITS3220 Software Requirements & Project Management

Introduction to Software Project Management. CITS3220 Software Requirements & Project Management Introduction to Software Project Management CITS3220 Software Requirements & Project Management "A project gets a year late one day at a time." "Anything that can be changed will be changed until there

More information

Agile Projects 7. Agile Project Management 21

Agile Projects 7. Agile Project Management 21 Contents Contents 1 2 3 Agile Projects 7 Introduction 8 About the Book 9 The Problems 10 The Agile Manifesto 12 Agile Approach 14 The Benefits 16 Project Components 18 Summary 20 Agile Project Management

More information

Managing TM1 Projects

Managing TM1 Projects White Paper Managing TM1 Projects What You ll Learn in This White Paper: Traditional approaches to project management A more agile approach Prototyping Achieving the ideal outcome Assessing project teams

More information

New Developments in an Agile World: Drafting Software Development Agreements. By: Paul H. Arne 1,2

New Developments in an Agile World: Drafting Software Development Agreements. By: Paul H. Arne 1,2 New Developments in an Agile World: Drafting Software Development Agreements By: Paul H. Arne 1,2 A few months before this article was prepared, a group of senior IT professionals from some of the largest

More information

Quality Assurance Software Development Processes

Quality Assurance Software Development Processes Quality Assurance Software Development Processes Part II - Lecture 3 1 The University of Auckland New Zealand 254 12/09/ /2012 The FBI Virtual Case File 254 12/09/ /2012 Database application developed

More information

PROCESS OF MOVING FROM WATERFALL TO AGILE PROJECT MANAGEMENT MODEL

PROCESS OF MOVING FROM WATERFALL TO AGILE PROJECT MANAGEMENT MODEL PROCESS OF MOVING FROM WATERFALL TO AGILE PROJECT MANAGEMENT MODEL Sanja Vukićević 1, Dražen Drašković 2 1 Faculty of Organizational Sciences, University of Belgrade, vukicevicsanja@yahoo.com 2 Faculty

More information

Advanced Software Engineering. Software Development Processes

Advanced Software Engineering. Software Development Processes Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Advanced Software Engineering Software Development Processes Prof. Agostino Poggi Software Development

More information

Whitepaper. Agile Methodology: An Airline Business Case YOUR SUCCESS IS OUR FOCUS. Published on: Jun-09 Author: Ramesh & Lakshmi Narasimhan

Whitepaper. Agile Methodology: An Airline Business Case YOUR SUCCESS IS OUR FOCUS. Published on: Jun-09 Author: Ramesh & Lakshmi Narasimhan YOUR SUCCESS IS OUR FOCUS Whitepaper Published on: Jun-09 Author: Ramesh & Lakshmi Narasimhan 2009 Hexaware Technologies. All rights reserved. Table of Contents 1. Introduction 2. Subject Clarity 3. Agile

More information

Software Development Methodologies

Software Development Methodologies Software Development Methodologies If you are running a software project, one of the main questions you are likely to come across is which development methodology to use. There are as many opinions on

More information

An introduction to the benefits of Application Lifecycle Management

An introduction to the benefits of Application Lifecycle Management An introduction to the benefits of Application Lifecycle Management IKAN ALM increases team productivity, improves application quality, lowers the costs and speeds up the time-to-market of the entire application

More information

AGILE SOFTWARE DEVELOPMENT

AGILE SOFTWARE DEVELOPMENT AGILE SOFTWARE DEVELOPMENT Michael Novikov and Nicolas Heuser May 23, 2006 1 Contents 1 THE TIME BEFORE AGILE SOFTWARE DEVELOPMENT 3 2 ADAPTIVE VERSUS PREDICTIVE SOFTWARE DEVELOPMENT 3 3 WHAT IS AGILITY?

More information

PRINCE2 and DSDM: Why should I use both?

PRINCE2 and DSDM: Why should I use both? PRINCE2 and DSDM: Why should I use both? Author: Dorothy Tudor - DSDM and PRINCE2 Practitioner and Trainer, a Certified ScrumMaster (Agile), ITIL Service Manager and a Director of the DSDM Consortium,

More information

White Paper IT Methodology Overview & Context

White Paper IT Methodology Overview & Context White Paper IT Methodology Overview & Context IT Methodologies - Delivery Models From the inception of Information Technology (IT), organizations and people have been on a constant quest to optimize the

More information

Comparing Plan-Driven and Agile Project Approaches

Comparing Plan-Driven and Agile Project Approaches Comparing Plan-Driven and Agile Project Approaches A Personal Perspective Presented by: Craig D. Wilson Matincor, Inc. Copyright 2006-2010 2010 Outline Introduction to System Development Methodology Contrasting

More information

A Survey of Software Development Process Models in Software Engineering

A Survey of Software Development Process Models in Software Engineering , pp. 55-70 http://dx.doi.org/10.14257/ijseia.2015.9.11.05 A Survey of Software Development Process Models in Software Engineering Iqbal H. Sarker 1, Faisal Faruque 1, Ujjal Hossen 2 and Atikur Rahman

More information

15 Principles of Project Management Success

15 Principles of Project Management Success 15 Principles of Project Management Success Project management knowledge, tools and processes are not enough to make your project succeed. You need to get away from your desk and get your hands dirty.

More information

CS435: Introduction to Software Engineering! " Software Engineering: A Practitioner s Approach, 7/e " by Roger S. Pressman

CS435: Introduction to Software Engineering!  Software Engineering: A Practitioner s Approach, 7/e  by Roger S. Pressman CS435: Introduction to Software Engineering! " " " " " " " "Dr. M. Zhu! Chapter 3! Agile Development! Slide Set to accompany Software Engineering: A Practitioner s Approach, 7/e " by Roger S. Pressman

More information

INTRODUCTION. Chapter 1. 1.1 Motivation

INTRODUCTION. Chapter 1. 1.1 Motivation Chapter 1 INTRODUCTION 1.1 Motivation The success of any computer software depends on the user s satisfaction. When software fulfills the user s requirements, it succeeds but the software fails if its

More information

COMP 354 Introduction to Software Engineering

COMP 354 Introduction to Software Engineering COMP 354 Introduction to Software Engineering Greg Butler Office: EV 3.219 Computer Science and Software Engineering Concordia University, Montreal, Canada Email: gregb@cs.concordia.ca Winter 2015 Course

More information

Software Development Methodologies

Software Development Methodologies Software Development Methodologies Jonathan Hoyle Eastman Kodak Thursday, June 2, 2005 Overview Predictive Methodologies Waterfall Other Predictive Methodologies Agile Methodologies Extreme Programming

More information

The Importance of Continuous Integration for Quality Assurance Teams

The Importance of Continuous Integration for Quality Assurance Teams The Importance of Continuous Integration for Quality Assurance Teams Without proper implementation, a continuous integration system will go from a competitive advantage for a software quality assurance

More information

PRINCE2:2009 Glossary of Terms (English)

PRINCE2:2009 Glossary of Terms (English) accept (risk response) acceptance acceptance criteria activity agile methods approval approver assumption assurance A risk response to a threat where a conscious and deliberate decision is taken to retain

More information

Introduction to Agile Software Development Process. Software Development Life Cycles

Introduction to Agile Software Development Process. Software Development Life Cycles Introduction to Agile Software Development Process Presenter: Soontarin W. (Senior Software Process Specialist) Date: 24 November 2010 AGENDA Software Development Life Cycles Waterfall Model Iterative

More information

Chapter 1: Introduction to Rapid Application Development (RAD) 1. Introductions

Chapter 1: Introduction to Rapid Application Development (RAD) 1. Introductions Chapter 1: Introduction to Rapid Application Development (RAD) 1. Introductions RAD refers to a development life cycle designed to give much faster development and higher quality systems than the traditional

More information

Rapid software development. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 17 Slide 1

Rapid software development. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 17 Slide 1 Objectives To explain how an iterative, incremental development process leads to faster delivery of

More information

(Refer Slide Time: 01:52)

(Refer Slide Time: 01:52) Software Engineering Prof. N. L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture - 2 Introduction to Software Engineering Challenges, Process Models etc (Part 2) This

More information

Software Development Life Cycle

Software Development Life Cycle 4 Software Development Life Cycle M MAJOR A J O R T TOPICSO P I C S Objectives... 52 Pre-Test Questions... 52 Introduction... 53 Software Development Life Cycle Model... 53 Waterfall Life Cycle Model...

More information

Selecting a project management methodology

Selecting a project management methodology VICTORIAN GOVERNMENT CIO COUNCIL Project Management Selecting a project management methodology Guideline This guideline provides advice for selecting and tailoring a project management methodology. Keywords:

More information

Comparative Study of Agile Methods and Their Comparison with Heavyweight Methods in Indian Organizations

Comparative Study of Agile Methods and Their Comparison with Heavyweight Methods in Indian Organizations International Journal of Recent Research and Review, Vol. VI, June 2013 Comparative Study of Agile Methods and Their Comparison with Heavyweight Methods in Indian Organizations Uma Kumari 1, Abhay Upadhyaya

More information

AGILE METHODOLOGY IN SOFTWARE DEVELOPMENT

AGILE METHODOLOGY IN SOFTWARE DEVELOPMENT AGILE METHODOLOGY IN SOFTWARE DEVELOPMENT Shivangi Shandilya, Surekha Sangwan, Ritu Yadav Dept. of Computer Science Engineering Dronacharya College Of Engineering, Gurgaon Abstract- Looking at the software

More information

Information Systems Development Process (Software Development Life Cycle)

Information Systems Development Process (Software Development Life Cycle) Information Systems Development Process (Software Development Life Cycle) Phase 1 Feasibility Study Concerned with analyzing the benefits and solutions for the identified problem area Includes development

More information

Pearson Education Limited 2003

Pearson Education Limited 2003 156 Activities Activity 9.1 (PP. 357 358) [Project planning exercise] You are required to construct a project plan for the following information system development project. Your objective is to schedule

More information

Rapid Software Development

Rapid Software Development Software Engineering Rapid Software Development Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To explain how an iterative, incremental development process leads to faster delivery

More information

Agile So)ware Development

Agile So)ware Development Software Engineering Agile So)ware Development 1 Rapid software development Rapid development and delivery is now often the most important requirement for software systems Businesses operate in a fast

More information

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

Process Methodology. Wegmans Deli Kiosk. for. Version 1.0. Prepared by DELI-cious Developers. Rochester Institute of Technology Process Methodology for Wegmans Deli Kiosk Version 1.0 Prepared by DELI-cious Developers Rochester Institute of Technology September 15, 2013 1 Table of Contents 1. Process... 3 1.1 Choice... 3 1.2 Description...

More information

Agile Development and Testing Practices highlighted by the case studies as being particularly valuable from a software quality perspective

Agile Development and Testing Practices highlighted by the case studies as being particularly valuable from a software quality perspective Agile Development and Testing Practices highlighted by the case studies as being particularly valuable from a software quality perspective Iteration Advantages: bringing testing into the development life

More information

Waterfall vs. Agile Methodology

Waterfall vs. Agile Methodology 2012 Waterfall vs. Agile Methodology Mike McCormick MPCS, Inc. Revised Edition 8/9/2012 Contents Waterfall vs. Agile Model Comparison...3 Conceptual Difference...3 Efficiency...4 Suitability...4 Waterfall

More information

Agile user-centred design

Agile user-centred design Agile user-centred design Marc McNeill Thoughtworks, 9th Floor Berkshire House 168-173 High Holborn London, WC1V 7AA Agile methods are becoming increasingly common in application design, with their collaborative

More information

5/19/2014. 1 Professor Lili Saghafi

5/19/2014. 1 Professor Lili Saghafi 5/19/2014 1 Professor Lili Saghafi MANAGING INFORMATION TECHNOLOGY Lecture 9 METHODOLOGIES FOR CUSTOM SOFTWARE DEVELOPMENT By : Prof. Lili Saghafi 1-2 METHODOLOGIES FOR CUSTOM SOFTWARE DEVELOPMENT Large

More information

AGILE - QUICK GUIDE AGILE - PRIMER

AGILE - QUICK GUIDE AGILE - PRIMER AGILE - QUICK GUIDE http://www.tutorialspoint.com/agile/agile_quick_guide.htm Copyright tutorialspoint.com AGILE - PRIMER Agile is a software development methodology to build a software incrementally using

More information

Quality Assurance/Testing Services

Quality Assurance/Testing Services Quality Assurance/Testing Services Clients today are understandably cautious in their investments and incredibly focused on tangible business outcomes and results. At M4, we provide our clients with innovative

More information

Selecting a Software Development Methodology based on. Organizational Characteristics. Adrienne Farrell

Selecting a Software Development Methodology based on. Organizational Characteristics. Adrienne Farrell ATHABASCA UNIVERSITY Selecting a Software Development Methodology based on Organizational Characteristics BY Adrienne Farrell An essay submitted in partial fulfillment Of the requirements for the degree

More information

Understanding Agile Project Management

Understanding Agile Project Management Understanding Agile Project Management Author Melanie Franklin Director Agile Change Management Limited Overview This is the transcript of a webinar I recently delivered to explain in simple terms what

More information

Agile Power Tools. Author: Damon Poole, Chief Technology Officer

Agile Power Tools. Author: Damon Poole, Chief Technology Officer Agile Power Tools Best Practices of Agile Tool Users Author: Damon Poole, Chief Technology Officer Best Practices of Agile Tool Users You ve decided to transition to Agile development. Everybody has been

More information

Importance of Testing in Software Development Life Cycle

Importance of Testing in Software Development Life Cycle International Journal of Scientific & Engineering Research Volume 3, Issue 5, May-2012 1 Importance of Testing in Software Development Life Cycle T.Rajani Devi Abstract in every organization, testing is

More information

AN OVERVIEW OF SYSTEMS ANALYSIS: SYSTEMS ANALYSIS AND THE ROLE OF THE SYSTEMS ANALYST. Lecture 1. 21.10.2014, Tuesday

AN OVERVIEW OF SYSTEMS ANALYSIS: SYSTEMS ANALYSIS AND THE ROLE OF THE SYSTEMS ANALYST. Lecture 1. 21.10.2014, Tuesday AN OVERVIEW OF SYSTEMS ANALYSIS: SYSTEMS ANALYSIS AND THE ROLE OF THE SYSTEMS ANALYST Lecture 1 21.10.2014, Tuesday 2 A Series of Lectures 1.The Role of the Systems 2.Project Planning and Project Management

More information

Lasting commercial success with Agile Evolution

Lasting commercial success with Agile Evolution Turning visions into business December 2011 Lasting commercial success with Agile Evolution Malte Foegen, David Croome, Timo Foegen Scrum techniques are spreading increasingly. In many cases, they lead

More information

www.stephenbarkar.se Lean vs. Agile similarities and differences 2014-08-29 Created by Stephen Barkar - www.stephenbarkar.se

www.stephenbarkar.se Lean vs. Agile similarities and differences 2014-08-29 Created by Stephen Barkar - www.stephenbarkar.se 1 www.stephenbarkar.se Lean vs. Agile similarities and differences 2014-08-29 Purpose with the material 2 This material describes the basics of Agile and Lean and the similarities and differences between

More information

Your Software Quality is Our Business. INDEPENDENT VERIFICATION AND VALIDATION (IV&V) WHITE PAPER Prepared by Adnet, Inc.

Your Software Quality is Our Business. INDEPENDENT VERIFICATION AND VALIDATION (IV&V) WHITE PAPER Prepared by Adnet, Inc. INDEPENDENT VERIFICATION AND VALIDATION (IV&V) WHITE PAPER Prepared by Adnet, Inc. February 2013 1 Executive Summary Adnet is pleased to provide this white paper, describing our approach to performing

More information

LEAN AGILE POCKET GUIDE

LEAN AGILE POCKET GUIDE SATORI CONSULTING LEAN AGILE POCKET GUIDE Software Product Development Methodology Reference Guide PURPOSE This pocket guide serves as a reference to a family of lean agile software development methodologies

More information

SCEA 2010 EST06. Estimating Issues Associated with Agile. Bob Hunt. Galorath Incorporated

SCEA 2010 EST06. Estimating Issues Associated with Agile. Bob Hunt. Galorath Incorporated SCEA 2010 EST06 Estimating Issues Associated with Agile Development Bob Hunt Vice President, Services Galorath Incorporated What Is Agile Software Dev? In the late 1990 s several methodologies began to

More information

Adopting Agile Testing

Adopting Agile Testing Adopting Agile Testing A Borland Agile Testing White Paper August 2012 Executive Summary More and more companies are adopting Agile methods as a flexible way to introduce new software products. An important

More information

10/4/2013. Sharif University of Technology. Session # 3. Contents. Systems Analysis and Design

10/4/2013. Sharif University of Technology. Session # 3. Contents. Systems Analysis and Design Session # 3 Contents Systems Analysis and Design 2 1 Tiers of Software Development 10/4/2013 Information system development project Realistic behavior 3 Information system development project System Development

More information

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

INTERNATIONAL JOURNAL OF ADVANCES IN COMPUTING AND INFORMATION TECHNOLOGY An International online open access peer reviewed journal INTERNATIONAL JOURNAL OF ADVANCES IN COMPUTING AND INFORMATION TECHNOLOGY An International online open access peer reviewed journal Research Article ISSN 2277 9140 ABSTRACT Analysis and tabular comparison

More information

Essentials of the Quality Assurance Practice Principles of Testing Test Documentation Techniques. Target Audience: Prerequisites:

Essentials of the Quality Assurance Practice Principles of Testing Test Documentation Techniques. Target Audience: Prerequisites: Curriculum Certified Software Tester (CST) Common Body of Knowledge Control Procedures Problem Resolution Reports Requirements Test Builds Test Cases Test Execution Test Plans Test Planning Testing Concepts

More information

And the Models Are 16-03-2015. System/Software Development Life Cycle. Why Life Cycle Approach for Software?

And the Models Are 16-03-2015. System/Software Development Life Cycle. Why Life Cycle Approach for Software? System/Software Development Life Cycle Anurag Srivastava Associate Professor ABV-IIITM, Gwalior Why Life Cycle Approach for Software? Life cycle is a sequence of events or patterns that are displayed in

More information

ISTQB - Certified Tester Advanced Level - Test Manager

ISTQB - Certified Tester Advanced Level - Test Manager CTALTM - Version: 3 30 June 2016 ISTQB - Certified Tester Advanced Level - Test Manager ISTQB - Certified Tester Advanced Level - Test Manager CTALTM - Version: 3 5 days Course Description: Being a technical

More information

Prototyping and Rapid. Contents. Application Development (RAD) What is RAD. RAD - Background. Definitions Anecdotal advantages! Anecdotal problems!

Prototyping and Rapid. Contents. Application Development (RAD) What is RAD. RAD - Background. Definitions Anecdotal advantages! Anecdotal problems! Prototyping and Rapid Application Development (RAD) 2 steps forward, 1 step back? Contents Definitions Anecdotal advantages! Anecdotal problems! Jeremy Reece - School of Computing University of Wolverhampton

More information

Mature Agile with a twist of CMMI

Mature Agile with a twist of CMMI Mature Agile with a twist of CMMI Carsten Ruseng Jakobsen Systematic Software Engineering crj@systematic.dk Kent Aaron Johnson AgileDigm, Incorporated kent.johnson@agiledigm.com Abstract Systematic is

More information

Comparing Agile Software Processes Based on the Software Development Project Requirements

Comparing Agile Software Processes Based on the Software Development Project Requirements CIMCA 2008, IAWTIC 2008, and ISE 2008 Comparing Agile Software Processes Based on the Software Development Project Requirements Malik Qasaimeh, Hossein Mehrfard, Abdelwahab Hamou-Lhadj Department of Electrical

More information

Introduction. Contents. Introducing the DSDM Agile Project Framework. Introducing DSDM

Introduction. Contents. Introducing the DSDM Agile Project Framework. Introducing DSDM Contents Introduction... 2 Introducing the DSDM Agile Project Framework... 2 Introducing DSDM... 2 Introducing Scrum... 3 The DSDM Agile Project Framework for Scrum... 4 Philosophy... 4 Values... 4 Principles...

More information

The profile of your work on an Agile project will be very different. Agile projects have several things in common:

The profile of your work on an Agile project will be very different. Agile projects have several things in common: The Agile Business Analyst IT s all about being Agile? You re working as a Business Analyst in a traditional project environment, specifying the requirements for IT Developers to build. Suddenly everyone

More information

Testing, What is it Good For? Absolutely Everything!

Testing, What is it Good For? Absolutely Everything! Testing, What is it Good For? Absolutely Everything! An overview of software testing and why it s an essential step in building a good product Beth Schechner Elementool The content of this ebook is provided

More information

Nova Software Quality Assurance Process

Nova Software Quality Assurance Process Nova Software Quality Assurance Process White Paper Atlantic International Building 15F No.2 Ke Yuan Yi Road, Shiqiaopu, Chongqing, P.R.C. 400039 Tel: 86-23- 68795169 Fax: 86-23- 68795169 Quality Assurance

More information

SOFTWARE CONFIGURATION MANAGEMENT GUIDEBOOK

SOFTWARE CONFIGURATION MANAGEMENT GUIDEBOOK Office of Safety and Mission Assurance NASA-GB-9503 SOFTWARE CONFIGURATION MANAGEMENT GUIDEBOOK AUGUST 1995 National Aeronautics and Space Administration Washington, D.C. 20546 PREFACE The growth in cost

More information

Accelerating software testing effectiveness using Agile methodologies..

Accelerating software testing effectiveness using Agile methodologies.. Accelerating software testing effectiveness using Agile methodologies.. How can testing be completed faster, and more efficiently, within short iterations? The Problem It is a painful paradox that while

More information

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

Life Cycle Models. V. Paúl Pauca. CSC 331-631 Fall 2013. Department of Computer Science Wake Forest University. Object Oriented Software Engineering Life Cycle Models V. Paúl Pauca Department of Computer Science Wake Forest University CSC 331-631 Fall 2013 Software Life Cycle The overall framework in which software is conceived, developed, and maintained.

More information

RUP for Software Development Projects

RUP for Software Development Projects RUP for Software Development Projects George Merguerian www.bmc-online.com 1 Specialists in Global Project Management Brussels Frankfurt Houston Istanbul Milan Ottawa Shanghai Singapore Warsaw Washington

More information

A Capability Maturity Model (CMM)

A Capability Maturity Model (CMM) Software Development Life Cycle (SDLC) and Development Methods There are some enterprises in which a careful disorderliness is the true method. Herman Melville Capability Maturity Model (CMM) A Capability

More information

Software Configuration Management Plan

Software Configuration Management Plan For Database Applications Document ID: Version: 2.0c Planning Installation & Acceptance Integration & Test Requirements Definition Design Development 1 / 22 Copyright 2000-2005 Digital Publications LLC.

More information

Netstar Strategic Solutions Practice Development Methodology

Netstar Strategic Solutions Practice Development Methodology Netstar Strategic Solutions Practice Development Methodology Netstar Corporation Abstract This document contains a high level description of the development methodology used by the Netstar Strategic Solutions

More information

Project Management: Back to Basics

Project Management: Back to Basics About this research note: Technology Insight notes describe emerging technologies, tools, or processes as well as analyze the tactical and strategic impact they will have on the enterprise. Project Management:

More information

Basic Trends of Modern Software Development

Basic Trends of Modern Software Development DITF LDI Lietišķo datorsistēmu programmatūras profesora grupa e-business Solutions Basic Trends of Modern Software Development 2 3 Software Engineering FAQ What is software engineering? An engineering

More information

THE PATH TO AGILE LOCALIZATION

THE PATH TO AGILE LOCALIZATION THE PATH TO AGILE LOCALIZATION LINGOPORT RESOURCE MANAGER A Lingoport White Paper Authored by Richard Sikes Localization Flow Technologies www.lingoport.com TABLE OF CONTENTS Does Agile Development = Fragile

More information

Basic Unified Process: A Process for Small and Agile Projects

Basic Unified Process: A Process for Small and Agile Projects Basic Unified Process: A Process for Small and Agile Projects Ricardo Balduino - Rational Unified Process Content Developer, IBM Introduction Small projects have different process needs than larger projects.

More information

Chapter 13 BUILDING INFORMATION SYSTEMS. How does building new systems produce organizational change?

Chapter 13 BUILDING INFORMATION SYSTEMS. How does building new systems produce organizational change? MANAGING THE DIGITAL FIRM, 12 TH EDITION Learning Objectives Chapter 13 BUILDING INFORMATION SYSTEMS VIDEO CASES Case 1: IBM: Business Process Management in a Service Oriented Architecture and Managing

More information

Clinical Risk Management: Agile Development Implementation Guidance

Clinical Risk Management: Agile Development Implementation Guidance Document filename: Directorate / Programme Document Reference NPFIT-FNT-TO-TOCLNSA-1306.02 CRM Agile Development Implementation Guidance v1.0 Solution Design Standards and Assurance Project Clinical Risk

More information

ájoƒ ùdg á«hô dg áµلªÿg Yesser Overall SDLC Process Definition

ájoƒ ùdg á«hô dg áµلªÿg Yesser Overall SDLC Process Definition ájoƒ ùdg á«hô dg áµلªÿg Yesser Overall SDLC Process Definition Version 0.6 - Page 3 / 43 Table of Contents 1. Process Introduction... 5 1.1. Process Scope... 5 1.2. Process Objectives and Benefits... 5

More information

Contracting for Agile Software Projects

Contracting for Agile Software Projects Contracting for Agile Software Projects Author: Peter Stevens As a customer or supplier of software services at the beginning of a Software Development Project, you know that there is too much at stake

More information

Learn Agile Project Management In 60 Minutes Flat! Agile Project Management Overview. Agile Project Management

Learn Agile Project Management In 60 Minutes Flat! Agile Project Management Overview. Agile Project Management Learn Agile Project Management In 60 Minutes Flat! Agile Project Management Overview Agile Project Management Copyright Copyright 2013 by David Geoffrey Litten Cover and internal design David Geoffrey

More information

Introduction to OpenUP (Open Unified Process)

Introduction to OpenUP (Open Unified Process) Introduction to OpenUP (Open Unified Process) Different projects have different process needs. Typical factors dictate the needs for a more formal or agile process, such as team size and location, architecture

More information

Who Doesn t Want to be Agile? By: Steve Dine President, Datasource Consulting, LLC 7/10/2008

Who Doesn t Want to be Agile? By: Steve Dine President, Datasource Consulting, LLC 7/10/2008 Who Doesn t Want to be Agile? By: Steve Dine President, Datasource Consulting, LLC 7/10/2008 Who wants to be involved in a BI project or program that is labeled slow or inflexible? While I don t believe

More information

Introduction... 2 Introducing the DSDM Agile Project Framework (AgilePF)...2 Introducing DSDM...2 Introducing Scrum...3

Introduction... 2 Introducing the DSDM Agile Project Framework (AgilePF)...2 Introducing DSDM...2 Introducing Scrum...3 Contents Introduction... 2 Introducing the DSDM Agile Project Framework (AgilePF)...2 Introducing DSDM...2 Introducing Scrum...3 AgilePF for Scrum... 4 Philosophy...4 Agile Values...4 Principles...5 Variables...8

More information

Location including building: University wide (Lansdowne Campus/Talbot Campus)

Location including building: University wide (Lansdowne Campus/Talbot Campus) Job Description Post/Job Title: Principal Test Analyst Post holder: Ref: School/Support Service: Group/Section: ITS62 IT Services IT Test Team - Governance Location including building: University wide

More information

Alternative Development Methodologies

Alternative Development Methodologies Alternative Development Methodologies The Software Development Process described in the course notes and lecture is a generalized process that been in use for decades. Over this time, scholars in the IT

More information

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

A Comparative Study of Different Software Development Life Cycle Models in Different Scenarios ISSN: 2321-7782 (Online) Volume 1, Issue 5, October 2013 International Journal of Advance Research in Computer Science and Management Studies Research Paper Available online at: www.ijarcsms.com A Comparative

More information

Agile Techniques and Tools. White Paper

Agile Techniques and Tools. White Paper Agile Techniques and Tools White Paper Agile Techniques and Tools Synopsis This section provides an overview of a number of techniques and tools that are commonly used by agile development teams. These

More information

Software Development Life Cycle (SDLC)

Software Development Life Cycle (SDLC) Software Development Life Cycle (SDLC) Supriyo Bhattacharjee MOF Capability Maturity Model (CMM) A bench-mark for measuring the maturity of an organization s software process CMM defines 5 levels of process

More information

CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)

CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS) CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS) Prescriptive Process Model Defines a distinct set of activities, actions, tasks, milestones, and work products that are required to engineer high quality

More information

Automated Testing Best Practices

Automated Testing Best Practices Automated Testing Best Practices This document includes best practices to consider before implementing automated software testing. These best practices are strategic and are applicable regardless of the

More information

WHITEPAPER. Delivering More Rigorous Testing of Software Systems to Banks and Financial Institutions. Overview

WHITEPAPER. Delivering More Rigorous Testing of Software Systems to Banks and Financial Institutions. Overview WHITEPAPER Delivering More Rigorous Testing of Software Systems to Banks and Financial Institutions Overview Today, IT is critical to all business segments. Now, most IT departments are feeling the pressure

More information

DSDM DSDM. CONSORTiUM. CONSORTiUM. AgileBA. The Handbook for Business Analysts. Extract The Requirements Lifecycle In An Agile Project. www.dsdm.

DSDM DSDM. CONSORTiUM. CONSORTiUM. AgileBA. The Handbook for Business Analysts. Extract The Requirements Lifecycle In An Agile Project. www.dsdm. DSDM CONSORTiUM DSDM CONSORTiUM AgileBA The Handbook for Business Analysts Extract The Lifecycle In An Agile Project www.dsdm.org This Extract from AgileBA, The Lifecycle in an Agile Project, is based

More information

Achieving ISO 9001 Certification for an XP Company

Achieving ISO 9001 Certification for an XP Company Achieving ISO 9001 Certification for an XP Company Graham Wright Development Team Coach Workshare 20 Fashion Street London, E1 6PX (44) 020 7539 1361 graham.wright@workshare.com Abstract It is generally

More information

Manoo Ordeedolchest Chairman ICT Policy Committee Sripatum University Microsoft Software Development Life Cycle Management of Enterprise June 5, 2007

Manoo Ordeedolchest Chairman ICT Policy Committee Sripatum University Microsoft Software Development Life Cycle Management of Enterprise June 5, 2007 Manoo Ordeedolchest Chairman ICT Policy Committee Sripatum University Microsoft Software Development Life Cycle Management of Enterprise June 5, 2007 New ICT technologies makes software development more

More information