Agile Development Methodologies:

Size: px
Start display at page:

Download "Agile Development Methodologies:"

Transcription

1 Agile Development Methodologies: What are they and why is everybody in the software world talking about them? Karen McKenna TES APS Project Office

2 Context of research Understand Industry trends Research!!! Food for thought One point of view Controversial Open mind

3 Agenda Background Information: Terminology Overview What is Agile Methodology? What is Iterative Development? Agile vs. Defined which wins? Methodology Landscape Agile Methodologies: XP DSDM SCRUM What s happening in the industry? Implementing a new methodology

4 Terminology Process describes what to do Methodology describes how to do it Agile Methodology a.k.a. = Lightweight methodology Defined Process Methodology a.k.a.= Heavyweight methodology ISD = Iterative Software Development (subset of newer methodologies)

5 Focus on: Defined Methodologies Formal processes E.g. SUMMIT, Accenture Method/1, Navigator, RUP Focus is on the process steps to follow

6 Agile Methodologies Focus on: Improved time to market Increased collaboration around team members Strong user participation Highly iterative releases (ISD) Focused on the coding process and code, not documentation Deliver incremental applications without the necessity of satisfying the complete set of requirements Best suited for: Innovation based products New product delivery

7 Agile Manifesto Principles of Agile Development: Individuals and interactions are valued over processes and tools Working software is valued over comprehensive documentation Customer collaboration is valued over contract negotiation Responding to change is valued over following a plan

8 Agile Methodologies Types of Agile Methodologies: XP (Extreme Programming) SCRUM DSDM (RAD)

9 Are you ready?

10 Iterative Development (ISD) Philosophy: Change is the rule not the exception It is impossible to predict what activities the project needs to do in order to complete the job so we need to base our planning upon uncertainty Sounds simple but it is a big shift in mindset. Iteration: the controlled reworking of a system to meet refined requirements or make improvements A.k.a. evolutionary development You need full time commitment from developers and customers.

11 Waterfall vs Iterative Waterfall Emphasis on specs get them right, complete, signed off Assumptions: Customer knows what he wants Requirements are frozen (changes are the exception) Phase Reviews are used as control and feedback point Characteristics of successful projects: Stable requirements Stable environments Focus on the big picture One, monolithic delivery Risk is postponed to the end integration hell Makes it easy on the manager and difficult for the engineering team Iterative Software comes first Assumptions: Customer can not express exactly what he wants Requirements will change Reviews are done continuously for control and feedback Characteristics of successful projects: Fast and continuous customer feedback Floating targets for the product Focus is on most important features Frequent releases Risk is assessed and validated early and often More aligned with how software engineers work (teams have a 5:1 ratio of engineers to managers)

12 Are you ready? If you decide to adopt an ISD approach, you need to be ready for a new mindset. If you love the security of having a long, detailed project plan, this may not work in your world. You have to trust: That you will get to your target faster, by accepting that you don t exactly know how to get there That you will utilize what you learn on your way, and that this learning and openness to change will lead you to a better result Can be a difficult transition for PMs: article from Rational Software guru Philippe Kruchten in handout

13 A View on Detailed Long Term Planning Forget about anything you ever learned about planning. Creating an end-to-end project plan is a waste of time (except to examine schedule and resources). The plan is outdated before you reach the first iteration : PMs have to understand their role is to educate and explain the notion of iterative planning: E.g. family vacation to Disneyland / Legoland - the overall route is etched out, but the only detailed instructions needed at the start is what to do once you get to Anaheim and how to get to the hotel. Carrying a big notebook and planning the exact details of what ride you are going to go on the second day at 10:00 is unnecessary. You may find that there is a long line up at one attraction and you need to modify your schedule.

14 Do you need to move to Iterative? Depends on: Stability of the requirements Your relationship with the customer

15 Stability of the Requirements It may not be worth the effort if: Your customer delivers a complete detailed requirement specification (has this ever happened?) Your customer is happy if he receives exactly what was written in the requirements document Your customer at the end will accept that delivery is late, because getting the full functionality is more important

16 Stability of the Requirements Iterative is worth the effort if: The requirements will change substantially Delivering on time is essential It is not possible to specify the requirements in enough detail up front You have an unstable environment

17 Customer Relationship ISD is a very different relationship between the development team and the customer. Both groups need to agree to use ISD and embrace the the possibilities it provides. If your client is only willing to deal with standard contracts that document everything imaginable, and if you don t deliver to the letter of the agreement it s hello Mr. Lawyer I ve got a problem!! then you need to be tread carefully. You may get business value from some of the practices, but you won t get the full advantage. If the customer is agreeable to taking more responsibility and taking active part in the development activities, your mutual benefit from ISD will increase.

18 Funding Model: a critical component Many projects are pushed into bidding for a contractual development far too early, somewhere in the middle of inception. In iterative development, the best point in time for all parities to do such bidding is at the LCA milestone (end of elaboration). A two step bidding process is preferred. Source: Rational Software (Kruchten)

19 Methodology Landscape Process Rich (including PM, CM, etc.) PWC Summit, Partial life-cycle Rational Navigator* Full life-cycle XP, SCRUM, Microsoft MSF DSDM Limited Process Support

20 Agile vs Defined: Which wins? Agile process (eg. XP, DSDM) vs. Defined process (egg. RUP, PWC Summit) Agile assumes the development process is unpredictable and chaotic Defined process argues that mayhem is due to the immaturity of the organization (SEI CMM) To expedite project delivery in turbulent times there is a need to be open to different approaches. However, the choice between a defined process and an agile process must be implemented on a project level

21 Some Agile Methodologies Extreme Programming (XP) DSDM SCRUM

