Agile Models. Software Engineering Marco Scotto Software Engineering

Size: px
Start display at page:

Download "Agile Models. Software Engineering 2004-2005. Marco Scotto (Marco.Scotto@unibz.it) Software Engineering"

Transcription

1 Agile Models Marco Scotto

2 Content Introduction Tame projects & wicked projects Win-Win Spiral software development model XP software development process Enforcing the process 2

3 Introduction Plans are too rigid, often not dynamic enough for businesses Plans cannot address uncertainty and irreversibility properly Alternative agile methodologies: More agility in structures More flexibility in workforce Win-Win Spiral Model extreme Programming (XP) 3

4 Content Introduction Tame projects & wicked projects Win-Win Spiral software development project XP software development process Enforcing the process 4

5 Tame and wicked projects To choose the best approach to a project we must identify its nature Tame Projects Work well with plan-based models Wicked Projects Require something different 5

6 Tame projects Carried out with plan-based approach Given a suitable plan, the project can be carried out successfully Analyzability, not necessarily simplicity The structure can be decomposed into multiple tasks Three beasts appear individually Example: finding a needle in a haystack 6

7 Wicked projects Cannot be accomplished using plans Regardless of the plan, the project will end up with a partial or a complete failure Dynamic, not necessarily difficult A wealth of factors has to be taken into account Path dependency Previous versions of tools or data formats constraining future decisions At least 2 or 3 beasts have to be present and mixed together Example: a chess game 7

8 Recognizing a Wicked Project (1/2) Ten rules: 1. No definitive, analytical formulation of problem Beast: complexity 2. No stopping rule identifying when the problem is solved Beast: uncertainty 3. Solutions are good/bad, not right/wrong Beast: complexity 4. No immediate or final test for a solution Beast: uncertainty 5. Solutions have irreversible consequences Beast: irreversibility 8

9 Recognizing a Wicked Project (2/2) 6. No clear, widely accepted set of potential solutions Beast: uncertainty 7. Essentially unique; hard to find analogous projects Beast: complexity 8. Problem targeted is the cause or result of another problem interlocking issues Beast: complexity 9. Project and its causes can be interpreted in several ways by different people Beast: uncertainty 10. Project cannot go wrong Beast: irreversibility 9

10 3 beasts in wicked projects Proposition on wicked projects Comple xity Irreversibility Uncertainty 1. They do not have a definitive formulation 2. They do not have a stopping rule 3. Solutions are not true/false but good/bad 4. There is no ultimate test of a solution 5. Each solution has consequences 6. A set of potential solutions does not exists 7. Each project is essentially unique 8. Each project can be considered a symptom of another project 9. Their causes can be explained in several ways 10. The project cannot go wrong 10

11 Examples of wicked projects Customers want a fixed price but are uncertain about their desires Irreversibility in commitment of price & uncertainty in customer requirements Developers build a complex but not fully documented architecture Complexityin system & uncertainty in usage Developers have to build a complex project with a fixed budget and a deadline Complexityin system & irreversibility in resources and time 11

12 Path dependency Previous versions of tools or data formats constraining future decisions A form of irreversibility contributes to the wicked-ness of software system Examples: Users of a software product continue to use its newer version instead of switching to a better product for reason of compatibility with valuable old files QWERTY keyboard not replaced by more efficient keyboard Learning involved during the replacement period will be too much trouble 12

13 Content Introduction Tame projects & wicked projects Win-Win Spiral software development project XP software development process Enforcing the process 13

14 Win-Win Spiral Software Development Model Originated by the work of Barry Boehm, the first software engineering researcher to formalize an agile process Based on two existing approaches: The win-win approach to requirement negotiation The spiral software development model 14

15 Win-win approach Requirement negotiation is critical Elicitation of customer s desires Establishing mutual understanding Two possibilities of outcomes No accommodation can be made, no agreement Positions of both sides accommodated 15

16 Win-win approach Mutual understanding Developers acknowledge customer's desires Customer realizes what the developer can provide given certain budget and time frame Win-Win situation Goal: Satisfaction of both customer and developer Means: Make the process transparent Include Manager, Marketing Rep AND Developer in negotiation 16

17 Win-win approach Win conditions: Customer: job done Developer: paid and good reputation Process must be transparent Agreement is set of selected alternatives which: Address issue to be solved Can be carried out by developer Satisfy both customer and developer 17

18 Win-Win Negotiation Process Set of selected alternatives satisfying both customer and developers Win-win alternative can be carried out with satisfaction by * Agreement Is composed of * Selected alternative Labor provider Funds provider Addresses Developer Customer * Issue to solve Win-win condition Has been identified as 18

