Presenter: 陳秋玉 1.  Extreme programming Extreme programming  On-site customer On-site customer  Benefit Benefit  Characteristics of a good customer.

Slides:



Advertisements
Similar presentations
4th Module: Information Systems Development and Implementation:
Advertisements

Unified process(UP) UP is an OO system development methodology offered by Rational(Rational Rose) s/w, now a part of IBM Developed by Booach,Rambaugh,Jacobson--
Chapter: 3 Agile Development
Extreme Programming Alexander Kanavin Lappeenranta University of Technology.
What is Agile? Agile is a software methodology based on iterative and incremental development, where requirements and solutions evolve through collaboration.
© Cengage Learning – Purchasing & Supply Chain Management 4 ed ( ) Practice 16. Negotiating techniques and rules of conduct.
Agile Architecture Prabhu Venkatesan for COMP-684.
ITEC 370 Lecture 25 Lifecycles. Review Questions? F give prototype demonstration –Testing plan for your software Life cycles –Scrum (Roles, Meetings,
NAUG NAUG Knowledge Evening – th February 2007.
 User assignments (product owner)  ‘circle’  1 st sprint: ◦ Scrum Boards (informative workspace)  Product -, release -, sprint -, defect backlog 
Agile development By Sam Chamberlain. First a bit of history..
XP – eXtreme Programming A gentle introduction. Cleviton Vinícius Jobson Ronan Thiago Rodrigues.
EXtreme Programming Quick Introduction Daniel Arraes Pereira Eduardo Lourenço Apolinário Ricardo de Oliveira Cavalcanti.
Extreme Programming Mark Steverson. What Is Extreme Programming? ● Extreme Programming (XP) is a lightweight, agile methodology developed by Kent Beck.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Extreme Programming--a “New” Process Model Extreme Programming-- a “New” Process Model.
Xtreme Programming. Software Life Cycle The activities that take place between the time software program is first conceived and the time it is finally.
An Agile View of Process
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Extreme Programming.
Software Engineering Modern Approaches
Chapter 5 Software Process Models. Problems with “Traditional” Processes 1.Focused on and oriented towards “large projects” and lengthy development time.
Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming.
Scrum’s Product Owner Role Jeff Patton Agile Product Design
Agile and XP Development Dan Fleck 2008 Dan Fleck 2008.
One XP Experience: Introducing Agile (XP) Software Development into a Culture that is Willing but not Ready Joe Bergin * Fred Grossman * David Leip **
By Saravanan Bala. General Report 31 % of Software projects are cancelled 75 % of the software projects are considered failures by the people who initiated.
Agile Methodologies: Comparative Study and Future Direction 林佳蓁 資工 4B.
1 e X treme P rogramming D. Dranidis September 2000 CITY College.
5. Planning.
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.
1 Software Process Models-ii Presented By; Mehwish Shafiq.
Rapid software development 1. Topics covered Agile methods Extreme programming Rapid application development Software prototyping 2.
Extreme Programming (XP). Agile Software Development Paradigm Values individuals and interactions over processes and tools. Values working software over.
Extreme Programming.
1 Ideas of Problem-based Learning As a learner-centred process, problem- based learning meets the learners' interests and as such gives room for developing.
AP-1 5. Project Management. AP-2 Software Failure Software fails at a significant rate What is failure? Not delivering it on time is an estimation failure.
1 김 수 동 Dept. of Computer Science Soongsil University Tel Fax
Software Engineering Saeed Akhtar The University of Lahore Lecture 6 Originally shared for: mashhoood.webs.com.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 other methodologies 1 Method/Process = step-by-step description of the steps involved.
Copyright © 2015 Curt Hill Software Development Paradigms What do you need to know?
AP-1 4. Agile Processes. AP-2 Agile Processes Focus on creating a working system Different attitude on measuring progress XP Scrum.
Quality Criteria : Are you and your team capable of communicating the shared vision to whom it may concern so that it make sense to all relevant stakeholders.
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.
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.
Extreme Programming. Extreme Programming (XP) Formulated in 1999 by Kent Beck, Ward Cunningham and Ron Jeffries Agile software development methodology.
EXtreme Programming and Open Source engineering paradigm A comparison
Planning Extreme programming
Introduction to Software Engineering Muhammad Nasir Agile Software Development(2)
Software Engineering 2004 Jyrki Nummenmaa 1 Why new software methodologies The classic waterfall-model based techniques are strongly based on the.
Extreme programming (XP) Advanced Software Engineering Dr Nuha El-Khalili.
Software Development. The Software Life Cycle Encompasses all activities from initial analysis until obsolescence Analysis of problem or request Analysis.
Informed Traveler Program and Applications Agile / Scrum Overview Jerry Inberg.
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
Software Development Life Cycle. The Software Life Cycle  Encompasses all activities from initial analysis until end of work  Formal process for software.
Embedded Systems Software Engineering
Software Development.
Software & Software Engineering Pertemuan-4 Dosen :Kundang K Juman
Planning User stories are written.
Alexander Kanavin Lappeenranta University of Technology
Extreme Programming.
What do you need to know about XP?
Teaching slides Chapter 1.
Agile Process: Overview
Introduction to Agile Blue Ocean Workshops.
Coming up: What is Agile?
Extreme Programming.
Agile software development
Chapter 5: New and Emerging Process Methodologies
Presentation transcript:

Presenter: 陳秋玉 1

 Extreme programming Extreme programming  On-site customer On-site customer  Benefit Benefit  Characteristics of a good customer Characteristics of a good customer  Roles and responsibilities of a good customer Roles and responsibilities of a good customer  Problems of having on-site customers Problems of having on-site customers  Customer location in the team Customer location in the team  Communication Communication  Conclusion Conclusion 2

Extreme programming(XP) is one of the most frequently used methodologies in Agile Software Development. XP embraces the four major values of agile methods (1) early customer involvement (2) iterative development (3)self organizing teams (4)flexibility 3

XP has some practices (1)planning game (2)small/short release (3)metaphor (4)simple design (5)refactoring (6)pair programming (7)40-hour week and on-site customer One of the main differences between XP and other methodologies is having an on-site customer 4

“user” we mean the one who actually uses the program;”customer” we mean those who have money and the mandate to decide what to buy. In XP, “customer” means someone from customer organization that has a direct interest in project. He /she might be a direct user of system, a representative from customer organization or a domain expert in developer organization. 5

Improved product quality through better understanding of the users needs. Improved knowledge of customers’ organization, reduced risk of producing unnecessary or unacceptable functionality. Improved ability to negotiate expectations among users. Improved ability to resolve conflicts regarding the design of the system Improved project performance and an increased willingness to experiment and improvise in search for solution. 6

Having an on-site customer significantly can reduce the number of errors related to business requirements. User involvement on system success concluded that sales and user productivity were increased, whereas training cost and user support calls were decreased with an effective user- involvement approach. 7

Characteristics of a good customer A good on-site customer understands the domain. A good on-site customer understands how software can provide business value in the domain. A good on-site can make decisions about what is needed now and what is needed later, and is willing to accept ultimate responsibility for the success or failure of the project. 8

Characteristics of a good customer In XP, customer is responsible for the project, like any other members of the project team. It is important that onsite customers understand that they are team members, not team auditors. XP customer must be someone who enjoys collaborative efforts, and who is prepared to be available efforts, and who is prepared to be available to team members to answer questions, to help with problem solving, to be open-minded, honest, objectively critical and respectful. 9

Roles and responsibilities of a good customer Participating in the process Communicating with end users Defining user stories Communicating with developers Running tests Communicating with management 10

Problems of having on-site customers Partially on-site customer  Have a part-time customer or to have a technical manager role-play as the customer.  Product management team(PMT) can play the customer role in the team or if it’s possible can select best stakeholder as an on-site customer. Frequently changing in requirements  Construct a customer team in which it’s clear by whom each stake holder is represented, if it’s not possible, PMT can perform this task.  Asking for use cases may be a way to make the customer think more detailed.  Find a way to teach the customer the costs of incoherence. 11

Problems of having on-site customers Semantic gap between customer and developer  Explicitly introduce a training process, concerning customer involvement, both for the customers and the developers. It is hard to convince management  Have a customer team and choose a representative from the team. Most of the time this is not an applicable solution, but with the existence of PMT, always a team of customers is available. Non-appointed customers  Management must clearly establish and communicate priorities and assign the resource so that all the work can be completed, and not just for the customer we can “see”.  One of the major roles of PMT in the team is gathering information in the entire domain, so, members of PMT must be domain experts and can play as the role of a real active stakeholder. Furthermore, in order to expertise of PMT in the domain, it can select a stakeholder, so that he/she could capture the needs of others adequately. 12

Problems of having on-site customers Time limitation of the customer  In this situation PMT can help. As mentioned before, PMT is responsible for selecting an active stakeholder and if it is not possible, PMT can introduce a representative from itself to perform customer’s tasks. Varying motivation of customer  Monitoring and managing the collaboration.  Choosing a stakeholder that has a direct interest in the project, and this is PMT’s responsibility. 13

Customer location in the team Moving the customer’s work place near by XP project room. This solution may also support by the developers. However, developers may emphasize that it should take only at the maximum of couple of minutes to contact the customer. Moreover, customer should visit in the project room daily. Members of PMT must actively gather requirements from end users(working in the customer site) and participate in the development process(working in the project development location);these tasks must be done simultaneously and each members of PMT must have a specific role. 14

Communication Here communication and relationship between on-site customer and developers is considered. Two parallel knowledge transfer processes constitute the platform of software engineering. The knowledge of the particulars about the problem domain, the business functions, and the inherent qualities of these functions must be transferred from the customer organization to the supplier organization. Pragmatic knowledge related to the realistic fulfillment of these criteria must be transferred from the supplier back to the customer(and other stakeholders). When these two parallel knowledge transfers effectively issue a suitable relationship between customer and developers, “on-site customer” practice may be successful. 15

Conclusion This research indicates that having a Product Management Team(PMT) can reduce the “on-site customer” practice’s problems effects. Because this team is responsible for selecting an active stakeholder to participate in the project and however, if it’s not possible, PMT acts like a customer and a developer. It means that some members of PMT are “customer on -site ” and other members are “developer on-site”. 16