22 XP (Extreme Programming) Originated due to concerns that software development life-cycle methodologies were becoming overly complex and too focused on documentation oriented deliverables, rather than actual code; Many shops failed to implement formal methodologies There was a need for a methodology to survive under the pressure of faster, better, cheaper environment Looking for balance of formalized hacking and unshackled process

23 XP (Extreme Programming) Four Key Values: Communication Feedback Simplicity Courage Project must be quantified by four variables: scope, resources, time and quality. Management can dictate three of the four project variables; development always gets the fourth

24 Twelve XP Practices 1. Planning Game The customer picks the features wanted/needed. Programmers estimate each feature, the customer chooses which feature is done in which iteration hour week Team members should not be expected to regularly put in overtime 3. Pair Programming Two people work on the same piece of code (and the same workstation), one writing and one reviewing theory that this increases code quality and reduces errors This is the most controversial practice

25 Twelve XP Practices

26 XP Practices 4. Collective ownership of code: Code base is shared but the team, and all are expected to have both depth and breadth of knowledge 5. Continuous Integration: No code is allowed to sit off in a branch and remain detached from the core code base for too long. Integration is thus streamlined. 6. Simple Design: use the simplest thing that could possibly work Build the minimum necessary 7. Coding Standards Teams must agree on and adhere to coding standards that are established upfront.

27 XP Practices 8. Test first Test plans are defined before code is even written. The emphasis on quality is built in. 9. Aggressive Refactoring: Since design is minimized this is required Improve the design of the project throughout the development life cycle 10. On-site customer Customer is an active part of the team, setting priorities, setting and clarifying requirements providing the detail needed to implement terse user stories

28 XP Practices 11. Small releases Frequent and small releases are designed to enable an XP team to get to production early. The team gets more feedback and ensures the resulting system is what the customer wants 12. Metaphor XP doesn t have the formal notion of an architecture, but defines a common naming convention and description of the system that establishes a shared metaphor of the system in all of the developer minds.(the big picture)

29 XP Industry adoption rate Adoption is on the rise. Industry adoption of practice: Higher usage in high-tech sector To date, hasn t been terribly successful in traditional IT shops due to: Inability to use on large applications The focus is on development. Project management, change management, requirements management processes must be added on to the methods to create a full SDLC. cultural issues

30 Projects suited for XP When requirements are constantly changing or not fully known up front Small project teams working from the same site (2 10 people) Not suited for large,complex projects You must be able to create automated unit and functional tests Risky projects with dynamic requirements

31 DSDM Dynamic Systems Development Method Arose from frustrations of users and IT alike with methods that were seen as inappropriate for a fast moving business environment, forced users to fix their requirements in concrete early in the cycle and did not allow for rapid iterative delivery. Intended to be different from the classical sequential (or "Waterfall") methods for application development.

32 DSDM Dynamic Systems Development Method Standard devised by the DSDM Consortium, a British organization focused on a RAD approach that increasingly is used for iterative or "agile" development Industry representatives realized the need for a standard RAD framework (I.e. grassroots organization) Started getting industry attention in 1995

33 DSDM TENDS TO WORK WHEN The application will be run standalone. Major use can be made of preexisting class libraries (APIs). Performance is not critical. Project scope (macro-schedule) is constrained. Reliability is not critical. The required technology is more than a year old.

34 What s Different About DSDM It s based on the 80/20 principle - nothing is built perfectly first time It s an iterative development approach based on prototyping It assumes requirements change as understanding increases It concentrates on business needs, not development activities (business driven not IT led) The result is quality systems that are fit for purpose

35 DSDM Lifecycle Phases: Pre-Project Feasibility Study Business Study Functional Model Iteration Design and Build Iteration Implementation Post-Project sequential Iterative and incremental How the three later phases overlap and merge is left to a particular project to decide.

36 DSDM Lifecycle

37 Benefits Of Using DSDM The users are more likely to claim ownership of the solution The risk of building the wrong solution is greatly reduced The final solution is more likely to meet the users real business requirements The users will be trained prior to deployment The implementation of the business solution is more likely to go smoothly

38 Survey says.. DSDM claims that some organizations have experienced: Five fold reduction in delivery time Team size reduced by half 10% increase in success rate

39 DSDM Phases Feasibility Study is DSDM is the right approach for the project? assessment of the likely costs and of the technical feasibility of delivering a system to solve the business problem. no more than a few weeks

40 DSDM Phases Business Study focus on the business processes affected and their information needs activity is strongly collaborative: series of facilitated workshops attended by knowledgeable and empowered staff who can quickly pool their knowledge and gain consensus as to the priorities of the development.

41 DSDM Principles 1. Active user involvement is imperative 2. The team must be empowered to make decisions. 3. The focus is on frequent delivery of products. 4. Fitness for business purpose is the essential criterion for acceptance of deliverables. 5. Iterative and incremental development is necessary to converge on an accurate business solution. 6. All changes during development are reversible.

42 DSDM Principles 7. Requirements are base lined at a high level. 8. Testing is integrated throughout the lifecycle. 9. Collaboration and cooperation between all stakeholders is essential

43 DSDM - Time boxes Mechanism for handling flexibility of requirements Each time box has a fixed end date and a prioritized set of requirements assigned to it. Mandatory Nice to have room for maneuver when things don't go perfectly to plan The prioritization of the requirements throughout the time box are checked and possibly reassigned using the MoSCoW Rules.

44 Prioritizing Requirements _ MOSCOW rules Provide the basis on which decisions are made Must Haves fundamental to the projects success o Should Haves important but the projects success does not rely on these Could Haves can easily be left out without impacting on the project o Won't Have this time round can be left out this time and done at a later date All the priorities are reviewed throughout the project to ensure they are still valid. It is also essential that not everything within a project or a time box is mandatory.

