BY R.V.Ramesh MCA II Semester

16
BY R.V.Ramesh MCA II Semester EXtreme Programming

description

E X treme P rogramming. BY R.V.Ramesh MCA II Semester. Extreme programming A gentle Introduction :. The first Extreme Programming project was started March 6, 1996. Extreme Programming is one of several popular Agile. What is Extreme Programming?. - PowerPoint PPT Presentation

Transcript of BY R.V.Ramesh MCA II Semester

Page 1: BY R.V.Ramesh MCA II Semester

BYR.V.RameshMCA II Semester

EXtreme Programming

Page 2: BY R.V.Ramesh MCA II Semester

Extreme programming

A gentle Introduction:

The first Extreme Programming project was started March 6, 1996. Extreme Programming is one of several popular Agile

Page 3: BY R.V.Ramesh MCA II Semester

What is Extreme Programming?

Extreme Programming is a discipline of software development based on values of simplicity, and courage.

It works by bringing the whole team together in the presence of simple practices, with communication, feedback enough feedback to enable the team to see where they are and to tune the practices to their unique situation.

Page 4: BY R.V.Ramesh MCA II Semester

Process: Extreme Programming is successful because it stresses customer satisfaction. Instead of delivering everything you could possibly want on some date far in the future this process delivers the software you need as you need it. Extreme Programming empowers your developers to confidently respond to changing customer requirements, even late in the life cycle. Extreme Programming emphasizes teamwork. Managers, customers, and developers are all equal partners in a collaborative team. Extreme Programming improves a software project in five essential ways; communication, simplicity, feedback, respect, and courage.

Page 5: BY R.V.Ramesh MCA II Semester

Extreme Programming Overview

                                                              

                              

Page 6: BY R.V.Ramesh MCA II Semester

Development overview

Page 7: BY R.V.Ramesh MCA II Semester

Purpose User Stories are used to create time estimates for the release

planning meeting. They are also used instead of a large requirements document. User Stories also drive the creation of the acceptance tests.

Page 8: BY R.V.Ramesh MCA II Semester
Page 9: BY R.V.Ramesh MCA II Semester

Extreme: Taking proven practices to the extreme

If testing is good, let everybody test all the time

If code reviews are good, review all the time

If design is good, refectory all the time

If integration testing is good, integrate all the time

If simplicity is good, do the simplest thing that could possibly work

If short iterations are good, make them really, really short

Page 10: BY R.V.Ramesh MCA II Semester

Why XP works: Light-weight: discipline without bureaucracy

Under stress, people do what is easiest

All XP practices have short-term benefits as well as long-term benefits

Development as a Conversation

The code is the documentation

XP is fun

Page 11: BY R.V.Ramesh MCA II Semester

Who benefits from XP?Programmers:

get clear requirements & priorities can do a good job can make technical decisions don’t work overtime

Customers:

get most business value first get accurate feedback can make informed business decisions can change their mind

Page 12: BY R.V.Ramesh MCA II Semester

Pair Programming Two people looking at one machine, with one keyboard and one

mouse Two roles: implementation and strategy All production code is written in pairs

Page 13: BY R.V.Ramesh MCA II Semester

Implement XP with limited available resources to revive the project:

• First work in pair and take over the ownership of code left by senior programmer using one computer in each • Started to work on each others code in pair. Promote a code standard. Promote a collective ownership of project.

• Perform unit test, integration test, and user test frequently on each implementation. • Users are consistently available to each programmer on feedback about changes, requirements implementations.

• All above had made development, modification, unit testing and integration testing much easier and faster.

Page 14: BY R.V.Ramesh MCA II Semester

Advantages: 1. notecards

2. group hug

3. ruby on rails

4. Object Oriented

5. gift-based society

Page 15: BY R.V.Ramesh MCA II Semester

Disadvantages:

1. stupid managers wont understand

2. other programmers (Stupid Ones) won't understand

3. expensive, must attend training seminars to receive certifications,flowcharts, mug. well worth it though

4. wiki not as good as EXTREME

5. you're having too much *Fun*!!, you'll never want to use rainstick or caddyshack methodology again

Page 16: BY R.V.Ramesh MCA II Semester

Conclusion

It has been found that the intense fear and adrenaline rush

produced by dangerous situations heightens the programmer's

awareness and thus the quality of code produced, albeit at the

cost of reducing the programmer's life expectancy (due to

continuous disintegration).

However, with colleges and universities churning out highly

qualified young programmers at an astonishing rate, this is

considered an acceptable and very cost-effective tradeoff.