PERFORMANCE ENGINEERING IN SCRUM

Size: px
Start display at page:

Download "PERFORMANCE ENGINEERING IN SCRUM"

Transcription

1 PERFORMANCE ENGINEERING IN SCRUM Balasubramanian, Infosys Technologies Limited This paper describes how performance engineering as a software discipline should be planned and executed in an agile development cycle. The intention of this paper is not to explain in detail the agile methodology or Performance engineering, even though it provides a high level description of the same. It is expected that the readers have a basic understanding of agile methodologies and performance engineering. Introduction Agile as a software development methodology is fast becoming a popular approach due to its ability to react to business changes. While there are still fears about adopting an agile approach to software development, the industry is clearly seeing a rise in agile adoption. Every year, thousands of dollars are being spent to fix poorly performing applications. This has made the software industry to relook at the way performance engineering is executed. A more proactive approach to architect and design for performance is now planned than a reactive post-mortem like approach. There needs to be a clear direction in identifying the various activities of performance engineering and executing them in logical sequence during an agile development process. This paper aims at suggesting one such approach by indicating various performance engineering activities across an agile development process. Overview of Agile Traditionally software has been developed using a waterfall approach. While this suited the initial days, as business complications grew and demand for time to market increased, waterfall model did not deliver the required results. Agile methodology was born out the need to respond to rapidly changing business requirements and deliver increments of shippable application with time to market as the primary focus. In the book, Lean Software Development: An Agile Toolkit for Software Development Managers", Mary and Tom Poppendieck bring out the concept of eliminating waste in software projects. Agile as a methodology constantly looks at engaging the customer to prioritize scenarios that should be developed in each cycle, so as to eliminate waste. There have been many flavors of Agile developed over the past years. Agile Modeling, Scrum, Extreme Programming (XP) and Agile Unified Process (AUP) are some of the well known Agile Methodologies. For the context of this paper, we will analyze how performance engineering activities can be planned within a Scrum project cycle. Scrum An Agile Methodology Scrum A term derived from the game rugby, indicates a methodology of using small cross functional teams to deliver shippable software using cycles called sprints. This approach was described initially by Takeuchi and Nonaka, in the year 1986, and has been evolved into a widely practiced agile methodology.

2 Figure 1: SCRUM Methodology The cores of the process are the sprints which are typically a day period where the development team focuses on producing production ready software. The various phases of a scrum project are explained in the sections below. Planning and System Architecture Every Scrum project typically begins with this phase. Some of the activities in this phase are Understanding the requirements Developing the comprehensive list of backlog Risk Assessment Develop system architecture Review architecture and develop high level design Sprints The goal of sprints is to develop shippable, production-quality application. Typically, there would be representation of all the activities of the SDLC lifecycle in each sprint. Note: It is not necessary that all sprints should have software as its deliverable. There are instances where a sprint would develop documentation like test scripts, user documentation etc. Closure This phase provides the team with the opportunity to view the complete application and have all sign off activities. A deep dive session into learning is also done during this phase. Overview of Performance Engineering Traditionally every software application has been tested and validated against the functional requirements. As we integrate more systems that are on various platforms, realized in various programming languages to serve a common need, we have built applications that are huge, that communicates across various layers and protocols. Performance Engineering is the discipline of SDLC that focuses on ensuring that applications are architected, designed, built and tested for performance. Performance engineering does not just involve reactive approaches like tuning, but focuses heavily on designing the application to deliver on SLA s. A typical performance engineering activity would include Collecting and validating the non functional requirements Developing the required models for analysis Developing a performance test strategy Reviewing the architecture and application code to ensure compliance to performance best practices Reviewing the deployment of the application, and For pre-existing applications, reviewing the design and code to suggest appropriate tuning activities Why do we need Performance Engineering in SCRUM? Performance Engineering is an important activity for projects executed using any methodology. It

3 becomes more critical for projects using SCRUM or any other agile methodology because of the following reasons Immediate feedback about system performance in each sprint Delivering production quality software during each sprint continuously is the crux of Scrum. In such a scenario, it is important to be able to receive feedback about the performance of the system as they are incrementally built in each sprint. It is a well known fact that the later issues are found, the costlier it is to fix them. It is easy to develop a false impression about performance Usually functional testing happens in a scaled down version of the environment with scaled down data. Clearly, performance is not the focus here and is normally ignored. This leads to the false impression that the application is performing well or will perform well. Also, in an agile methodology, functionalities and hence application code piles up with each cycle, and this leads to poorly performing code being injected into the system. What is more dangerous is the fact that it goes unnoticed. Refactoring may introduce code that performs poorly Evolving and fine tuning design is an inherent part of scrum. This leads to refactoring both framework components and application code. There might be instances when such refactoring can inject code that performs poorly. The goal is shippable, production quality code It is stressed enough that the every scrum works towards delivering a production quality application. Meeting the Quality of Service requirements is an absolute must for an application to be deemed production ready. Performance engineering ensures that an application is designed, built and validated against the required Quality of Service requirements. Hence the need for performance engineering is inherently built into Scrum. Performance Engineering Processes in Scrum This section will suggest various performance engineering activities that should be planned for and executed in the stages of scrum lifecycle. Planning System Architecture Sprints Closure Understand and Validate NFR s Architecture Assessment The NFR Viewpoint Identify and Plan Performance Tests Performance Test Strategy Identify bottlenecks and fix performance issues Setup Performance Monitoring Systems Identify Performance engineering activities in product backlog Review Design and code Figure 2: Performance Engineering In SCRUM

