Agile and Evolutionary Software Development

Size: px
Start display at page:

Download "Agile and Evolutionary Software Development"

Transcription

1 Agile and Evolutionary Software Development Václav Rajlich Wayne State University Department of Computer Science 2015 Václav Rajlich Agile and Evolutionary Software Development 1

2 Contents Staged model of software lifespan Agile and evolutionary development Software change Software maintenance Václav Rajlich Agile and Evolutionary Software Development 2

3 Staged model of nitial development software lifespan first version evolutionary changes Evolution Development evolution stops servicing patches Maintenance (Servicing) servicing discontinued Phase-out switch-off Close-down 2015 Václav Rajlich Agile and Evolutionary Software Development 3

4 nitial development nitial development first version evolutionary changes Evolution Development evolution stops Fundamental project decisions Technologies, architecture, GU design, First (incomplete) version Phases: requirements, design, implementation 2015 Václav Rajlich Agile and Evolutionary Software Development 4

5 nitial development Evolution first version evolutionary changes Evolution Development evolution stops Repeated software changes Each change adds/modifies functionality or property of existing (and running) software 2015 Václav Rajlich Agile and Evolutionary Software Development 5

6 Evolutionary Software Development (ESD) Bulk of development is done in evolution Offers stakeholders regular feedback about the progress of the project Allows the developers to react to the volatility Volatility of requirements, technology, or knowledge 2015 Václav Rajlich Agile and Evolutionary Software Development 6

7 Waterfall Bulk is done in initial development Little or no evolution Suitable for projects without volatility Stable technology and domain Stable knowledge small projects 2015 Václav Rajlich Agile and Evolutionary Software Development 7

8 Contents Staged model of software lifespan Agile and evolutionary development (ESD) Software change Software maintenance 2015 Václav Rajlich Agile and Evolutionary Software Development 8

9 ESD Current mainstream There are numerous ESD processes with track record of success Example: Agile There are other effective ESD processes 2015 Václav Rajlich Agile and Evolutionary Software Development 9

10 terative development terations are milestones with specific goals Volatility is frozen during iteration Allows planning of iteration Stakeholders assess the past iteration and plan the next one teration meeting of all stakeholders Volatilities are taken into account during iteration meeting 2015 Václav Rajlich Agile and Evolutionary Software Development 10

11 Agile development Autonomous decision makings by developers during the iterations Requires intensive communication within the team Very short iterations Suitable for small teams SCRUM, extreme 2015 Václav Rajlich Agile and Evolutionary Software Development 11

12 Safeguarded development Presence of guardians of the code base They accept or disallow code changes Software with high quality expectations Avionics 2015 Václav Rajlich Agile and Evolutionary Software Development 12

13 Open source development Open source development Safeguarded Code ownership Wide community of developers, variable skills nner source development Leverages the experience of open source Practiced within a corporation 2015 Václav Rajlich Agile and Evolutionary Software Development 13

14 Directed development Default process Managers assign tasks to the developers Allows different specialized roles Developers, testers, architects, technology experts, managers, Suitable for large or delocalized projects 2015 Václav Rajlich Agile and Evolutionary Software Development 14

15 Exploratory development Features are establish by trial-and-error Common in research projects 2015 Václav Rajlich Agile and Evolutionary Software Development 15

16 Solo development Single developer More and more common Mobile apps 2015 Václav Rajlich Agile and Evolutionary Software Development 16

17 Success of small projects* Budget of less than $1 M 76 % of small projects are successful Only 4% of small projects are cancelled Historically high success rate *Chaos Manifesto Václav Rajlich Agile and Evolutionary Software Development 17

18 Future directions of ESD Associate individual practices with specific project circumstances Tailor new processes that exactly fit specific project needs 2015 Václav Rajlich Agile and Evolutionary Software Development 18

19 Project circumstances Example Exploratory programming is necessary Gap between programmer capability and expected quality Frequent turnover of developers High volatility of requirements, technologies, or knowledge Low volatility... (we need a very large table)... Practice suitable for the circumstances Developers are domain experts Code guardians, permission to commit Concept location practices Short initial development, short iterations Long initial development 2015 Václav Rajlich Agile and Evolutionary Software Development 19

20 Problem with large projects* Budget larger than $10 M Low (10%) probability of success 38% of them were cancelled Large financial losses Embarrassment to our community Something needs to be done *Chaos Manifesto Václav Rajlich Agile and Evolutionary Software Development 20

21 Confused debate about processes False dichotomy: waterfall vs. agile Note waterfall is suitable for stable small projects Agile is suitable for small teams Contributing to the low success rate of large projects 2015 Václav Rajlich Agile and Evolutionary Software Development 21