45 SCRUM SCRUM's key assertion: software development is inherently a chaotic, complicated, roughly sequential set of activities that can only be loosely described as a process.

46 SCRUM Expresses requirements in the form of a prioritized list called a Backlog. This list is assumed to change on a daily basis. Implementation iterations are called Sprints: two- to four-week full (analysis, design and implementation) iterations with one of the inputs being a list of requirements from the Backlog. The input requirements are not allowed to change during the Sprint. Key feature: daily, short, cross-functional meeting to monitor blocks, possible changed priorities and progress.

47 Advantages of SCRUM By assuming requirements are in flux, it avoids the analysis paralysis of complete requirements specification. Can respond to external changes of requirements, changed delivery dates, changed functionality and changes in resource availability. Developers are encouraged to be creative within the boundaries of a Sprint.

48 Comments on SCRUM SCRUM has been deeply influential on other lightweight methodologies but has been pushed aside by XP. There is concern that the methodology does not scale beyond small teams and small projects.

49 What is happening in the industry? Adoption of Agile processes is on the rise. Expected to have some presence in most IT shops in the next few years. Reuse is becoming more important: You need a solid process to be able to do it. Methodology vendors in the market are stabilizing Key vendors: Rational, CA, ASG, Aonix, Fujitsu.

50 Methodology Implementation Methodology implementations are risky, challenging and very costly. Support must come from the top CIO has to support it. If you get support higher up it will help considerably Bacon and egg story chicken involved, pig committed! Dedicated staff for implementation, support, training etc. Start with a trial project and roll out slowly Do not attempt to introduce a new methodologies midstream in a project Measure your success (numbers, metrics)

CS 5704: Software Engineering

CS 5704: Software Engineering CS 5704: Software Engineering Agile Methodologies Dr. Pardha S. Pyla 1 1 What is wrong with this? System requirements Software requirements Analysis Program design 1. Rigid/heavy weight process 2. Too

More information

Agile Software Development. Agile Software Development Basics. Principles of the Agile Alliance. Agile Manifesto. Agenda. Agile software development

Agile Software Development. Agile Software Development Basics. Principles of the Agile Alliance. Agile Manifesto. Agenda. Agile software development Agile Software Development T-110.6130 Systems Engineering in Data Communications Software P, Aalto University Agile software development Structured and disciplined, fast-paced Iterative and Incremental

More information

Topics to be covered. Commercial Levers Available to the PM to Manage Agile project delivery

Topics to be covered. Commercial Levers Available to the PM to Manage Agile project delivery Commercial Levers Available to the PM to Manage Agile project delivery Ash Forrester & Nick Semple, PA Consulting Group CCR: Strategic & Business Management 2016 Building Leaders for Business Topics to

More information

Software Life Cycle. Main Topics. Introduction

Software Life Cycle. Main Topics. Introduction Software Life Cycle Main Topics Study the different life cycle models Study the difference between software maintenance and evolution Study product line engineering as a design methodology 2 Introduction

More information

Agile Projects 7. Agile Project Management 21

Agile Projects 7. Agile Project Management 21 Contents Contents 1 2 3 4 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

Lecture 1. Topics covered. Rapid p development and delivery is now often the most important requirement for software systems.

Lecture 1. Topics covered. Rapid p development and delivery is now often the most important requirement for software systems. Chapter 3 Agile Software Development Lecture 1 Topics covered Agile g methods Plan-driven and agile development Extreme programming Agile project management Scaling agile methods Rapid software development

More information

Chapter 2 Objectives. Pfleeger and Atlee, Software Engineering: Theory and Practice (edited by B. Cheng) Chapter 2.

Chapter 2 Objectives. Pfleeger and Atlee, Software Engineering: Theory and Practice (edited by B. Cheng) Chapter 2. Chapter 2 Objectives What we mean by a process Software development products, processes, and resources Several models of the software development process Tools and techniques for process modeling 2.1 The

More information

3. Comparison of Above Described SDLC Models

3. Comparison of Above Described SDLC Models 123 3. Comparison of Above Described SDLC Models Waterfall Model is little hard to manage due to the rigidity of the model as each phase has specific deliverables and a review process. It works well for

More information

SOFTWARE ENGINEERING SOFTWARE-LIFE CYCLE AND PROCESS MODELS. Saulius Ragaišis.

SOFTWARE ENGINEERING SOFTWARE-LIFE CYCLE AND PROCESS MODELS. Saulius Ragaišis. SOFTWARE ENGINEERING SOFTWARE-LIFE CYCLE AND PROCESS MODELS Saulius Ragaišis saulius.ragaisis@mif.vu.lt CSC2008 SE Software Processes Learning Objectives: Explain the concept of a software life cycle and

More information

Lecture 8 Agile Software Development

Lecture 8 Agile Software Development Lecture 8 Agile Software Development Includes slides from the companion website for Sommerville, Software Engineering, 10/e. Pearson Higher Education, 2016. All rights reserved. Used with permission. Topics

More information

13. Team evolutionary developement

13. Team evolutionary developement 13. Team evolutionary developement Most of the software projects require a larger effort than a solo programmer can handle Programmers have to organize themselves into teams Agile teams Directed teams

More information

Introduction to Agile/Extreme Programming

Introduction to Agile/Extreme Programming Introduction to Agile/Extreme Programming Matt Ganis, Senior Technical Staff Member (Certified Scrum Master) IBM Hawthorne, New York ganis@us.ibm.com August 2007 Session 8061 Current slides at: http://webpage.pace.edu/mganis

More information

Agile Management Guide

Agile Management Guide 1 Agile Management Guide These days there is a strong push for Agile Management, as opposed to Waterfall. Personally at Castellan Systems we believe that the agility should be applied to the project development