4 Planning Stage This phase involves understanding the requirements, and planning for the sprints ahead. The various performance engineering activities that should be planned during this phase are listed and explained below Use cases and Performance Assigning performance requirements to use cases will enable architects to understand the performance needs of various areas of the application from a functional perspective. This approach could also aid in obtaining sign off s on various use cases on Quality of Service requirements. Understand and validate Non Functional Requirements This is an area everyone would agree is important and critical, but is the one often missed or partly done due to various constraints. Efforts spent here will help the team to validate the performance requirements and be realistic about it. Performance Test Strategy It is important to define the test strategy, which will include details like Scope of Performance Testing Infrastructure needs Methodology used for testing Workload characteristics used for testing What are the tool requirements and licensing cost? What are the metrics that are captured? How will the results be shared? Identify Performance engineering activities in product backlog While we are identifying feature lists for the product backlog, it is also important to identify the various performance engineering activities like workload modeling, performance testing, performance assessment etc. Many a times these activities are inherently assumed and not planned, resulting in insufficient planning and poor execution. System Architecture Phase Defining architecture for the system determines the success of the code to meet the requirements. While there has been a lot of focus on validating the architecture for the various functional and business requirements, it is sad that reviewing architecture for NFR s is not planned as a matter of priority. Architecture Assessment The Performance viewpoint Every software development project should undergo an architecture assessment. It is more important in an agile methodology, as the inherent nature of the model is dynamic and having an architecture that meets the requirements will enhance the success of the project. During the architecture definition stage, most often than not, we perform a qualitative assessment of the architecture. Such assessments help understand how the various quality of service requirements like performance are addressed in the architecture. Some of the well known assessment methodologies are Architecture Tradeoff Analysis Method Cost Benefit Analysis Method Active Reviews for Intermediate Design Architecture reviews conducted at this stage will provide us with areas of architecture that have to be modified / updated to achieve better performance. It should be ensured that the architecture is updated and bought to an agreeable shape before the sprints could begin. The above step is critical as any significant changes to the architecture during the sprints will adversely affect the progress.

5 Sprints Sprints are the building blocks of any scrum methodology. Shippable, production quality software are developed, tested and deployed during each sprint. A strict control on Quality of Service parameters during the sprints will ensure that the application meets the Quality of Service requirements. Code right Every application development uses coding nest practices that talks about naming conventions, usage of proper headers, commenting guidelines etc. It is very unusual to find coding guidelines that talks about coding right to achieve good performance. Normally it is expected and left to the developer to know how to write good performing code. Effort spent during the construction period to emphasize and follow good coding practices will go a long way in saving time and effort in fixing performance issues in later sprints. Create Performance Unit tests Unit tests normally test functionality and business rules. Developers should write unit tests that tests the performance of the application developed in a sprint. Combined with the performance numbers from the use cases, performance unit tests can give a clear indication of the application meeting the performance requirements. It is important to note that architecture and design would evolve during the initial sprints. Hence, there is a minimal benefit in practicing unit level performance testing. As the sprints become longer, which is a sign of the maturity of the application, we should focus on unit level performance testing. Until then performance should be measured at a system level. Review Design and Code There should be a constant endeavor to review the design and code during the sprints for existing and potential performance issues. Automating code review using tools like FxCop, which has rule sets to identify performance issues can be used to expedite the process. With this iterative and consistent approach to identifying and fixing performance issues, there is a continuous improvement to the quality of code. Identify and Automate Performance Tests The team identifies and closes on the list of features that will be implemented during each sprint. During this process, we should also plan for conducting the performance test for the features that have been implemented. As a best practice, we should identify the list of features for performance testing a sprint ahead. This will aid the team in automating the performance tests that can be used in the subsequent sprint. Automation of tests is mandatory as manual effort will lead to delays and errors, which will prove costly in a time-boxed sprint. Figure 3: Performance test planning in SCRUM Identify bottlenecks and fix performance issues Every performance test is executed with the focus of identifying bottlenecks in the application. Fixing

6 the bottlenecks should be done during the course of each sprint, so as not to pile up the issues and buggy code which leads to performance issues. Performance issues discovered during a sprint should be planned as features that should be implemented during subsequent sprints. Figure 4: Plan on fixing performance issues in subsequent sprints Performance Engineering Sprint Initial sprints will witness an evolution of architecture and design. There will be changes to the functionality and refactoring to the application code. As the sprints become more mature, which are characterizes by their longer duration, we should consider on planning a parallel sprint for performance engineering activities. We can also consider a parallel performance engineering sprint for every 2-3 normal sprints, so as to have a considerable functionality implemented for performance testing and assessment. By being a parallel, independent sprint, a performance engineering sprint does not affect the progress of the application development. Also, it provides an isolated environment for the performance engineering team to analyze the application performance. Activities like performance testing, performance assessment, capacity projection can be carried out in this sprint. Closure This phase involves deploying the complete application in the production environment, and obtaining sign off s from the stakeholders. Setup Performance Monitoring Systems The team should plan on using systems and tools to monitor and report performance issues, so that they can be resolved quickly. Challenges in Executing Performance Engineering in SCRUM Implementing performance engineering processes in scrum has its set of challenges. This section explores them and suggests ways to solve them. Engaging the customer Being qualitative rather than quantitative This has been the challenge with any agile methodology and it just gets bigger with integrating performance engineering. It is usual for customers to expect the applications to be extremely quick and respond well. It is a challenge to engage stakeholders to arrive at a qualitative number rather than being quantitative. Project teams use questionnaires, analyze logs, and create workload models to validate performance requirements to arrive at a realistic goal. Automate tests Manual is not on Advantages of automation are well known, and so are the challenges associated with it. Identification of the right tools for automation and having the right skilled team are essential for effectively practicing performance engineering in a scrum model. Estimating for that additional time for automation and procuring licenses for various toolsets are an