22 Better debate What is the appropriate size of the initial development? Volatility requires small initial development Stability allows large initial development After initial development, which ESD process is the most appropriate? Which combination of ESD practices is the most appropriate? 2015 Václav Rajlich Agile and Evolutionary Software Development 22

23 Contents Staged model of software lifespan Agile and evolutionary development Software change Software maintenance Václav Rajlich Agile and Evolutionary Software Development 23

24 Phased Model of Software Change (PMSC) nitiation Concept Location mpact Analysis Prefactoring Actualization Postfactoring Conclusion V E R F C A T O N Process model for changes with limited impact Enactment of PMSC contains a subset of phases 2015 Václav Rajlich Agile and Evolutionary Software Development 24

25 Phased Model of Software Change (PMSC) nitiation.. Requirements Concept Location mpact Analysis Prefactoring Actualization Postfactoring Conclusion V E R F C A T O N 2015 Václav Rajlich Agile and Evolutionary Software Development 25

26 Phased Model of Software Change (PMSC) nitiation Concept Location.. Requirements.. Finds what needs to change mpact Analysis Prefactoring Actualization Postfactoring Conclusion V E R F C A T O N 2015 Václav Rajlich Agile and Evolutionary Software Development 26

27 Phased Model of Software Change (PMSC) nitiation Concept Location mpact Analysis Prefactoring Actualization Postfactoring Conclusion V E R F C A T O N.. Requirements.. Finds what needs to change.. How big is the change? 2015 Václav Rajlich Agile and Evolutionary Software Development 27

28 Phased Model of Software Change (PMSC) nitiation Concept Location mpact Analysis Prefactoring Actualization Postfactoring Conclusion V E R F C A T O N.. Requirements.. Finds what needs to change.. How big is the change?.. Prepare for the change 2015 Václav Rajlich Agile and Evolutionary Software Development 28

29 Phased Model of Software Change (PMSC) nitiation Concept Location mpact Analysis Prefactoring Actualization Postfactoring Conclusion V E R F C A T O N.. Requirements.. Finds what needs to change.. How big is the change?.. Prepare for the change.. Do the change 2015 Václav Rajlich Agile and Evolutionary Software Development 29

30 Phased Model of Software Change (PMSC) nitiation Concept Location mpact Analysis Prefactoring Actualization Postfactoring Conclusion V E R F C A T O N.. Requirements.. Finds what needs to change.. How big is the change?.. Prepare for the change.. Do the change.. Clean up 2015 Václav Rajlich Agile and Evolutionary Software Development 30

31 Phased Model of Software Change (PMSC) nitiation Concept Location mpact Analysis Prefactoring Actualization Postfactoring Conclusion V E R F C A T O N.. Requirements.. Finds what needs to change.. How big is the change?.. Prepare for the change.. Do the change.. Clean up.. Commit 2015 Václav Rajlich Agile and Evolutionary Software Development 31

32 mpact analysis (A) nitiation Concept Location mpact Analysis Prefactoring Actualization Postfactoring Conclusion V E R F C A T O N A predicts prefactoring and actualization Currently unable to predict postfactoring Postfactoring often resolves technical debt after it accumulates beyond acceptable limit 2015 Václav Rajlich Agile and Evolutionary Software Development 32

33 ncremental A H B E F C A D J G L K Color codes Unknown Changed To be inspected nspected and unchanged 2015 Václav Rajlich Agile and Evolutionary Software Development Propagating 33

34 ncremental A H B E F C A D J G L K Color codes Unknown Changed To be inspected nspected and unchanged 2015 Václav Rajlich Agile and Evolutionary Software Development Propagating 34

35 ncremental A H B E F C A D J G L K Color codes Unknown Changed To be inspected nspected and unchanged 2015 Václav Rajlich Agile and Evolutionary Software Development Propagating 35

36 ncremental A H B E F C A D J G L K Color codes Unknown Changed To be inspected nspected and unchanged 2015 Václav Rajlich Agile and Evolutionary Software Development Propagating 36

37 ncremental A H B E F C A D J G L K Color codes Unknown Changed To be inspected nspected and unchanged 2015 Václav Rajlich Agile and Evolutionary Software Development Propagating 37

38 ncremental A H B E F C A D J G L K Color codes Unknown Changed To be inspected nspected and unchanged 2015 Václav Rajlich Agile and Evolutionary Software Development Propagating 38