More information

Tuesday, October 25. Announcements

Tuesday, October 25. Announcements Tuesday, October 25 Announcements Crowdsourcing the Midterm http://www.drsusansim.org/teaching/inf111/pligg Homework 5 Skip lab portion Use anything you want to draw the diagrams for the take home portion

More information

Software Engineering Part 2

Software Engineering Part 2 CS 0901341 Software Engineering Part 2 In this part, we look at 2.1 Software Process 2.2 Software Process Models 2.3 Tools and Techniques for Processing Modelling As we saw in the previous part, the concept

More information

User-centered System Design. Agile

User-centered System Design. Agile User-centered System Design Agile Department of Information Technology Methods - what are they? Why do we have them? Business modeling Usability Design Requirements Analysis & design Implementation Test

More information

Processes and Life- Cycles. Kristian Sandahl

Processes and Life- Cycles. Kristian Sandahl Processes and Life- Cycles Kristian Sandahl 2 Maintenance Requirements Validate Requirements, Verify Specification Acceptance Test (Release testing) System Design (Architecture, High-level Design) Verify

More information

Agile Software Development

Agile Software Development Agile Software Development Chapter 3 Agile Software Development in the textbook 3.1 Agile methods 3.2 Plan-driven and agile development 3.3 Extreme programming (XP) - A well known agile method 3.4 Agile

More information

Software Processes. With a focus on Agile/Scrum CPSC310 Software Engineering

Software Processes. With a focus on Agile/Scrum CPSC310 Software Engineering Software Processes With a focus on Agile/Scrum CPSC310 Software Engineering Learning Goals Why do software projects fail? Unrealistic project goals Inaccurate estimates of needed resources Unmanaged risks

More information

Processes and Life- Cycles. Kristian Sandahl

Processes and Life- Cycles. Kristian Sandahl Processes and Life- Cycles Kristian Sandahl 2 Maintenance Requirements Validate Requirements, Verify Specification Acceptance Test (Release testing) System Design (Architecture, High-level Design) Verify

More information

Software Design COSC 4353/6353 D R. R A J S I N G H

Software Design COSC 4353/6353 D R. R A J S I N G H Software Design COSC 4353/6353 D R. R A J S I N G H Outline Week 2 Software Development Process Software Development Methodologies SDLC Agile Software Development Process A structure imposed on the development

More information

Software Engineering Lecture 5 Agile Software Development

Software Engineering Lecture 5 Agile Software Development Software Engineering Lecture 5 Agile Software Development JJCAO Mostly based on the presentation of Software Engineering, 9ed Exercise Describe the main activities in the software design process and the

More information

Foundations of Software Engineering. Process: Agile Practices Michael Hilton

Foundations of Software Engineering. Process: Agile Practices Michael Hilton Foundations of Software Engineering Process: Agile Practices Michael Hilton 1 Learning goals Define agile as both a set of iterative process practices and a business approach for aligning customer needs

More information

Agile Essentials Track: Business Services

Agile Essentials Track: Business Services Agile Essentials Track: Business Services Presenter: Mark Thomas Synopsis Are you a victim of building the wrong solutions slowly? If so, you re not alone, and considering an Agile approach may be the

More information

Owning An Agile Project: PO Training Day 2

Owning An Agile Project: PO Training Day 2 Owning An Agile Project: PO Training Day 2 Petri Heiramo Agile Coach, CST Product Management PO Product management is a larger scope than what Scrum defines as a PO Or rather, Scrum implicitly assumes

More information

Succeed with Agile at Scale

Succeed with Agile at Scale IBM Software Group Succeed with Agile at Scale Alfred Tse/Osmond Ng Rational Software Technical Professionals Growth Markets Asia Pacific June 25, 2009 2008 IBM Corporation Agenda Agile Software Development

More information

Software Process. Overview

Software Process. Overview Software Process Overview What is software process? Examples of process models Unified Process (UP) Agile software development N. Meng, B. Ryder 2 1 Software Process Definition [Pressman] a framework for

More information

AGILE SOLUTIONS. Agile Basics

AGILE SOLUTIONS. Agile Basics AGILE SOLUTIONS Agile Basics info@one80services.com one80services.com AGILE SOLUTIONS Agile Basics Table of Contents 2 Who We Are 3 What Is Agile? 4 Agile Values 5 Agile Principles 6 Agile Development

More information

V Model material adapted from Steve Easterbrook. Waterfall Model material adapted from Steve Easterbrook. Lifecycle of Software Projects

V Model material adapted from Steve Easterbrook. Waterfall Model material adapted from Steve Easterbrook. Lifecycle of Software Projects Lifecycle of Software Projects ECE450 Software Engineering II Lifecycle models are useful to compare project management strategies in abstract terms Birds-eye view strategy Detect strengths and weaknesses...

More information

04. Agile Development

04. Agile Development 04. Agile Development Division of Computer Science, College of Computing Hanyang University ERICA Campus 1 st Semester 2017 Background of Agile Software Development Software development until late 90s

More information

Chapter 3 Agile Software Development. Part 1b

Chapter 3 Agile Software Development. Part 1b Chapter 3 Agile Software Development Part 1b 1 Testing in XP Testing is central to XP and XP has developed an approach where the program is tested after every change has been made. XP testing features:

More information

Agile Software Development:

Agile Software Development: Agile Software Development: 1.Agile methods 2.Plan-driven and agile development 3.Extreme programming (XP) 4.Agile project management 5.Pair Programming 6.Scrum 7.Scaling agile methods Rapid software development:

More information

D25-4. How Intertech Uses Agile