7 important investment which will bear results on the long run. Mindset The toughest nut! While the concept of adapting full fledged performance engineering in a software development lifecycle is still catching on, there might be resistance in following it in agile development. Ideas such as associating performance numbers to use cases and writing performance unit tests are new to the industry and a change in the mindset is needed to ensure that it works. References Agile Software Development - Performance Engineering - SCRUM Development Process Ken Schwaber Realizing Continuous Performance - Management Best Practices Documentation Steve Haines

PLM - Agile. Design Code Test. Sprints 1, 2, 3, 4.. Define requirements, perform system design, develop and test the system. Updated Project Plan

PLM - Agile. Design Code Test. Sprints 1, 2, 3, 4.. Define requirements, perform system design, develop and test the system. Updated Project Plan PLM - Agile Agile Development Evolved in the 1990s as a response to heavyweight methodologies. In 2001 representatives of various new methodologies met to discuss the need for lighter alternatives. The

More information

Would you like to have a process that unlocks ability to learn and produce faster?

Would you like to have a process that unlocks ability to learn and produce faster? Would you like to have a process that unlocks ability to learn and produce faster? Agile - your unfair advantage in the competition. BUILD LEARN MEASURE DEFINED MEASURABLE REPEATABLE COLLABORATIVE IMPROVABLE

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

Measuring ROI of Agile Transformation

Measuring ROI of Agile Transformation Measuring ROI of Agile Transformation Title of the Paper: Measuring Return on Investment (ROI) of Agile Transformation Theme: Strategic & Innovative Practices Portfolio, Programs & Project (PPP) Management

More information

Is PRINCE 2 Still Valuable in an Agile Environment?

Is PRINCE 2 Still Valuable in an Agile Environment? Is PRINCE 2 Still Valuable in an Agile Environment? Amy Hongying Zhao Introduction Over the years, many organizations have invested heavily in creating or deploying project management frameworks. PRINCE

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

Issues in Internet Design and Development

Issues in Internet Design and Development Issues in Internet Design and Development Course of Instructions on Issues in Internet Design and Development Week-2 Agile Methods Saad Bin Saleem PhD Candidate (Software Engineering) Users.mct.open.ac.uk/sbs85

More information

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

EMC PERSPECTIVE. Adopting an Agile Approach to OSS/BSS Development EMC PERSPECTIVE Adopting an Agile Approach to OSS/BSS Development Reader ROI The agile software methodology is different from the traditional approach in that requirements gathering and analysis, design,

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

Build Your Project Using Scrum Methodology #3 of a Series, by Pavan Kumar Gorakavi, M.S., M.B.A, G.M.C.P, C.A.P.M.

Build Your Project Using Scrum Methodology #3 of a Series, by Pavan Kumar Gorakavi, M.S., M.B.A, G.M.C.P, C.A.P.M. Build Your Project Using Scrum Methodology #3 of a Series, by Pavan Kumar Gorakavi, M.S., M.B.A, G.M.C.P, C.A.P.M. 1. What is Scrum Methodology? Scrum is an innovative software agile methodology that has

More information

When is Agile the Best Project Management Method? Lana Tylka

When is Agile the Best Project Management Method? Lana Tylka When is Agile the Best Project Management Method? Lana Tylka Staged Incremental Deliveries Prototypes Plan Develop Design Deploy Test Maintain Sequential Steps Multiple Iterations Waterfall Sprints, Spirals

More information

No one has to change. Survival is optional. - W. Edwards Deming - Continue your Beyond Budgeting Journey with help from Agile, Lean and Scrum

No one has to change. Survival is optional. - W. Edwards Deming - Continue your Beyond Budgeting Journey with help from Agile, Lean and Scrum No one has to change. Survival is optional. - W. Edwards Deming - Continue your Beyond Budgeting Journey with help from Agile, Lean and Helge Eikeland, Statoil, October 2010 Today s challenge is complexity

More information

Agile Scrum Workshop

Agile Scrum Workshop Agile Scrum Workshop What is agile and scrum? Agile meaning: Able to move quickly and easily. Scrum meaning: a Rugby play Agile Scrum: It is an iterative and incremental agile software development framework

More information

Applying Lean on Agile Scrum Development Methodology

Applying Lean on Agile Scrum Development Methodology ISSN:2320-0790 Applying Lean on Agile Scrum Development Methodology SurendRaj Dharmapal, Dr. K. Thirunadana Sikamani Department of Computer Science, St. Peter University St. Peter s College of Engineering

