1 / 11

Getting Started Introducing the Core XP Practices

Getting Started Introducing the Core XP Practices. Based on Extreme Software Engineering Daniel H. Steinberg & Daniel W. Palmer. A Spike Is A Quick Investigation. An estimate based on no data is worthless. When estimating the time for a kind of task that is new to you, spike the task .

talmai
Download Presentation

Getting Started Introducing the Core XP Practices

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. Getting StartedIntroducing the Core XP Practices Based on Extreme Software Engineering Daniel H. Steinberg & Daniel W. Palmer

  2. A Spike Is A Quick Investigation • An estimate based on no data is worthless. • When estimating the time for a kind of task that is new to you, spike the task. • Example If you are to do a Java RMI task, implement a Java RMI “Hello, world” program before estimating the task’s time.

  3. Advice: Spike the XP Process Experiment with some core XP practices before starting a client’s project.

  4. Practice: User Stories • A user story is a brief description of some application function. • Process • Client initiates a user story • Developers refine it via a Q&A process • Team determines tests for the function. • Developers estimate the story (I.e., the time to design, implement, & test it).

  5. Practice: Estimates • Be self-aware as a developer • Publicly record your estimate. • Note the actual time. • Investigate what needs to be changed in your estimation process. • This self-awareness process improves your estimation skill dramatically.

  6. Practice: Living with Set Priorities • Client prioritizes the user stories • Developers decompose stories into a poset of tasks • Developers estimate the tasks • Developers develop (in pairs) highest priority stories that can be done within time limit. • Estimates may change • Immediately communicate changes to team.

  7. Practice: Pairing • Pair withall developers on your team during the XP spike. • Reserve judgment about pairing’s merits until you have paired with all other developers. • Self-awareness: What have you learned from the process of completing the task at hand? • Spread your knowledge: Change partners.

  8. Practice: Test First • “Test first” is special case of general advice: Clearly understand a problem before attempting to solve it. • If you develop tests first, you know when you have completed the task. (to the extent that your tests are thorough) • Tests monitor the integrity of the system when code is added/modified Test enable change w/o worry. (to the extent that your tests are thorough)

  9. Practice: Continuous Design Improvement Improve the code immediately, even in small ways. • Improve the name of variables, methods, & classes. • Decompose methods so the name clearly indicates what it does. • Never duplicate code. • Spot patterns (with experience)

  10. Synergies • Refactoring is safe because tests protect you. • You learn patterns & other practices from pairing, yielding more • opportunities for refactoring • skill at estimating • Pairing makes it easier to do the right thing (e.g., test first).

  11. Choosing an XP Spike • You don’t need to finish the spike. • Pick something fun or interesting. • The bowling scoring problem • Tetris or some other video game • Visualizing the Mandelbrot set • Family tree application • Medical history application • Spike a Java technology • Java RMI • JDBC

More Related