19 The 3 Beasts in the Negotiation Process Irreversibility agreement between customer and developer is irreversible Complexity: multi-stakeholder environment Uncertainty: different perspectives and backgrounds 19

20 The Structure of the Spiral model The spiral ring replaces the increment: Organized in terms of functions deployed to the customers Not in terms of inner functionality At each increment or ring of the spiral More complete vision of system Everything is repeated, including feasibility study and customer interactions customer is involved every ring (step) of the way Each ring contains functionalities that are useful to the end costumer Each ring does not require the rebuilding of the entire infrastructure 20

21 Spiral development model (2/3) Sample model Commit the ring Identify stakeholders for the ring to develop Validate the product built so far with the customer Determine the - win win condition, if exists time Test the ring with everything built so far Code the ring based on what has already been built and the new - win win condition Analyse the ring based on what has already been built and the new -win win condition Design the ring based on what has already been built and the new win-win condition 21

22 Spiral development model (3/3) The sample model Each ring starts at the identification of stakeholders The 8 steps are repeated for every ring in a V-shaped manner Nucleus The first ring; very critical Requires a good understanding of what to develop Requires ability to build a system without too much commitment of future developers Applying frameworks requires construction piece by piece in each ring burden to developers 22

23 Win-Win Spiral Model (1/2) The model in eight steps: 1.Identification of stakeholders of ring involves customers or those who relate to what to do next 2. Determination of the win-win condition involves customers, developers and, if needed, managers 3. Analysis on the basis of win-win condition reconcile what to build with what has already been built 4. Design on the basis of win-win condition extend the previously built design 23

24 Win-Win Spiral Model (2/2) 5. Code ring on basis of win-win condition extend the previous functionalities 6. Test of the new ring Test the ring alone and within the entire system 7. Evaluate the new version of the system evaluation with the costumer 8. Commit the work done so far 24

25 The 3 beasts in the Spiral Model Uncertainty reduced: Costumer/developers interactions increased, as they are present in each ring Irreversibility reduced: Decisions affect small portions of the system trough spiral model Likelihood of wrong irreversible decisions reduced trough costumer interactions Complexity of system reduced: Developers concentrate on one ring at the time Complexity of coordination increased 25

26 3 beasts in win-win spiral model Beast Approach Uncertainty Development prioritized based on what user wants first limits uncertainty and possible wrong communication channels on the developer s side. User has concrete perception of system growth at each ring reduces uncertainty on user s side. Irreversibility Focusing on what the user wants first limits the scope of irreversible decisions. Specifics on how to do this effectively are limited, however. Complexity Complexity is handled by limiting scope of development in each ring. The coordination complexity gets even higher. 26

27 Common output coordination mechanism Similar to incremental model Higher coordination complexity Hard to obtain required customer's involvement Flexible terms for development more suitable than fixed terms Customer needs to have confidence in developers 27

28 Evaluation of win-win spiral model (1/2) Customer-driven; direction connection with customers Development halt at any time is possible Flexible system; adaptive control of development No big architectural phase Possible shift in overall direction at each ring Less upfront investment Developer required to have technical and customer service skills 28

29 Evaluation of win-win spiral model (2/2) Small ring sizes Simplify flow of communication Reduce frequency & significance of panic situations OO methodologies suitable However, Higher coordination complexity Cannot be managed by using only standard planbased techniques Theoretically-based Instances of the model and knowledge of its application are limited 29

30 Content Introduction Tame projects & wicked projects Win-Win Spiral software development XP software development process Enforcing the process 30

31 XP software development process XP was born as a support for a very specific project, not as an original model 31

32 Three drivers Focus on value and on what generates the value Constant flow of activities driven by customer s desire Aim at eliminating defects without any trade-off decision 32

33 Four founding values Communication Among developers and with customers Simplicity Simplest solution preferred; no fancy details Feedback From other developers and from customer Courage Developers not afraid to make changes and discuss issues with customer Customer not worried about developers wasting money 33

34 Drivers & values (1/2) Focus on the value and on what generates value Simplicity: consider only features of interest Communication & feedback: customer defines focus Constant flow of activities driven by customer s desire Feedback & courage: negotiation about priorities and functionality Aim at highest possible absence of defects Simplicity: prevent inserting defects Feedback: from tools and customer Communication: among developers Courage: test code under severe circumstances 34

35 Drivers & values (2/2) Relationship between XP drivers and values Focus on value Communication Constant flow Simplicity Feedback Absence of defects Courage 35

