3.3.2004Software Engineering 2004 Jyrki Nummenmaa 1 Why new software methodologies The classic waterfall-model based techniques are strongly based on the.

Slides:



Advertisements
Similar presentations
Extreme Programming Alexander Kanavin Lappeenranta University of Technology.
Advertisements

Based on the XP Game by Vera Peeters and Pascal Van Cauwenberghe ( 1Software Engineering /Spring.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
ITEC 370 Lecture 25 Lifecycles. Review Questions? F give prototype demonstration –Testing plan for your software Life cycles –Scrum (Roles, Meetings,
BTS530: Major Project Planning and Design Iterative Development References: Agile & Iterative Development, by Craig Larman, 2004, Addison Wesley. Agile.
NAUG NAUG Knowledge Evening – th February 2007.
Agile Software Development Lab Dr. Günter Kniesel, Daniel Speicher, Tobias Rho, Pascal Bihler Spring 2008 Planning and Tracking Sina Golesorkhi Alexis.
Agile development By Sam Chamberlain. First a bit of history..
Extreme Programming Team Members Gowri Devi Yalamanchi Sandhya Ravi.
EXtreme Programming Quick Introduction Daniel Arraes Pereira Eduardo Lourenço Apolinário Ricardo de Oliveira Cavalcanti.
Management 421 Computer Science 350. Overview Project Roles Software Development Process Extreme Programming Management/Developer Interaction in Extreme.
SE is not like other projects. l The project is intangible. l There is no standardized solution process. l New projects may have little or no relationship.
Introductory case study. 2 The problem The most difficult part of any design project is understanding the task you are attempting You have been contacted.
An Agile View of Process
Software Engineering Case Study Slide 1 Introductory case study.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Extreme Programming.
How Agile Are You? Larry Apke Agile Expert
Roles Managers Technical Team Leaders Programmers Customers Database Administrators Instructors.
Chapter 3 – Agile Software Development 1Chapter 3 Agile software development.
Software Engineering Modern Approaches
Software Engineering 2003 Jyrki Nummenmaa 1 REQUIREMENT SPECIFICATION Today: Requirements Specification Requirements tell us what the system should.
Agile and XP Development Dan Fleck 2008 Dan Fleck 2008.
EXtreme Programming: An Introduction Presentation by: Jon Banta.
1 e X treme P rogramming D. Dranidis September 2000 CITY College.
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
Extreme/Agile Programming Prabhaker Mateti. ACK These slides are collected from many authors along with a few of mine. Many thanks to all these authors.
Agile Concepts - II “Agile” Estimating & Planning Nupul Kukreja 5 th November, 2014.
Rapid software development 1. Topics covered Agile methods Extreme programming Rapid application development Software prototyping 2.
XP – Extreme Programming
1 김 수 동 Dept. of Computer Science Soongsil University Tel Fax
Chapter 3 Agile Software Development (1/2) Yonsei University 2 nd Semester, 2015 Sanghyun Park.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 other methodologies 1 Method/Process = step-by-step description of the steps involved.
XP Overview Short Life cycle Risky / Dynamic Requirements Increase developer productivity.
CS3100 Software Project Management Agile Approaches.
Chapter 7 The Practices: dX. 2 Outline Iterative Development Iterative Development Planning Planning Organizing the Iterations into Management Phases.
Goals for Presentation Explain the basics of software development methodologies Explain basic XP elements Show the structure of an XP project Give a few.
Extreme Programming Based on and
Lecture 4 – XP and Agile 17/9/15. Plan-driven and agile development Plan-driven development A plan-driven approach to software engineering is based around.
Software Engineering (CSI 321) An Agile View of Process 1.
Requirements Engineering Requirements Engineering in Agile Methods Lecture-28.
Extreme programming (XP) Variant of agile Takes commonsense practices to extreme levels © 2012 by Václav Rajlich1.
AGILE XP AND SCRUM © University of LiverpoolCOMP 319slide 1.
CSC 480 Software Engineering Extreme Programming.
Planning Extreme programming
Meeting Practices Yan Wei Foundation Extreme programming is used Meeting practices are based on extreme programming technology with.
CS223: Software Engineering Lecture 18: The XP. Recap Introduction to Agile Methodology Customer centric approach Issues of Agile methodology Where to.
Introduction to Software Engineering Muhammad Nasir Agile Software Development(2)
Extreme Software Engineering A Hands-On Approach From Extreme Software Engineering: A Hands-On Approach Daniel H. Steinberg Daniel W. Palmer.
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
AGILE METHODS Curtis Cook CS 569 Spring 2003.
Embedded Systems Software Engineering
Chapter 5 Agile Development Moonzoo Kim KAIST
Appendix B Agile Methodologies
Software & Software Engineering Pertemuan-4 Dosen :Kundang K Juman
Methodologies By Akinola Soyinka.
Planning User stories are written.
Alexander Kanavin Lappeenranta University of Technology
Extreme Programming.
Software Engineering (CSI 321)
What do you need to know about XP?
Agile and XP Development
Agile Process: Overview
Agile and XP Development
Chapter 3 – Agile Software Development
Chapter 3: Agile Software Processes
Coming up: What is Agile?
Refactoring.
Appendix B Agile Methodologies
Extreme Programming.
Extreme Programming (and Pair Programming)
Presentation transcript:

Software Engineering 2004 Jyrki Nummenmaa 1 Why new software methodologies The classic waterfall-model based techniques are strongly based on the assumption that the requirements are reliable – however, this is sometimes an unrealistic assumption. The success rates of software projects are still not high enough to suggest that the ”perfect methodology” has been found. The administration of software development has become heavy -> a need for so-called lightweight methodologies was identified. The world of software development develops.

Software Engineering 2004 Jyrki Nummenmaa 2 Extreme Programming Extreme programming is a software methodology, which has a set of simple rules to be followed. Overall, the methodology emphasizes team work, customer participation and concentration in the essential. Multiple web sites, see e.g.: As the web material is quite good, this lecture will largely be based on selective use of it. I will, however, give some lists of items of importance also on these slides.

Software Engineering 2004 Jyrki Nummenmaa 3 XP – teamwork In XP, the work is arranged to be done in teams, which is to contain also a customer representative – this way, the customer view is always available. Programming is done in pairs. Pairs are re-organised when needed.

Software Engineering 2004 Jyrki Nummenmaa 4 User Stories A little bit like Use Cases, but they should be non- technical, described completely from the users point of view (no GUI specification or such…) Written by the customers. Short, just a few sentences. Used as a basis for implementation. Used as a basis for release planning. Used as a basis for testing. Used as a basis for velocity estimation (1-3 weeks per user story)

Software Engineering 2004 Jyrki Nummenmaa 5 Release planning Specifies, which user stories are to be implemented in which release. Specifies when releases should be released. Will be adjusted based on the estimated velocity of the project.

Software Engineering 2004 Jyrki Nummenmaa 6 Iteration planning Each iteration is 1-3 weeks long. For each iteration, the customer chooses the user stories to be implemented. Rule: Choose more valuable first. (This way, you will focus on the most important parts.) Also, choose which user stories to fix, if there are some that did not pass their acceptance tests. Choose such an amount of user stories that based on the velocity estimates, they will be completed within the iteration.

Software Engineering 2004 Jyrki Nummenmaa 7 Task planning Programming tasks are identified from the user stories and failed tests. The tasks are written down on index cards. Duplicates are removed. Developers choose tasks and estimate their duration (1-3 ideal days ie. days without interruption – shorter ones can be grouped and longer ones devided). After this, it is possible to evaluate how full the iteration is.

Software Engineering 2004 Jyrki Nummenmaa 8 Suitability of XP / 1 Sometimes (as in Finland with government IT projects), the requirements have to be built first, in fact, the implementation contracts are based on the requirement specifications. In this kind of a setting, one can not really get the true benefits of XP. In practice, it has sometimes been found that pair programming is more natural when the project is young or when big decisions are being made. Later there is more routine work and everyone knows what and how – working in pairs is not equally motivating any more.

Software Engineering 2004 Jyrki Nummenmaa 9 Suitability of XP / 2 Sometimes test automation is really hard to achieve. This damages the basis for using XP. Sometimes someone wants to use just some principles of XP – this may be a reasonable choice. XP has been designed for lean development – sometimes this just is not the goal of the project. E.g. if you try to develop a highly general-purpose library for some purpose, XP may not be your choice. More generally, if you can not identify (or reach) a good enough set of users, XP may not be a good choice.