More information

Quality Assurance in an Agile Environment

Quality Assurance in an Agile Environment Quality Assurance in an Agile Environment 1 Discussion Topic The Agile Movement Transition of QA practice and methods to Agile from Traditional Scrum and QA Recap Open Discussion www.emids.com 2 What is

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

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

Agile with XP and Scrum

Agile with XP and Scrum Agile with XP and Scrum Amit Goel National Agile Software Workshop @ Indore Agile India Conference Agile Software Community of India Disclaimer and Credits Most of material in this presentation has been

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

Iteration Planning. also called Iteration Kickoff

Iteration Planning. also called Iteration Kickoff Agile Practices also called Iteration Kickoff Iteration Planning Purpose: Discuss detailed requirements of the stories to be built in the iteration. Review and refine the acceptance criteria for each story

More information

WE ARE FOCUSED ON HELPING OUR CLIENTS WORK SMARTER AND MORE EFFICIENTLY SO THAT TOGETHER, WE CAN EMPOWER PEOPLE TO DELIVER GREAT RESULTS.

WE ARE FOCUSED ON HELPING OUR CLIENTS WORK SMARTER AND MORE EFFICIENTLY SO THAT TOGETHER, WE CAN EMPOWER PEOPLE TO DELIVER GREAT RESULTS. WE ARE FOCUSED ON HELPING OUR CLIENTS WORK SMARTER AND MORE EFFICIENTLY SO THAT TOGETHER, WE CAN EMPOWER PEOPLE TO DELIVER GREAT RESULTS. We believe that people working towards common goals are capable

More information

SCRUM BODY OF KNOWLEDGE (SBOK Guide)

SCRUM BODY OF KNOWLEDGE (SBOK Guide) A Guide to the SCRUM BODY OF KNOWLEDGE (SBOK Guide) 2013 Edition A Comprehensive Guide to Deliver Projects using Scrum TABLE OF CONTENTS TABLE OF CONTENTS 1. INTRODUCTION... 1 1.1 Overview of Scrum...

More information

Agile Development Overview

Agile Development Overview Presented by Jennifer Bleen, PMP Project Services Practice of Cardinal Solutions Group, Inc. Contact: Agile Manifesto We are uncovering better ways of developing software by doing it and helping others

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

D25-2. Agile and Scrum Introduction

D25-2. Agile and Scrum Introduction D25-2 Agile and Scrum Introduction How to Use this Download This download is an overview of a discussion Intertech has with clients on Agile/Scrum This download has an overview of Agile, an overview of

More information

Scrum Methodology in Product Testing : A Practical Approach

Scrum Methodology in Product Testing : A Practical Approach Scrum Methodology in Product Testing : A Practical Approach Suman Kumar Kanth Sumankumar_kanth@infosys.com Mobile: +91 9937285725 Infosys Technologies Limited Proceedings for the session 1. Challenges

More information

Nexus Guide. The Definitive Guide to Nexus: The exoskeleton of scaled Scrum development. Developed and sustained by Ken Schwaber and Scrum.

Nexus Guide. The Definitive Guide to Nexus: The exoskeleton of scaled Scrum development. Developed and sustained by Ken Schwaber and Scrum. Nexus Guide The Definitive Guide to Nexus: The exoskeleton of scaled Scrum development Developed and sustained by Ken Schwaber and Scrum.org August 2015 Table of Contents Nexus Overview... 2 Purpose of

More information

How Agile methods resolve chaos and unpredictability in software projects

How Agile methods resolve chaos and unpredictability in software projects WHITE PAPER How Agile methods resolve chaos and unpredictability in software projects Author: Jack Milunsky Scrum Master and COO Brighstpark3 January 2009 INTRODUCTION This paper attempts to show why an

More information

Table of contents. Performance testing in Agile environments. Deliver quality software in less time. Business white paper

Table of contents. Performance testing in Agile environments. Deliver quality software in less time. Business white paper Performance testing in Agile environments Deliver quality software in less time Business white paper Table of contents Executive summary... 2 Why Agile? And, why now?... 2 Incorporating performance testing

More information

Methodology: Agile development of safety critical systems Annex D1.1.d to deliverable D1.1

Methodology: Agile development of safety critical systems Annex D1.1.d to deliverable D1.1 Collaborative Large scale Integrating Project Open Platform for EvolutioNary Certification Of Safety critical Systems Methodology: Agile development of safety critical systems to deliverable D1.1 Work

More information

Water-Scrum-Fall Agile Reality for Large Organisations. By Manav Mehan Principal Agile consultant Manav.Mehan@tcs.com

Water-Scrum-Fall Agile Reality for Large Organisations. By Manav Mehan Principal Agile consultant Manav.Mehan@tcs.com Water-Scrum-Fall Agile Reality for Large Organisations By Manav Mehan Principal Agile consultant Manav.Mehan@tcs.com Interests and Experience Leading Change and Transformation in Large, Complex organisations

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

White Paper. Fundamentals of Performance Testing

White Paper. Fundamentals of Performance Testing etri White Paper Fundamentals of Performance Testing The Increasing Need for Proper Performance Testing due to Increasing Software Complexity in the Enterprise There have been two significant changes in

More information

Certified ScrumMaster (CSM) Content Outline and Learning Objectives January 2012

