1 / 16

BY R.V.Ramesh MCA II Semester

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

holden
Download Presentation

BY R.V.Ramesh MCA II Semester

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Extreme programming A gentle Introduction: The first Extreme Programming project was started March 6, 1996. Extreme Programming is one of several popular Agile

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

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

  5. Extreme Programming Overview

  6. Development overview

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

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

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

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

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

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

  13. Advantages: 1. notecards 2. group hug 3. ruby on rails 4. Object Oriented 5. gift-based society

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

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

More Related