D25-4. How Intertech Uses Agile D25-4 How Intertech Uses Agile How to Use this Download This document shares an overview of how we use Agile/Scrum to deliver successful projects, the major differences between a waterfall/fixed bid project

More information

Improving Agile Execution in the Federal Government

Improving Agile Execution in the Federal Government Improving Agile Execution in the Federal Government 1 Committed Partner. Creating Results. In December of 2010 the government introduced the 25 Point Implementation Plan to Reform Federal Information Technology

More information

SAP BUSINESS GROUP AGILE FOR SAP SOLUTIONS

SAP BUSINESS GROUP AGILE FOR SAP SOLUTIONS SAP BUSINESS GROUP AGILE FOR SAP SOLUTIONS AGILE AND SAP PROJECTS: FINDING THE FIT In a constantly changing business environment, enterprise systems and agile approaches are powerful allies. Enterprise

More information

An Overview of Software Process

An Overview of Software Process An Overview of Software Process Objectives To introduce the general phases of the software development life cycle (SDLC) To describe various generic software process models and discuss their pros and cons

More information

Software Engineering & Project Management Engr. Abdul-Rahman Mahmood MS, PMP, MCP, QMR(ISO9001:2000)

Software Engineering & Project Management Engr. Abdul-Rahman Mahmood MS, PMP, MCP, QMR(ISO9001:2000) Software Engineering & Project Management Engr. Abdul-Rahman Mahmood MS, PMP, MCP, QMR(ISO9001:2000) armahmood786@yahoo.com alphasecure@gmail.com alphapeeler.sf.net/pubkeys/pkey.htm http://alphapeeler.sourceforge.net

More information

8 th of April 2015 Bucharest, Romania Vlad Gabriel Sorin Agile PM/Scrum Master

8 th of April 2015 Bucharest, Romania Vlad Gabriel Sorin Agile PM/Scrum Master 8 th of April 2015 Bucharest, Romania Vlad Gabriel Sorin Agile PM/Scrum Master 1. Introduction 1 min. 2. Waterfall vs Agile 5 min. 3. Agile - General Concepts 5 min. 4. Agile methods: Scrum vs XP vs Lean

More information

Chapter 3 Agile Software Development

Chapter 3 Agile Software Development Chapter 3 Agile Software Development Chapter 3 Agile Software Development Slide 1 Topics covered Rapid software development Agile methods Plan-driven vs. agile development Extreme programming (XP) Agile

More information

RIGHTNOW A C E

RIGHTNOW A C E RIGHTNOW A C E 2 0 1 4 2014 Aras 1 aras.com A C E 2 0 1 4 An Agile Approach to Implementing Aras Innovator Implementation Methodology 2014 Aras aras.com Agenda The Challenge The Aras Approach Real World

More information

The Software Life Cycle

The Software Life Cycle Inception Software Increment Communication Planning Production The Software Life Cycle Software Engineering Deployment Andreas Zeller Saarland University Modelling Elaboration Transition Construction Construction

More information

The Systems Development Lifecycle

The Systems Development Lifecycle Modelling and Systems Development Lecture 2 The Systems Development Lifecycle The four-phase model common to all system developments projects The project Major attributes of the Lifecycle Moves systematically

More information

CS350 Lecture 2 Software Dev. Life Cycle. Doo-Hwan Bae

CS350 Lecture 2 Software Dev. Life Cycle. Doo-Hwan Bae CS350 Lecture 2 Software Dev. Life Cycle Doo-Hwan Bae bae@se.kaist.ac.kr Whose Drawings? Watts Humphrey, SE is Religion and Philosophy. Just Follow me! CS350 Software Engineering, SoC, KAIST 2 What is

More information

Introduction to Agile Life Cycles. CSCI 5828: Foundations of Software Engineering Lecture 07 09/13/2016

Introduction to Agile Life Cycles. CSCI 5828: Foundations of Software Engineering Lecture 07 09/13/2016 Introduction to Agile Life Cycles CSCI 5828: Foundations of Software Engineering Lecture 07 09/13/2016 1 Goals Introduction to Agile Life Cycles The Agile Manifesto and Agile Principles Agile Life Cycles

More information

Software Engineering G Session 12 Sub-Topic 1 Risk Management in Adaptive Software Engineering. Dr. Jean-Claude Franchitti

Software Engineering G Session 12 Sub-Topic 1 Risk Management in Adaptive Software Engineering. Dr. Jean-Claude Franchitti Software Engineering G22.2440-001 Session 12 Sub-Topic 1 Risk Management in Adaptive Software Engineering Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of

More information

An Agile Projects Introduction Course #PMCurrent-1

An Agile Projects Introduction Course #PMCurrent-1 An Agile Projects Introduction Course #PMCurrent-1 Aaron MacDaniel, PMP, CSM, MBA Lead Instructor - BetterPM.com An Innate Images, LLC Company 1 Course Agenda About BetterPM.com A typical Waterfall Project

More information

Software Development Life Cycle

Software Development Life Cycle Software Development Life Cycle Author : harvix-distrogmail-com When people are asked to define the SDLC (Software Development Life Cycle), they often come up with something like the following: 1. Planning

More information

Chapter 3 Software Process Model

Chapter 3 Software Process Model Usman Akram COMSATS Institute of information Technology lahore musmanakram@ciitlahore.edu.pk March 8, 2015 About software process model Outline 1 About software process model Build and Fix Model Why Models

More information

Explore Comparative Analysis Software Development Life Cycle Models

Explore Comparative Analysis Software Development Life Cycle Models Explore Comparative Analysis Software Development Life Cycle Models Anshu Mishra Assistant Professor, Department of Information Science and Engineering Jyothy Institute of Technology, Bangalore Abstract-The

More information

Two Branches of Software Engineering