36 12 practices Planning game Addresses uncertainty Short releases Addresses uncertainty, irreversibility, and complexity Metaphor Addresses uncertainty and complexity Simple design Addresses uncertainty, irreversibility, and complexity Testing Addresses uncertainty, irreversibility, and complexity Refactoring Addresses irreversibility and complexity Pair programming Addresses uncertainty and complexity Collective code ownership Addresses complexity Continuous integration Addresses uncertainty, irreversibility, and complexity 40 hours working week Addresses complexity On-site customer Addresses uncertainty Coding standards Addresses complexity 36

37 Drivers, values, & practices Drivers Values Focus on value Constant flow No defects Communications Simplicity Feedback Courage Planning game Short release Metaphor Simple design Testing Refactoring Pair program. Collective code ownership Continuous integration 40hrs week On-site customer Coding standard 37

38 Addressing the 3 beasts Uncertainty Communication and feedback limit miscommunication Simplicity prevents creation of confusing structures Irreversibility Deferring decisions on issues not of highest level priority Gathering frequent and fast feedback from customer Complexity Simplicity suppresses complexity XP tries to eliminate waste from complexity 38

39 Common output coordination mechanism Complicated; deters some from using XP Constraints not appear as superimposed All developers can modify code if satisfying test cases Planning done by all 3 parties Customer Manager Developers Same pace, code, and standards XP's practices keep system simple and amenable Dependencies Start-to-start for overall project End-to-start among activities within iteration 39

40 XP practices & the 3 beasts Which practices reduce or eliminate the beasts XP Practices Beasts Uncertainty Irreversibility Complexity Planning game Short releases Metaphor Simple design Testing Refactoring Pair programming Collective code ownership Continuous integration 40 hours working week On-site customer Coding standards 40

41 XP & cowboy coding (1/2) Practices between the two are compared For disproving the claim of similarity between the two styles XP practices Cowboy coding Planning game: priorities based on both technical and business considerations with customers Short releases Metaphor: a lingua franca between customer and developer. Simple design: design and code kept simple, supported by collective code ownership and refactoring Priorities based only on technical consideration and decided by developers. Releases are usually long and driven by phone calls of complaint from customer. There is no lingua franca between customer and developer. Usually no consideration for simplicity. Refactoring is not an issue. Test first: test cases are developed upfront The test cases, when exist, are developed at the end, without a rigorous process. 41

42 XP & cowboy coding (2/2) XP practices Pair programming: the pairs change constantly. Sharing knowledge is a must. Collective code ownership: everyone can modify any part of the system if it satisfies all tests. Continuous integration: code is centralized and tools are used for continuous integration. 40 hours a week: trying to keep the amount of work constant across the project. Coding standards: shared across the team. On-site customer: there is a high communication band with him/her using a win-win principle. Cowboy coding Programming is done by individuals who usually are gurus, not willing to share their knowledge. Everyone touches any part of the system without any rule. The code is kept randomly by developers without a common repository. People work in spikes. No work done for some weeks. Weeks with 100 hours of work when the deadline is near. Coding standards are mainly based on personal criteria. The customer perceived as an enemy, kept away from the coding site. Spaghetti codes behind closed door 42

43 Evaluation Even higher coordination complexity compared to spiral model Adaptation rather than implementation Not be treated as a religion Other possibilities are available Should not be used extensively with plan-based tools Key to success Short releases Adaptive approach 43

44 Creating your own XP process Adaptation rather than implementation XP a religion Extensive use of plan-based tools for XP Careful consideration of the 3 drivers when moving to XP The drivers are not unique for all projects Proceed gradually when introducing practices Key: Short releases and adaptive approach Remember, XP is not the only possibility 44

45 Content Introduction Tame projects & wicked projects Win-Win Spiral software development XP software development process Enforcing the process 45

46 Enforcing the process Enforcing a process, yet not compromising the human nature of software development Difficult to control the commitment of developers in plan based processes XP and other agile processes are even more selfcoordinated Trust and cooperation become the major factors Hard rules to simplify coordination and to help process management in XP E.g., Pair programming, coding standards, 40 hours week, etc. 46

Plan-based Software Development

Plan-based Software Development Plan-based Software Development 2004-2005 Marco Scotto (Marco.Scotto@unibz.it) Development Models Introduction The Waterfall Development Model The V-Shaped Software Development Model The Incremental Software

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

Agile Projects 7. Agile Project Management 21

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

More information

A Comparison between Five Models of Software Engineering