Certified ScrumMaster (CSM) Content Outline and Learning Objectives January 2012 Certified ScrumMaster (CSM) Content Outline and Learning Objectives January 2012 The following pages present the CSM taxonomy as validated through the 2011 Scrum Alliance Validation Study. Each percentage

More information

Extreme programming (XP) is an engineering methodology consisting of practices that ensure top-quality, focused code. XP begins with four values:

Extreme programming (XP) is an engineering methodology consisting of practices that ensure top-quality, focused code. XP begins with four values: Scrum with XP By Kane Mar, Ken Schwaber. Introduction Scrum and extreme programming (XP) are both Agile methodologies. We've heard controversy regarding the value of each, with people familiar with each

More information

Certified ScrumMaster (CSM) Content Outline and Learning Objectives January 2012

Certified ScrumMaster (CSM) Content Outline and Learning Objectives January 2012 Certified ScrumMaster (CSM) Content Outline and Learning Objectives January 2012 The following pages present the CSM taxonomy as validated through the 2011 Scrum Alliance Validation Study. Total questions

More information

SmartBear Software Pragmatic Agile Development (PAD) Conceptual Framework

SmartBear Software Pragmatic Agile Development (PAD) Conceptual Framework Pragmatic Agile Development (PAD) Conceptual Framework This document describes the Pragmatic Agile Development framework, a Scrum based development process. SmartBear Software 3/10/2010 Pragmatic Agile

More information

Lean Software Development and Kanban

Lean Software Development and Kanban 1 of 7 10.04.2013 21:30 Lean Software Development and Kanban Learning Objectives After completing this topic, you should be able to recognize the seven principles of lean software development identify

More information

SCALING AGILE. minutes

SCALING AGILE. minutes SCALING AGILE in 5 minutes THREE AGILE COMPANIES Basement Apps Ltd is having unexpected success with a social media app for musicians. Software Supply Ltd needs more diverse development teams as the company

More information

Selecting a Development Process. Agenda

Selecting a Development Process. Agenda Selecting a Development Process Mike Cohn Founder Mountain Goat Software Boulder, CO mike@mountaingoatsoftware.com Agenda The processes Team Software Process Scrum Extreme Programming The Unified Process

More information

The Co-Evolution of Agile and Continuous Integration. Jeffrey Fredrick Technical Evangelist jtf@urbancode.com

The Co-Evolution of Agile and Continuous Integration. Jeffrey Fredrick Technical Evangelist jtf@urbancode.com The Co-Evolution of Agile and Continuous Integration Jeffrey Fredrick Technical Evangelist jtf@urbancode.com 1 Manifesto for Agile Software Development We are uncovering better ways of developing software

More information

Agile Software Development

Agile Software Development Agile Software Development Application in the Medical Device Industry Kelly Weyrauch Medtronic, Inc. (29 April 2008) Introduction Purpose Provide an introduction to Agile Software Development as it applies

More information

AGILE SOFTWARE DEVELOPMENT. BY Sysop Technology Aurangabad-431003

AGILE SOFTWARE DEVELOPMENT. BY Sysop Technology Aurangabad-431003 AGILE SOFTWARE DEVELOPMENT BY Sysop Technology Aurangabad-431003 Abstract: Software development which can be delivered fast, quick adaptation to requirements and collecting feed back on required information.

More information

An Overview of Quality Assurance Practices in Agile Methodologies

An Overview of Quality Assurance Practices in Agile Methodologies T-76.650 SEMINAR IN SOFTWARE ENGINEERING, SPRING 2004 1 An Overview of Quality Assurance Practices in Agile Methodologies Olli P. Timperi Abstract The focus of literature and debates of agile methodologies

More information

Atern The latest version of the DSDM approach which makes DSDM appropriate to all types of project.

Atern The latest version of the DSDM approach which makes DSDM appropriate to all types of project. THE AGILE PROJECT LEADER S DICTIONARY This dictionary attempts to de-mystify the jargon around the world of Agile projects. Part 1 translates common Agile terms into more traditional words. Part 2 translates

More information

Agile and Secure: Can We Be Both?

Agile and Secure: Can We Be Both? Agile and Secure: Can We Be Both? OWASP AppSec Seattle Oct 2006 Keith Landrus Director of Technology Denim Group Ltd. keith.landrus@denimgroup.com (210) 572-4400 Copyright 2006 - The OWASP Foundation Permission

More information

Software Development Methodologies

Software Development Methodologies Software Development Methodologies Lecturer: Raman Ramsin Lecture 9 Agile Methodologies: Scrum 1 Scrum First mentioned as a development method in 1986, referring to a fast and flexible product development

More information

Agile and Secure Can We Be Both? Chicago OWASP. June 20 th, 2007

Agile and Secure Can We Be Both? Chicago OWASP. June 20 th, 2007 Agile and Secure Can We Be Both? Chicago OWASP June 20 th, 2007 The Agile Practitioner s Dilemma Agile Forces: Be more responsive to business concerns Increase the frequency of stable releases Decrease

More information

BCS Foundation Certificate in Agile Syllabus

BCS Foundation Certificate in Agile Syllabus BCS Foundation Certificate in Agile Syllabus Version 1.5 March 2015 Change History Any changes made to the syllabus shall be clearly documented with a change history log. This shall include the latest