39 ncremental A H B E F C A D J G L K Color codes Unknown Changed To be inspected nspected and unchanged 2015 Václav Rajlich Agile and Evolutionary Software Development Propagating 39

40 ncremental A H B E F C A D J G L K Color codes Unknown Changed To be inspected nspected and unchanged 2015 Václav Rajlich Agile and Evolutionary Software Development Propagating 40

41 ncremental A H B E F C A D J G L K Color codes Unknown Changed To be inspected nspected and unchanged 2015 Václav Rajlich Agile and Evolutionary Software Development Propagating 41

42 ncremental A H B E F C A D J G L K Color codes Unknown Changed To be inspected nspected and unchanged 2015 Václav Rajlich Agile and Evolutionary Software Development Propagating 42

43 ncremental A H B E F C A D J G L K Color codes Unknown Changed To be inspected nspected and unchanged 2015 Václav Rajlich Agile and Evolutionary Software Development Propagating 43

44 ncremental A H B E F C A D J G L K Color codes Unknown Changed To be inspected nspected and unchanged 2015 Václav Rajlich Agile and Evolutionary Software Development Propagating 44

45 Eclipse plug-in Java 15,000 LOC 150 Classes Keeps track of marks Changed, Propagating, Unchanged, Next 2015 Václav Rajlich Agile and Evolutionary Software Development 45

46 Research in A Navigates program dependencies Some dependencies propagate the change while others do not Heuristics and tools that identify likely to propagate dependencies - need further attention Heuristics for determining when the incremental impact analysis is completed Hidden dependencies 2015 Václav Rajlich Agile and Evolutionary Software Development 46

47 Seamless DE for PMSC PMSC currently needs multiple uncoordinated tools JRipples for concept location, impact analysis Mylyn for the workflow Tasktop for timing data JUnit for unit tests Abbot for functional tests Refactoring tools... Future DE will provide seamless support 2015 Václav Rajlich Agile and Evolutionary Software Development 47

48 Measuring impact of PMSC ntroducing well-defined process often improves productivity and quality Preliminary data PMSC may improve developer productivity up to 50%! Needs additional measurements Seamless DE may offer additional gains 2015 Václav Rajlich Agile and Evolutionary Software Development 48

49 Contents Staged model of software lifespan Agile and evolutionary development Software change Software maintenance Václav Rajlich Agile and Evolutionary Software Development 49

50 Software maintenance Maintenance evolution!! Maintenance also consists of repeated changes to software Objectives are drastically reduced The only goal is to keep software usable in a cost-effective way No new functionality Software enters maintenance (servicing) stage when it is transferred to users 2015 Václav Rajlich Agile and Evolutionary Software Development 50

51 Parallel evolution and maintenance Several branches One is evolved into new version Other branches (released versions) are just maintained 2015 Václav Rajlich Agile and Evolutionary Software Development 51

52 How does evolution stop: Managerial decision Expensive evolution stops if it is no longer needed Stabilization No longer any volatility Technical debt gets out of hand Code is no longer evolvable Can happen by accident 2015 Václav Rajlich Agile and Evolutionary Software Development 52

53 Future of maintenance Accidental code decay is a serious issue Research: Keep software evolvable, clean technical debt Complementary approach: Extend software evolution (PMSC) to the code that is currently considered non-evolvable 2015 Václav Rajlich Agile and Evolutionary Software Development 53

54 Conclusions Software evolution was historically an unexpected and peripheral phenomenon Moved into the center of software development t gained enormous importance to both developers and researchers 2015 Václav Rajlich Agile and Evolutionary Software Development 54

55 Conclusion We covered Staged model of software lifespan ncludes evolution Evolutionary software development Many processes, some suitable for large projects Phased model of software change For changes that have limited impact Software maintenance Keeping software usable, no new functionality 2015 Václav Rajlich Agile and Evolutionary Software Development 55

56 Book on this topic 56 6/2/2015

7 Impact analysis (IA)

7 Impact analysis (IA) 7 Impact analysis (IA) Determines the strategy and impact of change Classes identified in concept location are the initial impact set Class dependencies are analyzed, and impacted classes are added to

More information

1 History of software engineering

1 History of software engineering 1 History of software engineering Software is everywhere buying bread, driving car, washing clothes synonyms: programs, applications People, who develop the software software engineers, software developers,

More information

Software Development Life Cycle (SDLC)

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

More information

Understanding the Differences between Proprietary & Free and Open Source Software

Understanding the Differences between Proprietary & Free and Open Source Software Understanding the Differences between Proprietary & Free and Open Source Software D Prasad 1 and Dr.Ch.Satyananda Reddy 2 1. Department of Computer Science & Engineering, DVR & Dr HS MIC College of Technology,