A Comparison between Five Models of Software Engineering International Journal of Research in Information Technology (IJRIT) www.ijrit.com ISSN 2001-5569 A Comparison between Five Models of Software Engineering Surbhi Gupta, Vikrant Dewan CSE, Dronacharya College

More information

Software Development Process

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

More information

Mapping The Best Practices of XP and Project Management: Well defined approach for Project Manager

Mapping The Best Practices of XP and Project Management: Well defined approach for Project Manager HTTPS://SITES.GOOGLE.COM/SITE/JOURNALOFCOMPUTING/ 103 Mapping The Best Practices of XP and Project Management: Well defined approach for Project Manager Muhammad Javed 1, Bashir Ahmad 1, Shahid Hussain

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

Agile Methodologies and Its Processes

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

More information

XP & Scrum. extreme Programming. XP Roles, cont!d. XP Roles. Functional Tests. project stays on course. about the stories

XP & Scrum. extreme Programming. XP Roles, cont!d. XP Roles. Functional Tests. project stays on course. about the stories XP & Scrum Beatrice Åkerblom beatrice@dsv.su.se extreme Programming XP Roles XP Roles, cont!d! Customer ~ Writes User Stories and specifies Functional Tests ~ Sets priorities, explains stories ~ May or

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

Bottlenecks in Agile Software Development Identified Using Theory of Constraints (TOC) Principles

Bottlenecks in Agile Software Development Identified Using Theory of Constraints (TOC) Principles Master thesis in Applied Information Technology REPORT NO. 2008:014 ISSN: 1651-4769 Department of Applied Information Technology or Department of Computer Science Bottlenecks in Agile Software Development

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

Extreme Programming, an agile software development process

Extreme Programming, an agile software development process Extreme Programming, an agile software development process Nigel Goddard School of Informatics University of Edinburgh Recall: Waterfall and Spiral Models Waterfall: Spiral: Split project into controlled

More information

EXTREME PROGRAMMING AGILE METHOD USED IN PROJECT MANAGEMENT

EXTREME PROGRAMMING AGILE METHOD USED IN PROJECT MANAGEMENT EXTREME PROGRAMMING AGILE METHOD USED IN PROJECT MANAGEMENT Cruceru Anca Romanian- American University, Faculty of Management- Marketing, 1B Expozitiei Blvd, Bucharest, cruceruanca@yahoo.com, 0723508894

More information

ASSESSMENT OF SOFTWARE PROCESS MODELS

ASSESSMENT OF SOFTWARE PROCESS MODELS ASSESSMENT OF SOFTWARE PROCESS MODELS Akhilesh Research Scholar, Department of Computer Science, Manav Bharti University, Solan (H.P.) ABSTRACT The field of software engineering is related to the development

More information

XP and Design. Paulo Caroli & Sudhindra Rao. ThoughtWorks

XP and Design. Paulo Caroli & Sudhindra Rao. ThoughtWorks XP and Design Paulo Caroli & Sudhindra Rao ThoughtWorks XP and Design Where did the Design phase go? About us About us 14 + 6 About us Certified Architect About us Agile Coach / Developer Agenda Agenda

More information

Quality Assurance Software Development Processes

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

More information

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 Waterfall: Spiral: Split project into controlled

More information

Agile Software Development Methodologies and Its Quality Assurance

Agile Software Development Methodologies and Its Quality Assurance Agile Software Development Methodologies and Its Quality Assurance Aslin Jenila.P.S Assistant Professor, Hindustan University, Chennai Abstract: Agility, with regard to software development, can be expressed

More information

Introduction to extreme Programming (XP)

Introduction to extreme Programming (XP) Introduction to extreme Programming (XP) Extreme Programming (XP) Kent Beck C3 Project Chrysler Comprehensive Compensation system. XP Values: Communication Courage Feedback Simplicity Established the Twelve

More information

A Comparison Between Five Models Of Software Engineering

A Comparison Between Five Models Of Software Engineering 94 A Comparison Between Five Models Of Software Engineering Nabil Mohammed Ali Munassar 1 and A. Govardhan 2 1 Ph.D Student of Computer Science & Engineering Jawahrlal Nehru Technological University Kuktapally,

More information

Agile processes. Extreme Programming, an agile software development process. Extreme Programming. Risk: The Basic Problem

Agile processes. Extreme Programming, an agile software development process. Extreme Programming. Risk: The Basic Problem Agile processes Extreme Programming, an agile software development process Perdita Stevens School of Informatics University of Edinburgh What the spiral models were reaching towards was that software development