Two Branches of Software Engineering ENTERPRISE SOFTWARE ENGINEERING & SOFTWARE ENGINEERING IN THE ENTERPRISE Two Branches of Software Engineering 1 Crafting Software Resource Input Code Debug Product Test 2 Engineering Software Resource

More information

Introduction to Extreme Programming

Introduction to Extreme Programming Introduction to Extreme Programming Brian Button bbutton@objectmentor.com, Inc Overview Motivation Business Case Description Case Studies References 1-800-338-6716 2 My Typical Client Manager doesn t trust

More information

EVERYTHING YOU VE HEARD ABOUT AGILE DEVELOPMENT IS WRONG

EVERYTHING YOU VE HEARD ABOUT AGILE DEVELOPMENT IS WRONG EVERYTHING YOU VE HEARD ABOUT AGILE DEVELOPMENT IS WRONG Simon O Toole Australian Astronomical Observatory SOFTWARE DEVELOPMENT QUIZ What is the Waterfall model of software development? What are the advantages

More information

Agile and Secure Can We Be Both? San Antonio AITP. August 15 th, 2007

Agile and Secure Can We Be Both? San Antonio AITP. August 15 th, 2007 Agile and Secure Can We Be Both? San Antonio AITP August 15 th, 2007 Agenda Background Evolution of traditional software development methodologies Benefits of Agile development Requirement for Secure development

More information

Introduction to Software Life Cycles and Agile. CSCI 5828: Foundations of Software Engineering Lecture 03 09/02/2014

Introduction to Software Life Cycles and Agile. CSCI 5828: Foundations of Software Engineering Lecture 03 09/02/2014 Introduction to Software Life Cycles and Agile CSCI 5828: Foundations of Software Engineering Lecture 03 09/02/2014 1 Goals Present an introduction to the topic of software life cycles concepts and terminology

More information

CS 320 Introduction to Software Engineering Spring February 01, 2017

CS 320 Introduction to Software Engineering Spring February 01, 2017 CS 320 Introduction to Software Engineering Spring 2017 February 01, 2017 Recap: software development process Activities and steps Requirements engineering Design and architecture Implementation Verification

More information

Agile Software Development in a Regulated Environment. Natalie Custer

Agile Software Development in a Regulated Environment. Natalie Custer Agile Software Development in a Regulated Environment Natalie Custer Disclaimer This presentation represents the understanding of the presenter on the topic addressed. It does not in anyway, form or like

More information

The Product Manager and the Product Development Process. Martin Cagan Silicon Valley Product Group

The Product Manager and the Product Development Process. Martin Cagan Silicon Valley Product Group The Product Manager and the Product Development Process Martin Cagan Silicon Valley Product Group THE PRODUCT MANAGER AND THE PRODUCT DEVELOPMENT PROCESS Martin Cagan, Silicon Valley Product Group OVERVIEW

More information

Software Life Cycles and Configuration Management

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

More information

Chapter 14 Current trends in system development

Chapter 14 Current trends in system development Chapter 14 Current trends in system development Dr. Supakit Nootyaskool Faculty of Information Technology King Mongkut s Institute of Technology Ladkrabang Outline Trends in System Development Methodologies

More information

Agile Development Processes. CSCE Lecture 3-08/31/2017

Agile Development Processes. CSCE Lecture 3-08/31/2017 Agile Development Processes CSCE 740 - Lecture 3-08/31/2017 Common Practice: Code & Fix Sit down, write out the code, and fix problems as they occur. No formal structure to development. What is wrong with

More information

Agile. How would you implement agile methodologies and tools for web projects? What do you see as the benefits and challenges to doing this?

Agile. How would you implement agile methodologies and tools for web projects? What do you see as the benefits and challenges to doing this? Agile How would you implement agile methodologies and tools for web projects? What do you see as the benefits and challenges to doing this? What is Agile? The term agile (sometimes written Agile) was popularised

More information

The Software Life Cycle

The Software Life Cycle Production Inception The Life Cycle Engineering Modelling Andreas Zeller Saarland University Elaboration Transition A Crisis Denver International Airport (DIA) started in 1989 53 sq miles Planned: 1.7

More information

SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC)

SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC) SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC) UNIT OBJECTIVE Understand the influences on a project Understand what a software process is Understand two common models WHAT EACH PARTY CONTROLS Client Side Every

More information

Johanna Rothman. Chapter 1 Why Agile and Lean Approaches Work. Copyright 2017

Johanna Rothman. Chapter 1 Why Agile and Lean Approaches Work. Copyright 2017 Johanna Rothman Chapter 1 Why Agile and Lean Approaches Work Copyright 2017 Agile and Lean Approaches Why such approaches exist! Software, we have a problem It was thought you could hand a software team

More information

The ABC of Agile Business Change. James Yoxall BCS 17 September, 2013

The ABC of Agile Business Change. James Yoxall BCS 17 September, 2013 The ABC of Agile Business Change James Yoxall BCS 17 September, 2013 Introduction Purpose is to explore the concept of Agile Business Change What does it mean? Why might it be a good thing? Where and when

More information

THE ADVANTAGES OF AGILE METHODOLOGIES APPLIED IN THE ICT DEVELOPMENT PROJECTS

THE ADVANTAGES OF AGILE METHODOLOGIES APPLIED IN THE ICT DEVELOPMENT PROJECTS International Journal on Information Technologies & Security, 4 (vol. 9), 2017 51 THE ADVANTAGES OF AGILE METHODOLOGIES APPLIED IN THE ICT DEVELOPMENT PROJECTS Vangel Fustik Faculty of Electrical Engineering

More information

Agile leadership for change initiatives