More information

Project Management in Software: Origin of Agile

Project Management in Software: Origin of Agile PAGE 1 ios App Development Project Management in Software: Origin of Agile PAGE 2 Learning Outcomes By the end of the unit, you should be able to: 1. Differentiate between Waterfall and Agile process 2.

More information

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

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

More information

Agile Scrum Workshop

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

More information

UC Santa Barbara. CS189A - Capstone. Christopher Kruegel Department of Computer Science UC Santa Barbara http://www.cs.ucsb.

UC Santa Barbara. CS189A - Capstone. Christopher Kruegel Department of Computer Science UC Santa Barbara http://www.cs.ucsb. CS189A - Capstone Christopher Kruegel Department of Computer Science http://www.cs.ucsb.edu/~chris/ How Should We Build Software? Let s look at an example Assume we asked our IT folks if they can do the

More information

Nova Software Quality Assurance Process

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

More information

Agile Development with Jazz and Rational Team Concert

Agile Development with Jazz and Rational Team Concert Agile Development with Jazz and Rational Team Concert Mayank Parikh mayank.parikh.@in.ibm.com Acknowledgements: Thanks to Khurram Nizami for some of the slides in this presentation Agile Values: A Foundation

More information

A Capability Maturity Model (CMM)

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

More information

Software Engineering

Software Engineering 1 Software Engineering Lecture 2: Software Life Cycles Stefan Hallerstede Århus School of Engineering 25 August 2011 2 Contents Naive Software Development Code & Fix Towards A Software Process Software

More information

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

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

More information

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed. CS 389 Software Engineering Lecture 2 Chapter 2 Software Processes Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed. Topics covered Software process models Process activities Coping

More information

SOFTWARE PROCESS MODELS

SOFTWARE PROCESS MODELS SOFTWARE PROCESS MODELS Slide 1 Software Process Models Process model (Life-cycle model) - steps through which the product progresses Requirements phase Specification phase Design phase Implementation

More information

Testing and Scrum. Agenda. Fall 2007 Scrum Gathering

Testing and Scrum. Agenda. Fall 2007 Scrum Gathering Testing and Scrum Fall 2007 Scrum Gathering Ralph van Roosmalen Agenda Introduction The Classical Test Approach Organization Test Documentation Test Activities Recruitment Reporting Test Automation Lessons

More information

Software Development Going Incremental, Iterative and Agile:

Software Development Going Incremental, Iterative and Agile: Software Development Going Incremental, Iterative and Agile: Advantages and Challenges An Industrial Case Study Prof. Claes Wohlin, Blekinge Institute of Technology, Sweden Professorial Visiting Fellow,

More information

Agile and Secure: Can We Be Both?

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

More information

The software process. Generic software process models. Waterfall model. Software Development Methods. Bayu Adhi Tama, ST., MTI. bayu@unsri.ac.

The software process. Generic software process models. Waterfall model. Software Development Methods. Bayu Adhi Tama, ST., MTI. bayu@unsri.ac. The software process Software Development Methods Bayu Adhi Tama, ST., MTI. bayu@unsri.ac.id A structured set of activities required to develop a software system Specification; Design; Validation; Evolution.

More information

Topics covered. Agile methods Plan-driven and agile development Extreme programming Agile project management Scaling agile methods

Topics covered. Agile methods Plan-driven and agile development Extreme programming Agile project management Scaling agile methods Topics covered Chapter 3 Agile Software Development Agile methods Plan-driven and agile Extreme programming Agile project management Scaling agile methods 1 2 Need for rapid software Rapid software Changing

More information

SE464/CS446/ECE452 Software Life-Cycle and Process Models. Instructor: Krzysztof Czarnecki

SE464/CS446/ECE452 Software Life-Cycle and Process Models. Instructor: Krzysztof Czarnecki SE464/CS446/ECE452 Software Life-Cycle and Process Models Instructor: Krzysztof Czarnecki 1 Some of these slides are based on: Lecture slides by Ian Summerville accompanying his classic textbook software

More information

Unit 1 Learning Objectives

Unit 1 Learning Objectives Fundamentals: Software Engineering Dr. Rami Bahsoon School of Computer Science The University Of Birmingham r.bahsoon@cs.bham.ac.uk www.cs.bham.ac.uk/~rzb Office 112 Y9- Computer Science Unit 1. Introduction

More information

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW Year 2014, Vol. 1, issue 1, pp. 49-56 Available online at: http://journal.iecuniversity.com TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW Singh RANDEEP a*, Rathee AMIT b a* Department of

