PERFORMANCE ENGINEERING IN SCRUM
|
|
- Scarlett Dickerson
- 7 years ago
- Views:
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 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 informationWould 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 informationAgile 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 informationMeasuring 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 informationIs 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 informationSoftware 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 informationIssues 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 informationEMC 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 informationINTRODUCTION. 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 informationBuild 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 informationWhen 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 informationNo 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 informationAgile 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 informationApplying 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 informationQuality 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 informationA 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 informationAgile 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 informationAgile 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 information10/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 informationIteration 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 informationWE 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 informationSCRUM 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 informationAgile 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 informationMature 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 informationD25-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 informationScrum 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 informationNexus 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 informationHow 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 informationTable 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 informationMethodology: 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 informationWater-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 informationLEAN 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 informationWhite 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 informationCertified 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 informationExtreme 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 informationCertified 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 informationSmartBear 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 informationLean 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 informationSCALING 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 informationSelecting 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 informationThe 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 informationAgile 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 informationAGILE 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 informationAn 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 informationAtern 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 informationAgile 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 informationSoftware 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 informationAgile 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 informationBCS 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 informationScrum. 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 informationAkhil 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 informationA 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 informationSECC 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 informationAgile 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"
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 informationThe 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 informationThe 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 informationSuccessfully 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 informationCSPO 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 informationSoftware 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 informationSoftware 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 informationIT 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 informationAgile 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 informationAgile 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 informationT14 "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 informationA 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 informationSoftware 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 informationAgile 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 informationCase 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 informationIntroduction 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 informationAutomated 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 informationProcess 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 informationAgile 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 informationBasic 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 informationTHE 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 informationWaterfall 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 informationWho 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 informationWhat 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 informationAgile 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 informationAgile 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 informationAgile 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 informationQEx 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 informationAGILE - 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 informationScrum. 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 informationUsing 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 informationHow 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 informationScrum 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 informationSoftware 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 informationCreating 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 informationMastering 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 informationSprint 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 informationFrom 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 informationAgile 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 informationCourse 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 informationAGILE 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 informationMETRICS 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 informationAgile 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 informationAgile 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 informationAgile 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 informationwww.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