Extreme Programming ?????????? ?????? ??????? ????? - PowerPoint PPT Presentation

1 / 24
About This Presentation
Title:

Extreme Programming ?????????? ?????? ??????? ?????

Description:

??????, ??'? ???? ???-????? ??, ?????, ???? ?? ???????, ?????? ??? ... Based on: Mullet, D. (July, 1999). The Software Crisis, Benchmarks Online - a monthly ... – PowerPoint PPT presentation

Number of Views:39
Avg rating:3.0/5.0
Slides: 25
Provided by: csePr
Category:

less

Transcript and Presenter's Notes

Title: Extreme Programming ?????????? ?????? ??????? ?????


1
?????? ???????? ????? ?????
  • ????? ??????-????
  • ????? ???
  • ??????? ????? 10-12.7.2005

2
?????? ????????
  • 10.7
  • ????
  • ?????? ??????? ?????
  • ????? ????? ????
  • 11.7
  • ???????? ?? ????? ?????
  • ??????????? ????? ?????
  • 12.7
  • ????? ????????
  • ???? ????? ?????

3
Extreme Programming?????????? ?????? ???????
?????

4
????? ???????? ?? ???????? ?????
  • ????????? ??????? ?????? ????? ????? ?????
    ?????? (??? ?????????)
  • ??????, ??"? ???? ???-????? ??, ?????, ???? ??
    ???????, ?????? ??? ???? ????, ??-????? ????,
    ?????????, ...

5
??????? ????? ??????
  • 75 ?????? ?????? ??????? ??????? ??????? ??????
    ??????? ?? ????? ?????? ??? ?? ????? ???????
    ??????? ???????.
  • Based on Mullet, D. (July, 1999). The
    Software Crisis, Benchmarks Online - a monthly
  • publication of Academic Computing Services
    2(7).
  • ???? ?????? ?? ????? ?????? ????"? ????? ??? ???
    ?- 59.5 ??????
  • The National Institute of Standards and
    Technology (NIST), New Release of June 28, 2002.
  • ??? ?????? ?- Q2 ?? 2003 ?????? ????"? ??????
    200 ??????

6
What is Extreme Programming
  • Extreme Programming ???? ???????.
  • Differences from traditional methodologies
  • Emphasis on people vs. development activities
    schedule
  • XP specifies how to behave still leaves freedom
  • 12 practices
  • 4 values feedback, simplicity, communication,
    courage
  • The meaning of extreme

7
What is Extreme Programming
  • Extreme Programming Explained
  • First edition 2000 by Kent Beck
  • Second edition 2005 by Kent Beck with Cynthia
    Andres
  • Reflection, Roles, Respect

8
Extreme Programming
  • ????? ??????? ?? ??????????? ??? ??????? ????? ??
    ?????? ?????? ?????? ????? ??????? ????? ??????.

9
How XP? - Project Timetable 1 release (2
months), 3 iterations (3 weeks each)
Business Day
Business Day
Week 4, Release 1, Iteration 2 Week 3, Release 1, Iteration 1 Week 2, Release 1, Iteration 1 Week 1, Release 1, Iteration 1
Week 8, Release 1, Iteration 3 Week 7, Release 1, Iteration 3 Week 6, Release 1, Iteration 2 Week 5, Release 1, Iteration 2
Release 2 starts Week 9, Release 1, Iteration 3
Business Day
Business Day
10
How Extreme Programming?
  • Two days in
  • Extreme Programming Development Environment

11
Business Day
  • Planning game
  • On-site customer
  • Small releases
  • Simple design
  • Metaphor

Source http//www.rolemodelsoftware.com/
12
Business Day Reflection
  • 5 practices (out of 12)
  • Planning game
  • On-site customer
  • Small releases
  • Simple design
  • Metaphor
  • Planning game
  • All developers participate
  • All have the same load
  • All developers get an overview of the entire
    development process
  • Simple means
  • Very detailed
  • Levels of abstraction

13
Business Day Reflection
  • 5 practices (out of 12)
  • Planning game
  • On-site customer
  • Small releases
  • Simple design
  • Metaphor
  • On-site customer
  • Customers on-going feedback
  • Small releases
  • On-going opportunity to update/change
    requirements

14
Business Day Reflection
  • 5 practices (out of 12)
  • Planning game
  • On-site customer
  • Small releases
  • Simple design
  • Metaphor
  • Simple design
  • Develop only what is needed for your development
    task
  • Metaphor
  • Bridges customers-developers-business gaps

15
Development Day
Source http//www.rolemodelsoftware.com/
  • Stand-up meeting
  • The development environment
  • Pair programming
  • Test driven development (acceptance, unit-test)
  • Code standards
  • Refactoring
  • Simple design
  • Continuous integration (one integration machine)
  • Collective ownership
  • Sustainable pace (40-hour week)

16
Development Day - Reflection
  • The development environment
  • All see all fosters communication
  • Stand-up meeting
  • All know what all do
  • Pair programming
  • Each task is thought on two levels of abstraction
  • Unit test (automatic test first)
  • First improves understanding Automatic testing
    is easy
  • Developers program and test
  • Testing becomes manageable
  • Success vs. failure

17
Development Day - Reflection
  • Continuous integration
  • Reduces integration risks in later stages
  • Collective ownership
  • Important in companies with high turnover
  • Coding standards
  • Refactoring and simple design
  • Code improvement is part of the methodology
    (though it doesn't produce code), gradual process
  • Sustainable pace (40-hour week)
  • Intense and productive work, developers are not
    tired

18
Development and Business Days Reflection
Human/Social Perspective Code/Technical Perspective
Collective ownership Pair programming Sustainable pace On-site customer Planning game Metaphor Refactoring Simple design Coding standards Testing Continuous integration Small releases
19
The 12 XP practices
Note nothing is new gathering the practices
together is XP uniqueness
Source Beck, K. (2000). eXtreme Programming
explained, Addison Wesley.
20
Extreme Programming in the SE world
  • Agile Software Development Methodology
  • Other agile methods SCRUM, Feature Driven
    Development, DSDM
  • All acknowledge that the main issue of software
    development is people customers, communication
  • Manifesto for Agile Software Development
    http//agilemanifesto.org/
  • Extreme Programming Kent Beck, 1996, Chrysler

21
The Agile Manifesto
  • Individuals and interactions over processes and
    tools Working software over comprehensive
    documentation Customer collaboration over
    contract negotiation Responding to change over
    following a plan
  • That is, while there is value in the items on
    the right, we value the items on the left more.
  • http//agilemanifesto.org/

22
Why Extreme Programming?
  • big companies using XP in at least some capacity
  • Ford Motor, Chrysler, IBM, HP
  • Companies doing XP
  • smaller software houses
  • Mayford Technologies
  • RoleModel Software
  • tutorials Industrial Logic, Object Mentor,
    Tochen (Israel)

23
Software Development Methods
  • All traverse the activities of
  • specifying, designing, coding,
    testing.
  • Some do this several times.
  • These activities have become the paradigm of
    software development.
  • When the majority of developers accepted this, it
    became a paradigm.
  • Paradigm is the way of doing things.
  • Kuhn, T. S. (1962). The Structure of Scientific
    Revolutions, Chicago Univ. Chicago Press.

24
Extreme Programming
  • ?????? ?????? ?????? ????? ??????? ????? ??????.
  • ?????? ???? ?? ??????
  • ?????? ???? ?? ????????
Write a Comment
User Comments (0)
About PowerShow.com