More information

Models of Software Development

Models of Software Development October 28, 2015 Verification & Validation In many computer science courses, software is submitted once, graded, and thrown away. In real life, software development is an process. Some attempts to codify

More information

Agile Software Engineering Practice to Improve Project Success

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

More information

Basic Trends of Modern Software Development

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

More information

Introduction to Agile and Scrum

Introduction to Agile and Scrum Introduction to Agile and Scrum Matthew Renze @matthewrenze COMS 309 - Software Development Practices Purpose Intro to Agile and Scrum Prepare you for the industry Questions and answers Overview Intro

More information

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

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

More information

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

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

More information

Enabling Continuous Delivery by Leveraging the Deployment Pipeline

Enabling Continuous Delivery by Leveraging the Deployment Pipeline Enabling Continuous Delivery by Leveraging the Deployment Pipeline Jason Carter Principal (972) 689-6402 Jason.carter@parivedasolutions.com Pariveda Solutions, Inc. Dallas,TX Table of Contents Matching

More information

Introducing Agility into a Phase Gate Process

Introducing Agility into a Phase Gate Process B E S T P R A C T I C E S W H I T E P A P E R Introducing Agility into a Phase Gate Process Jenny Stuart, Vice President of Consulting, Construx Software Version 1.1, June 2011 Contributors Earl Beede,

More information

Netstar Strategic Solutions Practice Development Methodology

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

More information

How Agile methods resolve chaos and unpredictability in software projects

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

More information

CSE 435 Software Engineering. Sept 16, 2015

CSE 435 Software Engineering. Sept 16, 2015 CSE 435 Software Engineering Sept 16, 2015 2.1 The Meaning of Process A process: a series of steps involving activities, constraints, and resources that produce an intended output of some kind A process

More information

Software Development Life Cycle at SSPL. An Summary of Methodologies We Offer

Software Development Life Cycle at SSPL. An Summary of Methodologies We Offer Software Development Life Cycle at SSPL An Summary of Methodologies We Offer 10/29/2009 Table of Contents The SSPL Advantage... 2 Commonly Used SDLC Models at SSPL... 2 Waterfall Model... 2 Agile Model...

More information

Agile project management: A magic bullet?

Agile project management: A magic bullet? Agile project management: A magic bullet? Prof. Darren Dalcher d.dalcher@mdx.ac.uk Conferencia Iberoamericana de Calidad del Software Prof. Darren Dalcher 1 Outline I. What is agilility? The agile manifesto

More information

The Structure of a Software Development Team

The Structure of a Software Development Team By Tanya Smeltzer How do you determine how to structure your team? Company needs Will an outside consult be necessary to meet the requirements? Software development people available Different levels of

More information

How To Be Successful At An Agile Software Engineering

How To Be Successful At An Agile Software Engineering "Agile Software Engineering" Overview for external offering of ASE ABAP Juergen Heymann, CPO Software Engineering There are many ingredients for successful software projects Experienced Developers Domain

More information

Increasing Development Knowledge with EPFC

Increasing Development Knowledge with EPFC The Eclipse Process Framework Composer Increasing Development Knowledge with EPFC Are all your developers on the same page? Are they all using the best practices and the same best practices for agile,

More information

Agile Enterprise Data Warehousing Radical idea or practical concept?

Agile Enterprise Data Warehousing Radical idea or practical concept? Agile Enterprise Warehousing Radical idea or practical concept? Larissa T. Moss Method Focus Inc. methodfocus@earthlink.net TDWI South Florida Chapter March 11, 2011 Copyright 2011, Larissa T. Moss, Method

More information

Software engineers have traditionally considered

Software engineers have traditionally considered RESEARCH FEATURE A Staged Model for the Software Life Cycle While the industry still considers post-delivery work as simply software maintenance, the process actually falls into stages, and both management

More information

Comparing Plan-Driven and Agile Project Approaches

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

More information

www.pwc.com Scale agile throughout the enterprise A PwC point of view

www.pwc.com Scale agile throughout the enterprise A PwC point of view www.pwc.com Scale agile throughout the enterprise A PwC point of view December 2013 Overview Today it s rare to speak with a company that is not adopting some form of agile development practice. However,

More information

Agile Testing. What Students Learn

Agile Testing. What Students Learn Agile Testing Transition sound traditional test practices into an Agile development environment. By using a step-by-step approach, this course documents how to transition from traditional test practices

More information

Agile So)ware Development

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

More information

Lecture 3 Software Development Processes