More information

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

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

More information

Agile processes. Extreme Programming, an agile software development process

Agile processes. Extreme Programming, an agile software development process Agile processes Extreme Programming, an agile software development process Nigel Goddard School of Informatics University of Edinburgh What the spiral models were reaching towards was that software development

More information

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

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

More information

Guideline to purchase a CRM Solution

Guideline to purchase a CRM Solution Guideline to purchase a CRM Solution esphere Whitepaper Content list Introduction... 3 Challenges... 3 Overview... 4 Define Your CRM Requirements and Business Objectives and start gather information...

More information

The Agile Manifesto is based on 12 principles:

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

More information

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 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

15 Principles of Project Management Success

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

More information

Agile and Secure: Can We Be Both?

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

More information

Software Development Process Selection Approaches

Software Development Process Selection Approaches The Journal of Applied Science Vol. 11 No. Vol. 2:45-50 11 No. 2 [2012] ISSN 1513-7805 Printed in Thailand Review Article Software Development Process Selection Approaches Phongphan Danphitsanuphan Department

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

Agile Development Overview

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

More information

Development Techniques. CSE301 University of Sunderland Harry R. Erwin, PhD

Development Techniques. CSE301 University of Sunderland Harry R. Erwin, PhD Development Techniques CSE301 University of Sunderland Harry R. Erwin, PhD Sources Boehm, 1981, Software Engineering Economics, Prentice- Hall. Stephens and Rosenberg, 2003, Extreme Programming Refactored:

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

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

Extreme Programming. Sergey Konovalov and Stefan Misslinger. May 23, 2006

Extreme Programming. Sergey Konovalov and Stefan Misslinger. May 23, 2006 Extreme Programming Sergey Konovalov and Stefan Misslinger May 23, 2006 1 Contents 1 Introduction 3 2 Why do we need XP? 3 3 Economics of Software Development 4 4 Extreme Programming Values 4 5 Extreme

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

An Assessment between Software Development Life Cycle Models of Software Engineering

An Assessment between Software Development Life Cycle Models of Software Engineering International Journal of Electronics and Computer Science Engineering 700 Available Online at www.ijecse.org ISSN- 2277-1956 An Assessment between Software Development Life Cycle Models of Software Engineering

More information

How To Understand The Software Process

How To Understand The Software Process Ingegneria del Software Corso di Laurea in Informatica per il Management Software process model Davide Rossi Dipartimento di Informatica Università di Bologna The task of the software development team

More information

The most suitable system methodology for the proposed system is drawn out.

The most suitable system methodology for the proposed system is drawn out. 3.0 Methodology 3.1 Introduction In this chapter, five software development life cycle models are compared and discussed briefly. The most suitable system methodology for the proposed system is drawn out.

More information

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

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

More information

Organizing Software Development

Organizing Software Development Organizing Software Development 2004-2005 Marco Scotto (Marco.Scotto@unibz.it) Content Introduction The three beasts Components of a software development project Plan-driven and agile approaches 2 Introduction

More information

Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution

Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution Software Life Cycle Main issues: Discussion of different life cycle models Maintenance or evolution Not this life cycle SE, Software Lifecycle, Hans van Vliet, 2008 2 Introduction software development

More information

Ingegneria del Software Corso di Laurea in Informatica per il Management. Agile software development

Ingegneria del Software Corso di Laurea in Informatica per il Management. Agile software development Ingegneria del Software Corso di Laurea in Informatica per il Management Agile software development Davide Rossi Dipartimento di Informatica Università di Bologna The problem Efficiency: too much effort

More information

Expert Reference Series of White Papers. Intersecting Project Management and Business Analysis

Expert Reference Series of White Papers. Intersecting Project Management and Business Analysis Expert Reference Series of White Papers Intersecting Project Management and Business Analysis 1-800-COURSES www.globalknowledge.com Intersecting Project Management and Business Analysis Daniel Stober,

More information

Agile Project Management. Jan Pool NioCAD University of Stellenbosch 16 April 2008

Agile Project Management. Jan Pool NioCAD University of Stellenbosch 16 April 2008 Agile Project Management Jan Pool NioCAD University of Stellenbosch 16 April 2008 Introduction Objective: Introduce a general Agile Project Management framework. Target Audience: Product, program and project

More information

Introduction. Introduction. Software Engineering. Software Engineering. Software Process. Department of Computer Science 1