Agile leadership for change initiatives Agile leadership for change initiatives Author Melanie Franklin Director Agile Change Management Limited Contents Introduction 3 Agile principles 3 Introduction to Agile techniques 6 Working in sprints

More information

Waterfall model is the earliest SDLC approach that was used for software development.

Waterfall model is the earliest SDLC approach that was used for software development. 1 Waterfall Model Guide These days there is a strong push for Agile Management, as opposed to Waterfall. Personally at Castellan Systems we believe that the agility should be applied to the project development

More information

Processes. Object Orientated Analysis and Design. Benjamin Kenwright

Processes. Object Orientated Analysis and Design. Benjamin Kenwright Processes Object Orientated Analysis and Design Benjamin Kenwright Outline Review What are Processes? Why are they important in Object Orientated Analysis and Design Conclusion and Discussion Summary Revision

More information

Implementing an Agile Transformation Using Discipline Agile Delivery Michael J Lyons World Wide Solution Deployment Architect, IBM Rational

Implementing an Agile Transformation Using Discipline Agile Delivery Michael J Lyons World Wide Solution Deployment Architect, IBM Rational Implementing an Agile Transformation Using Discipline Agile Delivery Michael J Lyons World Wide Solution Deployment Architect, IBM Rational mjlyons@us.ibm.com Agenda Why a transformation? Why Agile / Lean?

More information

COMP 6481 Fall 2006 System Requirement Specifications

COMP 6481 Fall 2006 System Requirement Specifications COMP 6481 Fall 2006 System Requirement Specifications Instructor Name: Dr. Olga Ormandjieva Software Requirements Engineering using Agile Methods Project Report Name: Muhammad F. Ahmed ID: 5774454 Name:

More information

Software Development Methodologies. CSC 440: Software Engineering Slide #1

Software Development Methodologies. CSC 440: Software Engineering Slide #1 Software Development Methodologies CSC 440: Software Engineering Slide #1 Topics 1. The Waterfall Model 2. Agile Software Development 3. The Unified Process 4. Object-Oriented Analysis and Design 5. The

More information

The Challenge of Agile Estimating

The Challenge of Agile Estimating The Challenge of Agile Estimating Christina Donadi Heather Nayhouse SCEA/ISPA National Conference, Albuquerque, New Mexico June 2011 2011 TASC, Inc. Agenda Overview of Agile Development Importance of Agile

More information

Scrum. Software Engineering and. The Waterfall model. The Waterfall model - some arguments. The Waterfall model - some arguments. Time.

Scrum. Software Engineering and. The Waterfall model. The Waterfall model - some arguments. The Waterfall model - some arguments. Time. Software Engineering and Scrum autumn 2010 Department of Computer and Information Science Linköping University, Sweden The Waterfall model Requirements One of the first life-cycle models (Royce, 1970)

More information

January 17, All Rights Reserved Best Practices Training, LLC

January 17, All Rights Reserved Best Practices Training, LLC January 17, 2012 January 17, 2012 1 Agile has now become mainstream, and there are two dominant approaches for managing projects: Traditional Project Management (TPM) - Best represented by the PMBOK Guide

More information

Businesses now operate in rapidly changing environment.

Businesses now operate in rapidly changing environment. Computers II Lesson 3 3.0 Agile software development Businesses now operate in rapidly changing environment. They have to respond to new opportunities and markets, changing economic conditions, and the

More information

An Evolutionary Lifecycle Model with Agile Practices for Software Development at ABB

An Evolutionary Lifecycle Model with Agile Practices for Software Development at ABB An Evolutionary Lifecycle Model with Agile Practices for Software Development at ABB Aldo Dagnino ABB US Corporate Research Center 1021 Main Campus Drive Raleigh, NC, USA aldo.dagnino@us.abb.com Abstract

More information

Course Title: Agile for Business Analysts

Course Title: Agile for Business Analysts Course Title: Agile for Business Analysts 2 Day Workshop AG-BA08 Agile for Business Analysts Course ID: AG-BA08 Credits: 14 PDUs Course Duration: 2 days Course Level: Basic/Intermediate Prerequisites:

More information

Johanna Rothman Part II Design and Manage an Agile and Lean Project Chapter 5 Start Your Agile Project Right. Copyright 2017

Johanna Rothman Part II Design and Manage an Agile and Lean Project Chapter 5 Start Your Agile Project Right. Copyright 2017 Johanna Rothman Part II Design and Manage an Agile and Lean Project Chapter 5 Start Your Agile Project Right Copyright 2017 Start you Agile project right Projects need direction teams need to know where

More information

Scaling Agile With ZolonTech. Transform your Organization today with Agile Application Development

Scaling Agile With ZolonTech. Transform your Organization today with Agile Application Development Scaling Agile With ZolonTech Transform your Organization today with Agile Application Development ABSTRACT AGILE DEVLOPMENT To face many of the challenges and frustrations around slow and unproductive

More information

Development Methodologies

Development Methodologies Development Methodologies Dr. James A. Bednar jbednar@inf.ed.ac.uk http://homepages.inf.ed.ac.uk/jbednar Dr. David Robertson dr@inf.ed.ac.uk http://www.inf.ed.ac.uk/ssp/members/dave.htm SAPM Spring 2012:

More information

Introduction. Failure. Why Projects Fail. Agile in an Hour

Introduction. Failure. Why Projects Fail. Agile in an Hour Agile in an Hour Joe Bergin & Fred Grossman Seidenberg School Computer Science and Information Systems Pace University Introduction Agile Software Development is a high discipline and very iterative development

More information

Dissatisfaction with the overheads involved in software design methods of the 1980s and 1990s led to the creation of agile methods.