Lecture 3 Software Development Processes Lecture 3 Software Development Processes Software Engineering ITCS 3155 Fall 2008 Dr. Jamie Payton Department of Computer Science University of North Carolina at Charlotte September 2, 2008 Lecture Overview

More information

When is Agile the Best Project Management Method? Lana Tylka

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

More information

Learning and Coaching Agile Methods. Görel Hedin Computer Science Lund University, Sweden

Learning and Coaching Agile Methods. Görel Hedin Computer Science Lund University, Sweden Learning and Coaching Agile Methods Görel Hedin Computer Science Lund University, Sweden Background Two undergraduate courses at Lund University XP course (mandatory, 2nd year, around 100 students) Coaching

More information

Use service virtualization to remove testing bottlenecks

Use service virtualization to remove testing bottlenecks Use service virtualization to remove testing bottlenecks Discover integration faults early by pushing integration testing left in the software lifecycle Contents 1 Complex, interconnected applications

More information

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

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

More information

Software Development Life Cycle Models - Process Models. Week 2, Session 1

Software Development Life Cycle Models - Process Models. Week 2, Session 1 Software Development Life Cycle Models - Process Models Week 2, Session 1 PROCESS MODELS Many life cycle models have been proposed } Traditional Models (plan-driven) } Classical waterfall model } Iterative

More information

Managing Software Debt: Continued Delivery of High Values as Systems Age

Managing Software Debt: Continued Delivery of High Values as Systems Age ARTICLE Managing Software Debt: Continued Delivery of High Values as Systems Age by Chris Sterling July 2008 Many software developers have to deal with legacy code at some point in their careers. Seemingly

More information

An Agile Project Management Model

An Agile Project Management Model Agile Project Management Jim Highsmith Chapter 5 An Agile Project Management Model We improve effectiveness and reliability through situationally specific strategies, processes, and practices. One of the

More information

What is BPM? Software tools enabling BPM

What is BPM? Software tools enabling BPM What is BPM? BPM, or Business Process Management, is a technology, but it is also more than that. Broadly speaking, one can consider BPM as a management discipline in which processes are valued as assets

More information

Software Development with Agile Methods

Software Development with Agile Methods Case Study Software Development with Agile Methods Introduction: Web application development is a much studied, heavily practiced activity. That is, capturing and validating user requirements, estimating

More information

Accelerating software testing effectiveness using Agile methodologies..

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

More information

AGILE vs. WATERFALL METHODOLOGIES

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

More information

Chapter 9 Software Evolution

Chapter 9 Software Evolution Chapter 9 Software Evolution Summary 1 Topics covered Evolution processes Change processes for software systems Program evolution dynamics Understanding software evolution Software maintenance Making changes

More information

Software Development Process and Activities. CS 490MT/5555, Fall 2015, Yongjie Zheng

Software Development Process and Activities. CS 490MT/5555, Fall 2015, Yongjie Zheng Software Development Process and Activities CS 490MT/5555, Fall 2015, Yongjie Zheng Software Process } A set of activities that leads to the production of a software product } What product we should work

More information

COMP 354 Introduction to Software Engineering

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

More information

Laboratório de Desenvolvimento de Software

Laboratório de Desenvolvimento de Software Laboratório de Desenvolvimento de Software FEUP/MIEIC, 2015/16 Ademar Aguiar Nuno Flores Rui Maranhão Hugo Ferreira Luís Teixeira url: moodle http://www.facebook.com/notes/facebook-engineering/visualizing-friendships/469716398919

More information

Software Development Process Models and their Impacts on Requirements Engineering Organizational Requirements Engineering

Software Development Process Models and their Impacts on Requirements Engineering Organizational Requirements Engineering Software Development Process Models and their Impacts on Requirements Engineering Organizational Requirements Engineering Prof. Dr. Armin B. Cremers Sascha Alda Overview Phases during Software Development

More information

Principles of Software Engineering: Software Methodologies. COSI 120b, Spring 2005

Principles of Software Engineering: Software Methodologies. COSI 120b, Spring 2005 Principles of Software Engineering: Software Methodologies COSI 120b, Spring 2005 Overview What are methodologies? The methodologies Traditional Incremental Evolutionary Other Conclusions Way Forward What

More information

A Sponsor Perspective on Validating Regulated Systems

A Sponsor Perspective on Validating Regulated Systems A Sponsor Perspective on Validating Regulated Systems From Traditional Waterfall Approaches to Agile Continuous Improvement Ø Ø PhUSE Wayne PA Single Day Event Nate Blevins, IS Business Relationship Director,

More information

Surveying and evaluating tools for managing processes for software intensive systems