Introduction. Introduction. Software Engineering. Software Engineering. Software Process. Department of Computer Science 1 COMP209 Object Oriented Programming System Design Mark Hall Introduction So far we ve looked at techniques that aid in designing quality classes To implement a software system successfully requires planning,

More information

How To Understand The Limitations Of An Agile Software Development

How To Understand The Limitations Of An Agile Software Development A Cynical View on Agile Software Development from the Perspective of a new Small-Scale Software Industry Apoorva Mishra Computer Science & Engineering C.S.I.T, Durg, India Deepty Dubey Computer Science

More information

Agile Software Engineering, a proposed extension for in-house software development

Agile Software Engineering, a proposed extension for in-house software development Journal of Information & Communication Technology Vol. 5, No. 2, (Fall 2011) 61-73 Agile Software Engineering, a proposed extension for in-house software development Muhammad Misbahuddin * Institute of

More information

Agile with XP and Scrum

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

More information

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

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

More information

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

Génie Logiciel et Gestion de Projets. Software Processes Focus on Extreme Programming

Génie Logiciel et Gestion de Projets. Software Processes Focus on Extreme Programming Génie Logiciel et Gestion de Projets Software Processes Focus on Extreme Programming 1 Roadmap Process, Method, Methodology?? What is a software process? Software Process Models Methodologies: RUP Focus

More information

Changing Roles and Responsibilities from Traditional project management to Agile project management

Changing Roles and Responsibilities from Traditional project management to Agile project management Changing Roles and Responsibilities from Traditional project management to Agile project management Vishvadeep Tripathi School of computer science and IT Devi Ahilya University Indore, India vishvadeep@gmail.com

More information

Development. Lecture 3

Development. Lecture 3 Software Process in Modern Software Development Lecture 3 Software Engineering i Practice Software engineering practice is a broad array of principles, concepts, methods, and tools that must be considered

More information

Software Quality Assurance in Agile, XP, Waterfall and Spiral A Comparative Study

Software Quality Assurance in Agile, XP, Waterfall and Spiral A Comparative Study Software Quality Assurance in Agile, XP, Waterfall and Spiral A Comparative Study S. Vijayakumar vijsy003@students.unisa.edu.au School of Computer and Information Science University of South Australia,

More information

AGILE METHODOLOGY IN SOFTWARE DEVELOPMENT

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

More information

Extreme Programming: Strengths and Weaknesses

Extreme Programming: Strengths and Weaknesses The International Arab Conference on Information Technology (ACIT 2013) Extreme Programming: Strengths and Weaknesses Ahmad dalalah Prep. Year Deanship University of Hail, SA a.dalalah@uoh.edu.sa Abstract:

More information

Contents. 3 Agile Modelling 31 3.1 Introduction 31 3.2 Modelling Misconceptions 31

Contents. 3 Agile Modelling 31 3.1 Introduction 31 3.2 Modelling Misconceptions 31 Contents 1 Introduction 1 1.1 WhyThisBook? 1 1.2 A Bit of History 1 1.3 What Is Agile Software Development? 2 1.4 WhyBe Agile? 3 1.5 What This Book Is About? 3 1.6 Implementation Languages 3 1.7 The Structure

More information

Software Engineering and Scientific Computing

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

More information

What Does Large Mean? Copyright 2003 by N. Josuttis and J. Eckstein 3. Why is Large an Issue?

What Does Large Mean? Copyright 2003 by N. Josuttis and J. Eckstein 3. Why is Large an Issue? Skalierung von agilen Prozessen Ein Erfahrungsbericht OOP 2003 Jutta Eckstein Nicolai Josuttis This Talk is About Agility Large Experience Success Copyright 2003 by N. Josuttis and J. Eckstein 2 1 What

More information

Agile Governance. Appropriate oversight for the Agile organisation. Chris Davies AXA Personal Lines Insurance. Andrew Craddock Partner - nlighten

Agile Governance. Appropriate oversight for the Agile organisation. Chris Davies AXA Personal Lines Insurance. Andrew Craddock Partner - nlighten Appropriate oversight for the Agile organisation Andrew Craddock Partner - nlighten Chris Davies AXA Personal Lines Insurance Governance Corporate Governance the set of processes, customs, policies, laws,

More information

Agile development of safety-critical software while meetings standards' requirements

Agile development of safety-critical software while meetings standards' requirements 1(37) Agile development of safety-critical software while meetings standards' requirements Matti Vuori, Tampere University of Technology 2011-11-04 Contents 1/2 A study in Ohjelmaturva 4 Tendency to be

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

Introduction. Motivational Principles. An Introduction to extreme Programming. Jonathan I. Maletic, Ph.D.