Dissatisfaction with the overheads involved in software design methods of the 1980s and 1990s led to the creation of agile methods. Agile methods Dissatisfaction with the overheads involved in software design methods of the 1980s and 1990s led to the creation of agile methods. These methods: Focus on the code rather than the design

More information

Course Title: Agile for Business Analysts

Course Title: Agile for Business Analysts Course Title: Agile for Business Analysts 2 Day Workshop AG-BA08 Agile for Business Analysts Course ID: AG-BA08 Credits: 14: PMI-PDUs, IIBA-CDUs (Professional Development Hours) Course Duration: 2 days

More information

Agile Methods. Background

Agile Methods. Background Agile Methods Agile Alliance http://www.agilealliance.com/home Background In 2001, a group of lightweight methodologies practioners met to discuss similarities and experiences They wrote the Manifesto

More information

Agile Transformation Key Considerations for success

Agile Transformation Key Considerations for success Agile Transformation Key Considerations for success introduction Scrums are one of the most dangerous phases in rugby, since a collapse or improper engage can lead to a front row player damaging or even

More information

Extreme Programming, an agile software development process

Extreme Programming, an agile software development process Extreme Programming, an agile software development process Paul Jackson School of Informatics University of Edinburgh Recall: Waterfall and Spiral Models 1.Determine objectives Cumulative cost Progress

More information

CONTENTS. Introduction to Software Engineering. Software Process and Life Cycle Models. Software Life-Cycle Model-2. Chapter 1. Chapter 2.

CONTENTS. Introduction to Software Engineering. Software Process and Life Cycle Models. Software Life-Cycle Model-2. Chapter 1. Chapter 2. Contents (v) CONTENTS Preface About the Author (xv) (xvii) Chapter 1 Introduction to Software Engineering 1.1 Introduction 1 1.2 Basics of Software Engineering 2 1.3 Principles of Software Engineering

More information

Chapter 4 Document Driven Approach for Agile Methodology

Chapter 4 Document Driven Approach for Agile Methodology Chapter 4 Document Driven Approach for Agile Methodology In this chapter, 4.1. Introduction 4.2. Documentation Selection Factors 4.3. Minimum Required Documents 4.4. Summary 4.1. Introduction In all, the

More information

Project Management in Practice Agile Agile 101 Introduction to Agile

Project Management in Practice Agile Agile 101 Introduction to Agile 101 Introduction to 7-1 Introduction Overview Brief History of Methodologies vs. Traditional PM 7-2 Introduction 7-3 After today s session, you ll walk away with: An understanding of what means in the

More information

ABHELSINKI UNIVERSITY OF TECHNOLOGY

ABHELSINKI UNIVERSITY OF TECHNOLOGY T 76.3601 Introduction to Software Engineering Software Life-Cycle Models http://www.soberit.hut.fi/t-76.3601/ Casper.Lassenius@tkk.fi Software Engineering? 1. The application of a systematic, disciplined,

More information

Aligning Architecture work with Agile Teams

Aligning Architecture work with Agile Teams Aligning Architecture work with Agile Teams Eoin Woods Endava 15 th July 2015. Agile software development is a very widely practiced software development approach and nowadays there is also broad recognition

More information

Software Engineering

Software Engineering Software Engineering Lecture 02: Processes Peter Thiemann University of Freiburg, Germany SS 2013 Peter Thiemann (Univ. Freiburg) Software Engineering SWT 1 / 41 Terms Software Component SW System Organized

More information

FIT2101 Software Engineering Process and Management

FIT2101 Software Engineering Process and Management FIT2101 Software Engineering Process and Management Agile and Software Process Models Topics Covered Features of Agile What Agile Isn t Agile Process Models Software Process Models In 2001 leaders of lightweight

More information

Watson Internet of Things. Agile Development Why requirements matter

Watson Internet of Things. Agile Development Why requirements matter Watson Internet of Things Agile Development Why requirements matter Executive summary The clear benefits of agile development better collaboration, incremental delivery, early error detection and the elimination

More information

Web Application Development Process

Web Application Development Process Web Engineering Web Application Development Process Copyright 2015 Ioan Toma & Srdjan Komazec & Nelia Lassiera 1 Where are we? # Date Title 1 5 th March Web Engineering Introduction and Overview 2 12 th

More information

Q&A from Transitioning from Waterfall to Agile Web Seminar

Q&A from Transitioning from Waterfall to Agile Web Seminar Q&A from Transitioning from Waterfall to Agile Web Seminar -How does this method allow you to provide the client with a budget that they can depend on at the start of the project? ASK: Because the Agile

More information

Co-founder and Managing Director of RADTAC Specialist in Agile and Iterative approaches since mid 80s Agile Alliance Founder Member in 2002

Co-founder and Managing Director of RADTAC Specialist in Agile and Iterative approaches since mid 80s Agile Alliance Founder Member in 2002 Introduction to Agile BCS Spring School 2 nd March 2009 David Hicks david.hicks@radtac.co.uk Tel: 07778 558296 www.radtac.co.uk Introduction : David Hicks, RADTAC Co-founder and Managing Director of RADTAC

More information

A one day Introduction. Tim Guay, PMP, CSM, PMI-ACP, CLSSS

A one day Introduction. Tim Guay, PMP, CSM, PMI-ACP, CLSSS A one day Introduction Tim Guay, PMP, CSM, PMI-ACP, CLSSS tim@agileworksinc.com 1 To give those who are not familiar with Agile a quick overview of key Agile and Scrum concepts. 2 1 Agile Overview 2 User

More information

AHGILE A N D B O O K

AHGILE A N D B O O K AGILE HANDBOOK OVERVIEW 2 OVERVIEW This handbook is meant to be a quick-starter guide to Agile Project Management. It is meant for the following people: Someone who is looking for a quick overview on what

More information