More information

Scrum. SE Presentation. Anurag Dodeja Spring 2010

Scrum. SE Presentation. Anurag Dodeja Spring 2010 Scrum SE Presentation by Anurag Dodeja Spring 2010 What is Scrum? Scrum is an agile software development framework. Work is structured in cycles of work called sprints, iterations of work that are typically

More information

Akhil Kumar 1, Bindu Goel 2

Akhil Kumar 1, Bindu Goel 2 Factors Influencing Agile Practices: A Survey Akhil Kumar 1, Bindu Goel 2 1 (University School of Information Technology, GGS Indraprastha University, New Delhi-110075) 2 (University School of Information

More information

A Glossary of Scrum / Agile Terms

A Glossary of Scrum / Agile Terms A Glossary of Scrum / Agile Terms Acceptance Criteria: Details that indicate the scope of a user story and help the team and product owner determine done-ness. Agile: the name coined for the wider set

More information

SECC Agile Foundation Certificate Examination Handbook

SECC Agile Foundation Certificate Examination Handbook Versions 2.0 Version Date Remarks 1.0 12/4/2012 Initial version 2.0 3/8/2008 REVISION HISTORY Updated knowledge areas Added questions examples Updated suggested readings section Page 2 of 15 Version 2.0

More information

Agile Project Management

Agile Project Management Agile Project Management Overview Fabrizio Morando Application Development Manager martedì 20 novembre 2012 What is Agile? Agile is used to denote the ability of Agile Methods to respond to changing requirement

More information

"Bezpieczny Projekt"

Bezpieczny Projekt Konferencja "Bezpieczny Projekt" Wrocław 22 czerwca 2010 www.omec.pl Software Development with Agile SCRUM Chandrashekhar Kachole 22 nd of June 2010 1 Let s keep the cell phones in Silent mode 2 Agenda

More information

The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into

The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material,

More information

The Agile Manifesto is based on 12 principles:

The Agile Manifesto is based on 12 principles: The Agile Manifesto is based on 12 principles: Customer satisfaction by rapid delivery of a useful product solution Welcome changing requirements, even late in development Working products are delivered

More information

Successfully Scaling an Agile Innovation Culture with Perforce

Successfully Scaling an Agile Innovation Culture with Perforce Successfully Scaling an Agile Innovation Culture with Perforce Steve Greene VP, Program Management Salesforce.com Mike Saha Sr. Manager, Release Engineering Salesforce.com Safe Harbor Safe harbor statement

More information

CSPO Learning Objectives Preamble. Scrum Basics

CSPO Learning Objectives Preamble. Scrum Basics CSPO Learning Objectives Preamble This document contains topics for the Certified Scrum Product Owner (CSPO) training course. The purpose of this document is to describe the minimum set of concepts and

More information

Software Development Methodologies in Industry. By: Ahmad Deeb

Software Development Methodologies in Industry. By: Ahmad Deeb Software Development Methodologies in Industry By: Ahmad Deeb Methodologies Software Development Methodologies in Industry Presentation outline SDM definition Project and analysis approach Research methods

More information

Software Development Process

Software Development Process Software Development Process A software development process, also known as software development lifecycle, is a structure imposed on the development of a software product. Similar terms include software

More information

IT Operations Management: A Service Delivery Primer

IT Operations Management: A Service Delivery Primer IT Operations Management: A Service Delivery Primer Agile Service Delivery Creates Business Value Today, IT has to innovate at an ever- increasing pace to meet accelerating business demands. Rapid service

More information

Agile Notetaker & Scrum Reference. Designed by Axosoft, the creators of OnTime the #1 selling scrum software.

Agile Notetaker & Scrum Reference. Designed by Axosoft, the creators of OnTime the #1 selling scrum software. Agile Notetaker & Scrum Reference Designed by Axosoft, the creators of OnTime the #1 selling scrum software. Scrum Diagram: Team Roles: roduct Owner: Is responsible for what goes into the product backlog

More information

Agile Methodologies and Its Processes

Agile Methodologies and Its Processes International Journal of Computational Engineering Research Vol, 03 Issue, 9 Agile Methodologies and Its Processes 1, Akanksha, 2, Akansha Rakheja, 3, Latika Kapur, 4, Kanika Ahuja 1,2,3,, Information

More information

T14 "TIMELINES, ARTIFACTS AND OWNERS IN AGILE PROJECTS" Hubert Smits Rally Software Development BIO PRESENTATION 6/21/2007 1:30:00 PM

T14 TIMELINES, ARTIFACTS AND OWNERS IN AGILE PROJECTS Hubert Smits Rally Software Development BIO PRESENTATION 6/21/2007 1:30:00 PM BIO PRESENTATION T14 6/21/2007 1:30:00 PM "TIMELINES, ARTIFACTS AND OWNERS IN AGILE PROJECTS" Hubert Smits Rally Software Development Better Software Conference & EXPO June 18-21, 2007 Las Vegas, NV USA

More information

A Viable Systems Engineering Approach. Presented by: Dick Carlson (richard.carlson2@boeing.com)

A Viable Systems Engineering Approach. Presented by: Dick Carlson (richard.carlson2@boeing.com) A Viable Systems Engineering Approach Presented by: Dick Carlson (richard.carlson2@boeing.com) Philip Matuzic (philip.j.matuzic@boeing.com) i i Introduction This presentation ti addresses systems engineering

More information

Software Engineering and Scientific Computing

Software Engineering and Scientific Computing Software Engineering and Scientific Computing Barbara Paech, Hanna Valtokari Institute of Computer Science Im Neuenheimer Feld 326 69120 Heidelberg, Germany http://se.ifi.uni-heidelberg.de paech@informatik.uni-heidelberg.de

More information

Agile Based Software Development Model : Benefits & Challenges

Agile Based Software Development Model : Benefits & Challenges Agile Based Software Development Model : Benefits & Challenges Tajinder Kumar Assistant Professor, IT Department JMIT Radaur, Haryana Vipul Gupta Assistant Professor, IT Department JMIT Radaur, Haryana

More information

Case Study on Critical Success Factors of Running Scrum *

Case Study on Critical Success Factors of Running Scrum * Journal of Software Engineering and Applications, 2013, 6, 59-64 http://dx.doi.org/10.4236/jsea.2013.62010 Published Online February 2013 (http://www.scirp.org/journal/jsea) 59 Case Study on Critical Success

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

Automated Acceptance Testing of High Capacity Network Gateway

Automated Acceptance Testing of High Capacity Network Gateway Automated Acceptance Testing of High Capacity Network Gateway Ran Nyman 1, Ismo Aro 2, Roland Wagner 3, 1,2,3 Nokia Siemens Network, PO Box 1 FI-02022 Nokia Siemens Networks 1 ran@rannicon.com, 2 ismo.aro@nsn.com,

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 and lean methods for managing application development process

Agile and lean methods for managing application development process Agile and lean methods for managing application development process Hannu Markkanen 24.01.2013 1 Application development lifecycle model To support the planning and management of activities required in

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 AGILE WATERFALL MIX DELIVERING SUCCESSFUL PROGRAMS INVOLVING MULTIPLE ORGANIZATIONS

THE AGILE WATERFALL MIX DELIVERING SUCCESSFUL PROGRAMS INVOLVING MULTIPLE ORGANIZATIONS THE AGILE WATERFALL MIX DELIVERING SUCCESSFUL PROGRAMS INVOLVING MULTIPLE ORGANIZATIONS Amit Aggarwal FIS Consulting Services 800.822.6758 Overview The fintech explosion, the Internet of Things and the

More information

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

Waterfall to Agile. DFI Case Study By Nick Van, PMP Waterfall to Agile DFI Case Study By Nick Van, PMP DFI Case Study Waterfall Agile DFI and Waterfall Choosing Agile Managing Change Lessons Learned, Sprints Summary Q and A Waterfall Waterfall Waterfall

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

What is Scrum? Scrum Roles. A lean approach to software development. A simple framework. A time-tested process

What is Scrum? Scrum Roles. A lean approach to software development. A simple framework. A time-tested process What is Scrum? From http://www.scrumalliance.org/pages/what_is_scrum A lean approach to software development Scrum is an agile software development framework. Work is structured in cycles of work called

More information

Agile QA Process. Anand Bagmar Anand.Bagmar@thoughtworks.com abagmar@gmail.com http://www.essenceoftesting.blogspot.com. Version 1.

Agile QA Process. Anand Bagmar Anand.Bagmar@thoughtworks.com abagmar@gmail.com http://www.essenceoftesting.blogspot.com. Version 1. Agile QA Process Anand Bagmar Anand.Bagmar@thoughtworks.com abagmar@gmail.com http://www.essenceoftesting.blogspot.com Version 1.1 Agile QA Process 1 / 12 1. Objective QA is NOT the gatekeeper of the quality

More information

Agile Engineering Introduction of a new Management Concept

Agile Engineering Introduction of a new Management Concept Journal of Applied Leadership and Management 4, 39-47 39 Agile Engineering Introduction of a new Management Concept Philipp Hecker (philipp.hecker_ch@bluewin.ch) Artur Kolb (arthur.kolb@hs-kempten.de)

More information

Agile Data Warehousing

Agile Data Warehousing Agile Data Warehousing Chris Galfi Project Manager Brian Zachow Data Architect COUNTRY Financial IT Projects are too slow IT Projects cost too much money I never get what I expected There must be a better

More information

QEx WHITEPAPER. Increasing Cost Predictability in Performance Testing Services via Unit-Based Pricing Model. www.hcltech.com

QEx WHITEPAPER. Increasing Cost Predictability in Performance Testing Services via Unit-Based Pricing Model. www.hcltech.com www.hcltech.com QEx WHITEPAPER Increasing Cost Predictability in Performance Testing Services via Unit-Based Pricing Model Business Assurance & Testing Across the spectrum of IT projects, whether it is

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

Scrum. The Essence. Tobias Mayer, http://agilethinking.net. Sonntag, 19. Februar 12

Scrum. The Essence. Tobias Mayer, http://agilethinking.net. Sonntag, 19. Februar 12 Scrum The Essence What is Scrum? Scrum is a framework that allows you to create your own lightweight process for developing new products. Scrum is simple. It can be understood and implemented in a few

More information

Using Scrum to Streamline Web Applications Development and Improve Transparency. Michelle Frisque

Using Scrum to Streamline Web Applications Development and Improve Transparency. Michelle Frisque Using Scrum to Streamline Web Applications Development and Improve Transparency Michelle Frisque September 2010 OVERVIEW! Background! The problem! The proposed solutions:! Creation of Web Committee! Implementing

More information

How to achieve excellent enterprise risk management Why risk assessments fail

How to achieve excellent enterprise risk management Why risk assessments fail How to achieve excellent enterprise risk management Why risk assessments fail Overview Risk assessments are a common tool for understanding business issues and potential consequences from uncertainties.

More information

Scrum methodology report

Scrum methodology report Scrum methodology report Author: Tsholofelo Eunice Moitsheki Student number Tsholofelo Moitsheki (463642) Project Source and Documentation: http://kenai.com/downloads/dotsboxes/group%20report/dab5_scrum

More information

Software Life Cycles and Configuration Management

Software Life Cycles and Configuration Management Theory Lecture Plan 2 Software Configuration Lecture 11 Software Engineering TDDC88/TDDC93 autumn 2008 Department of Computer and Information Science Linköping University, Sweden L1 - Course Introduction

More information

Creating a High Maturity Agile Implementation

Creating a High Maturity Agile Implementation Creating a High Maturity Agile Implementation Creating a High Maturity Agile Implementation www.qaiglobal.com 1 Copyright Notice 2015. Unless otherwise noted, these materials and the presentation of them

More information

Mastering the Iteration: An Agile White Paper

Mastering the Iteration: An Agile White Paper Rally Software Development Corporation Whitepaper Mastering the Iteration: An Agile White Paper Dean Leffingwell Abstract: The heartbeat of Agile development is the iteration the ability of the team to

More information

Sprint with Scrum and get the work done. Kiran Honavalli, Manager Deloitte Consulting LLP March 2011

Sprint with Scrum and get the work done. Kiran Honavalli, Manager Deloitte Consulting LLP March 2011 Sprint with Scrum and get the work done Kiran Honavalli, Manager Deloitte Consulting LLP March 2011 Contents About Deloitte Consulting 3 Executive summary 4 About Scrum 5 Scrum phases 8 Lessons learned

More information

From Horizontal Slicing to Vertical Slicing SCRUM Paybacks and Challenges

From Horizontal Slicing to Vertical Slicing SCRUM Paybacks and Challenges From Horizontal Slicing to Vertical Slicing SCRUM Paybacks and Challenges Sreekumar. Vobugari, and Somayajulu. DVLN Abstract In view of dynamic and complex business environment, customer management face

More information

Agile Requirements Definition and Management (RDM) How Agile requirements help drive better results

Agile Requirements Definition and Management (RDM) How Agile requirements help drive better results Thought Leadership: Requirements Definition and Management Agile Requirements Definition and Management (RDM) How Agile requirements help drive better results Jason Moccia One of the myths of Agile software

More information

Course Title: Managing the Agile Product Development Life Cycle

Course Title: Managing the Agile Product Development Life Cycle Course Title: Managing the Agile Product Development Life Cycle Course ID: BA25 Credits: 28 PDUs Course Duration: 4 days (with optional Executive session) Course Level: Intermediate/Advanced Course Description:

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

METRICS DRIVEN CONTINUAL SERVICE IMPROVEMENT USING AGILE CONCEPTS

METRICS DRIVEN CONTINUAL SERVICE IMPROVEMENT USING AGILE CONCEPTS METRICS DRIVEN CONTINUAL SERVICE IMPROVEMENT USING AGILE CONCEPTS John Osteen B Cognizant Business Consulting Process Quality Consulting Cognizant Technology Solutions, Chennai, India john.b@cognizant.com

More information

Agile Software Engineering Practice to Improve Project Success

Agile Software Engineering Practice to Improve Project Success Agile Software Engineering Practice to Improve Project Success Dietmar Winkler Vienna University of Technology Institute of Software Technology and Interactive Systems dietmar.winkler@qse.ifs.tuwien.ac.at

More information

Agile and Secure: OWASP AppSec Seattle Oct 2006. The OWASP Foundation http://www.owasp.org/

Agile and Secure: OWASP AppSec Seattle Oct 2006. The OWASP Foundation http://www.owasp.org/ Agile and Secure: Can We Be Both? OWASP AppSec Seattle Oct 2006 Dan Cornell, OWASP San Antonio Leader Principal, Denim Group Ltd. dan@denimgroup.com (210) 572-4400 Copyright 2006 - The OWASP Foundation

More information

Agile Project. Management FOR DUMME&* by Mark C. Layton WILEY. John Wiley & Sons, Inc.

Agile Project. Management FOR DUMME&* by Mark C. Layton WILEY. John Wiley & Sons, Inc. Agile Project Management FOR DUMME&* by Mark C. Layton WILEY John Wiley & Sons, Inc. Table of Contents»#» « Introduction / About This Book 1 Foolish Assumptions 1 Conventions Used in This Book 2 How This

More information

www.testing-solutions.com TSG Quick Reference Guide to Agile Development & Testing Enabling Successful Business Outcomes

www.testing-solutions.com TSG Quick Reference Guide to Agile Development & Testing Enabling Successful Business Outcomes www. TSG Quick Reference Guide to Agile Development & Testing Enabling Successful Business Outcomes What is Agile Development? There are various opinions on what defines agile development, but most would

More information