Introduction. Motivational Principles. An Introduction to extreme Programming. Jonathan I. Maletic, Ph.D. An Introduction to extreme Programming Jonathan I. Maletic, Ph.D. Department of Computer Science Kent State University Introduction Extreme Programming (XP) is a (very) lightweight incremental software

More information

Agile Software Development. Mohsen Afsharchi

Agile Software Development. Mohsen Afsharchi Agile Software Development Mohsen Afsharchi I. Agile Software Development Agile software development is a group of software development methods based on iterative and incremental development, where requirements

More information

How To Buy A Crm Solution

How To Buy A Crm Solution CRM Buying Guide: 7 Steps to Making a CRM Purchase Decision Updated - Winter 2006 PAGE TABLE OF CONTENTS 7 Steps to Making a CRM Purchase Decision 2 Introduction Step 1: Define Your CRM Requirements and

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

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

Why Agile Works: Economics, Psychology, and Science. @MatthewRenze #PrDC16

Why Agile Works: Economics, Psychology, and Science. @MatthewRenze #PrDC16 Why Agile Works: Economics, Psychology, and Science @MatthewRenze #PrDC16 Purpose Explain why Agile practices are so successful Insights from: Economics Psychology Science Top 7 most important ideas Ideas

More information

Getting Started with Agile Project Management Methods for Elearning

Getting Started with Agile Project Management Methods for Elearning Getting Started with Agile Project Management Methods for Elearning Megan Torrance TorranceLearning Training2013 Session 108 February 18, 2013 8am Megan Torrance has 20 years of experience in the learning

More information

Agile Development with C#

Agile Development with C# Agile Development with C# Paweł Jarosz, pjarosz@pk.edu.pl Cracow University of Technology, Poland Jyvaskyla University of Applied Sciences, February 2009 Paweł Jarosz who am I? M.Sc. of Applied Physics

More information

PROCESS OF MOVING FROM WATERFALL TO AGILE PROJECT MANAGEMENT MODEL

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

More information

SOFTWARE ENGINEERING CSC 423 B - MWF 11-12 EXTREME PROGRAMMING

SOFTWARE ENGINEERING CSC 423 B - MWF 11-12 EXTREME PROGRAMMING SOFTWARE ENGINEERING CSC 423 B - MWF 11-12 EXTREME PROGRAMMING TO: Dr. Khaldoun El Khalidi FROM: Lamia Nassif, Jessy, Nadine Ghanem, & Pedro Maroun Eid Due: 20 March 2002 1 Table of Contents I. ABSTRACT...3

More information

Agile-Fall Process Flow Model A Right Candidate for Implementation in Software Development and Testing Processes for Software Organizations

Agile-Fall Process Flow Model A Right Candidate for Implementation in Software Development and Testing Processes for Software Organizations www.ijcsi.org 457 Agile-Fall Process Flow Model A Right Candidate for Implementation in Software Development and Testing Processes for Software Organizations Prakash.V SenthilAnand.N Bhavani.R Assistant

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

Successful Project Management to Achieve Corporate Strategy Engineers Australia Middle East Interest Group Adel Khreich January 2011

Successful Project Management to Achieve Corporate Strategy Engineers Australia Middle East Interest Group Adel Khreich January 2011 Successful Project Management to Achieve Corporate Strategy Engineers Australia Middle East Interest Group Adel Khreich January 2011 About Institute of Management A Division of Blue Visions Management

More information

Creating a High Maturity Agile Implementation

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

More information

SEEM4570 System Design and Implementation Lecture 10 Software Development Process

SEEM4570 System Design and Implementation Lecture 10 Software Development Process SEEM4570 System Design and Implementation Lecture 10 Software Development Process Software Development A software development process: A structure imposed on the development of a software product Also

More information

Bridging the Gap: Traditional to Agile Project Management. I. S. Parente 1. Susan Parente, PMP, PMI ACP, CISSP, PMI RMP, ITIL, MSEM;

Bridging the Gap: Traditional to Agile Project Management. I. S. Parente 1. Susan Parente, PMP, PMI ACP, CISSP, PMI RMP, ITIL, MSEM; Bridging the Gap: Traditional to Agile Project Management ABSTRACT I. S. Parente 1 1 Susan Parente, PMP, PMI ACP, CISSP, PMI RMP, ITIL, MSEM; S3 Technologies, LLC, Principal Consultant; parente@s3 tec.com

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

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

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

RUP and XP, Part I: Finding Common Ground