Surveying and evaluating tools for managing processes for software intensive systems Master Thesis in Software Engineering 30 Credits, Advanced Level Surveying and evaluating tools for managing processes for software intensive systems Anuradha Suryadevara IDT Mälardalen University, ABB

More information

Alternative Development Methodologies

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

More information

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

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

More information

Driving Quality Improvement and Reducing Technical Debt with the Definition of Done

Driving Quality Improvement and Reducing Technical Debt with the Definition of Done Driving Quality Improvement and Reducing Technical Debt with the Definition of Done Noopur Davis Principal, Davis Systems Pittsburgh, PA NDavis@DavisSys.com Abstract This paper describes our experiences

More information

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

Requirement Management with the Rational Unified Process RUP practices to support Business Analyst s activities and links with BABoK IBM Software Group Requirement Management with the Rational Unified Process RUP practices to support Business Analyst s activities and links with BABoK Jean-Louis Maréchaux Software IT Specialist IBM Rational

More information

Software Engineering. So(ware Evolu1on

Software Engineering. So(ware Evolu1on Software Engineering So(ware Evolu1on 1 Software change Software change is inevitable New requirements emerge when the software is used; The business environment changes; Errors must be repaired; New computers

More information

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

Mariusz Chrapko. Before: Software Quality Engineer/ Agile Coach, Motorola, Poland. My Public Profile: http://www.linkedin. Gathering Customer Requirements in an Agile Environment Mariusz Chrapko ReConf 2009, Munich Mariusz Chrapko Now: Process Consultant/ Agile Coach@Kugler Maag CIE, Stuttgart Supported Areas: - CMMI - SPICE/

More information

Mobility Strategy Maturity Model

Mobility Strategy Maturity Model CEB Applications Leadership Council CEB Infrastructure Leadership Council Mobility Strategy Maturity Model Develop a comprehensive strategy for enabling high-value enterprise mobile capabilities. Business

More information

Agile Software Development

Agile Software Development E Learning Volume 5 Number 1 2008 www.wwwords.co.uk/elea Agile Software Development SOLY MATHEW BIJU University of Wollongong in Dubai, United Arab Emirates ABSTRACT Many software development firms are

More information

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

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

More information

Risk-based Vendor Audits of Agile Developed Software

Risk-based Vendor Audits of Agile Developed Software Quality Revolution Evolution Risk-based Vendor Audits of Agile Developed Software 22 nd Annual ASQ Audit Conference Session A8: 11 October 2013 Dr. Byron Mattingly ByronMattingly2013@yahoo.com 1 Byron

More information

The Blending of Traditional and Agile Project Management

The Blending of Traditional and Agile Project Management 1 of 6 The Blending of Traditional and Agile Project Management By Kathleen Hass Traditional project management involves very disciplined and deliberate planning and control methods. With this approach,

More information

Scrum includes a social agreement to be empirical as a Team. What do you think an empirical agreement is?

Scrum includes a social agreement to be empirical as a Team. What do you think an empirical agreement is? Scrum Discussion Questions For the Facilitator These questions and subsequent discussion points are designed to help you and your Team more efficiently implement Scrum. The following are discussion points

More information

Software Development Methodologies

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

More information

XP and TDD. Extreme Programming and Test Driven Development. Bertrand Meyer, Manuel Oriol Andreas Leitner. Chair of Software Engineering ETH Zurich

XP and TDD. Extreme Programming and Test Driven Development. Bertrand Meyer, Manuel Oriol Andreas Leitner. Chair of Software Engineering ETH Zurich XP and TDD Extreme Programming and Test Driven Development Bertrand Meyer, Manuel Oriol Andreas Leitner ETH Zurich October 27, 2006 Outline Development Processes Overview Extreme Programming Test Driven

More information

Practical Agile Requirements Engineering

Practical Agile Requirements Engineering Defense, Space & Security Lean-Agile Software Practical Agile Requirements Engineering Presented to the 13 th Annual Systems Engineering Conference 10/25/2010 10/28/2010 Hyatt Regency Mission Bay, San

More information

In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is:

In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is: In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is: The period of time that starts when a software product is conceived and ends when the product is no longer

More information

Software Engineering. What is a system?

Software Engineering. What is a system? What is a system? Software Engineering Software Processes A purposeful collection of inter-related components working together to achieve some common objective. A system may include software, mechanical,

More information

Effektiver Tool-Einsatz

Effektiver Tool-Einsatz Effektiver Tool-Einsatz für Scrum-Projekte im Java-Umfeld Agile Softwareentwicklung Werte, Prinzipien, Methoden und Prozesse 13. OBJEKTspektrum Information Days 29. April 2010, München Gerhard Müller,

More information

Using Simulation to teach project management skills. Dr. Alain April, ÉTS Montréal alain.april@etsmtl.ca

Using Simulation to teach project management skills. Dr. Alain April, ÉTS Montréal alain.april@etsmtl.ca Using Simulation to teach project management skills Dr. Alain April, ÉTS Montréal alain.april@etsmtl.ca Agenda of the workshop 1 The software project management theory overview (40 minutes) 2 Why use SDLC

More information

Agile Software Project Management Methodologies

Agile Software Project Management Methodologies Economy Informatics, 1-4/2005 27 Agile Software Project Management Methodologies Prof. Constanţa-Nicoleta BODEA, PhD Economic Informatics Department, Academy of Economic Studies, Bucharest Successfully

More information

Web Application Development Process

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

More information

CS4507 Advanced Software Engineering

CS4507 Advanced Software Engineering CS4507 Advanced Software Engineering Lectures 2 & 3: Software Development Lifecycle Models A O Riordan, 2015 Some diagrams from Sommerville, some notes from Maciaszek/Liong Lifecycle Model Software development

More information

Software Development In the Cloud Cloud management and ALM

Software Development In the Cloud Cloud management and ALM Software Development In the Cloud Cloud management and ALM First published in Dr. Dobb's Journal, February 2009: http://www.ddj.com/development-tools/212900736 Nick Gulrajani is a Senior Solutions Architect

More information

Netspective Software Development Process

Netspective Software Development Process Netspective Software Development Process The process is a tailored evolutionary prototyping-based process with hints of agile development. Evolutionary prototyping is a form of software system creation

More information

Software Development Methodology Development Process followed @ Aress

Software Development Methodology Development Process followed @ Aress Software Development Methodology Development Process followed @ Aress 1. Development Methodology Software Development at Aress has adopted Agile Software Development methodology and uses it effectively

More information

Application Lifecycle Management Using Visual Studio 2013 (SCRUM)

Application Lifecycle Management Using Visual Studio 2013 (SCRUM) Course Code: QAALMS13 Vendor: Microsoft Course Overview Duration: 3 RRP: 2,009 Application Lifecycle Management Using Visual Studio 2013 (SCRUM) Overview This three-day, instructor-led course provides

More information

Agile development. Pedro Cabalar. Departamento de Computación Facultad de Informá;ca University of Corunna, SPAIN

Agile development. Pedro Cabalar. Departamento de Computación Facultad de Informá;ca University of Corunna, SPAIN Agile development Pedro Cabalar Departamento de Computación Facultad de Informá;ca University of Corunna, SPAIN Agile Development Main bibliographic source: Agile & Itera,ve Development A Manager s Guide,

More information

HP Application Lifecycle Management

HP Application Lifecycle Management HP Application Lifecycle Management Overview HP Application Lifecycle Management is a software solution expressly designed to allow your team to take control of the application lifecycle while investing

More information

4/4/2013. Copyright 2013, Robert Ward

4/4/2013. Copyright 2013, Robert Ward Challenges In Scaling Scrum Robert Ward 3 April 2013 The Agile Manifesto In Context The Manifesto is mostly heuristics, not mandates and not first principles. It aimed to legitimize resistance to conventional

More information

Leveraging RUP, OpenUP, and the PMBOK. Arthur English, GreenLine Systems

Leveraging RUP, OpenUP, and the PMBOK. Arthur English, GreenLine Systems Software Project Management Leveraging RUP, OpenUP, and the PMBOK Arthur English, GreenLine Systems GreenLine Systems Inc. 2003 2013 My Background 30+ years of IT project management experience with both

More information

Software Development Process

Software Development Process Software Development Process 台 北 科 技 大 學 資 訊 工 程 系 鄭 有 進 教 授 2005 copyright Y C Cheng Software development process Software development process addresses requirements, expectations and realities simultaneously

More information

Agile Data Warehousing

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

More information

HP Agile Manager What we do

HP Agile Manager What we do HP Agile Manager What we do Release planning Sprint planning Sprint execution Visibility and insight Structure release Define teams Define release scope Manage team capacity Define team backlog Manage

More information

Software Processes. Coherent sets of activities for specifying, designing, implementing and testing software systems

Software Processes. Coherent sets of activities for specifying, designing, implementing and testing software systems Questions What is the life cycle of a software product? Why do we need software process models? What are the goals of a software process and what makes it different from other industrial processes? Software

More information

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

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

More information