RUP and XP, Part I: Finding Common Ground RUP and XP, Part I: Finding Common Ground by Gary Pollice Evangelist, The Rational Unified Process Rational Software extreme Programming (XP) is hot! Attend any software development conference today and

More information

Introduction to Agile

Introduction to Agile Chapter 1 Introduction to Agile Objectives: Define Agile software development Explain differences and similarities between various lightweight methodologies Learn the core principles of Agile Dispel common

More information

Software Process. Process: A sequence of activities, subject to constraints on resources, that produce an intended output of some kind.

Software Process. Process: A sequence of activities, subject to constraints on resources, that produce an intended output of some kind. Software Process Process: A sequence of activities, subject to constraints on resources, that produce an intended output of some kind. Any process has these characteristics: The process prescribes all

More information

An Example Checklist for ScrumMasters

An Example Checklist for ScrumMasters An Example Checklist for ScrumMasters Michael James (mj4scrum@gmail.com) 14 September 2007 (Revised 24 July 2012) A Full Time Facilitator? An adequate ScrumMaster can handle two or three teams at a time.

More information

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

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

More information

ENABLING THE BUSINESS WITH SOCIAL RELATIONSHIP PLATFORMS

ENABLING THE BUSINESS WITH SOCIAL RELATIONSHIP PLATFORMS WHITE PAPER ENABLING THE BUSINESS WITH SOCIAL RELATIONSHIP PLATFORMS AN EASY WIN FOR STRATEGIC CIOs THE ROLE OF THE IT LEADER IS CHANGING. CIOs must shift their focus from keeping the lights on to enabling

More information

Agile Beyond The Team 1

Agile Beyond The Team 1 Agile Beyond The Team 1 Dilbert Agile 2 What Does Your Organization Value? Projects over Teams? Do new teams spools up for new projects? On-Time/On-Budget Delivery over Zero Maintenance Products Deliver

More information

Eight Leadership Principles for a Winning Organization. Principle 1 Customer Focus

Eight Leadership Principles for a Winning Organization. Principle 1 Customer Focus Eight Leadership Principles for a Winning Organization Leading and operating an organization successfully requires managing it in a systematic and visible manner. Success should result from implementing

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

Applying Agile Methods in Rapidly Changing Environments

Applying Agile Methods in Rapidly Changing Environments Applying Agile Methods in Changing Environments 7/23/2002 1 Applying Agile Methods in Rapidly Changing Environments Peter Kutschera IBM Unternehmensberatung GmbH Am Fichtenberg 1, D-71803 Herrenberg Steffen

More information

The Scrum Guide. The Definitive Guide to Scrum: The Rules of the Game. July 2013. Developed and sustained by Ken Schwaber and Jeff Sutherland

The Scrum Guide. The Definitive Guide to Scrum: The Rules of the Game. July 2013. Developed and sustained by Ken Schwaber and Jeff Sutherland The Scrum Guide The Definitive Guide to Scrum: The Rules of the Game July 2013 Developed and sustained by Ken Schwaber and Jeff Sutherland Table of Contents Purpose of the Scrum Guide... 3 Definition of

More information

Principles of IT Governance

Principles of IT Governance Principles of IT Governance Governance of enterprise IT focuses on delivering services to support top line growth while moving operational savings to the bottom line. The management of IT services has

More information

BENEFITS REALIZATION ENSURES CHANGE DELIVERS GREATER BUSINESS VALUE

BENEFITS REALIZATION ENSURES CHANGE DELIVERS GREATER BUSINESS VALUE BENEFITS REALIZATION ENSURES CHANGE DELIVERS GREATER BUSINESS VALUE Focusing on the delivery of value-adding benefits is an excellent way to achieve greater ROI from change. Benefits & Value Management

More information

http://www.cisjournal.org Enhancement of XP for Cloud Application Development Sara Tariq, Muhammad Mohsin Nazir, Farhat Saleemi

http://www.cisjournal.org Enhancement of XP for Cloud Application Development Sara Tariq, Muhammad Mohsin Nazir, Farhat Saleemi Enhancement of XP for Cloud Application Development Sara Tariq, Muhammad Mohsin Nazir, Farhat Saleemi Dept. of Computer Science, LCW University Lahore Pakistan Email: mohsinsage@gmail.com ABSTRACT The

More information

Business Analysts in an Agile World. Christian Antoine

Business Analysts in an Agile World. Christian Antoine Business Analysts in an Agile World Christian Antoine What is this about Value of software Building the right product Building the product right Where do BA s fit in this What this is not Back to basics

More information