Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic

Comment on

( #3333=superdoc: print w/replies, xml ) Need Help??
Table of Contents

Part 1.  Why XP?
	 Who Cares About Process, Anyway?
	 The XP Equation
	 XP Values
	 Assuming Sufficiency
		Sufficient Time
		Sufficient Resources
		Constant Cost of Change
		Developer Effectiveness
		Freedom to Experiment

Part 2. Extreme Programming Practices
	Coding Practices
        	1. Code and Design Simply
                2. Refactor Mercilessly
                3. Develop Coding Standards
                4. Develop a Common Vocabulary
        Developer Practices
                1. Adopt Test-Driven Development
                2. Practice Pair Programming
                3. Adopt Collective Code Ownership
                4. Integrate Continually
        Business Practices
                1. Add a Customer to the Team
                2. Play the Planning Game
                3. Release Regularly
                4. Work at a Sustainable Pace

Part 3. XP Events
	Iteration Planning
		Stories and Tasks
		Estimates and Schedules
		The First Iteration
	The Iteration

Part 4. Extreme Programming Artifacts
	Story Cards
	Task Cards
	The Bullpen

Part 5. Roles in Extreme Programming
	The Customer
		Customer Rights
		Customer Responsibilities
	The Developer
		Developer Rights
		Developer Responsibilities
	Supplementary Roles
		The Tracker
		The Coach

Part 6. Coding, XP Style
	Do the Simplest Thing That Could Possibly Work
	You Aren't Gonna Need It
	Once and Only Once

Part 7. Adopting XP
	Before You Start
	Eliminating Fear and Working Together
	Starting Feedback
	Including Managers and Customers
	Now That You're Extreme

Part 8. Further Resources
	XP Resources
While not a programmer by job title, I do write a lot of scripts, and I try to maintain the three modules that I have on CPAN. I wanted to learn about XP and at least get a basic understanding of its principles and how they all work together, with an eye towards eventually adopting some of its practices into how I code.

Chromatic starts off by explaining the reasons for using XP. "The goal of software development is to create good systems that meet business needs with the available resources. XP can help you do just that."

The material is broken down into eight sections, each one covering a specific topic. Section 1 deals with describing XP and its values, and the problem that it was intended to solve.

Section 2 dives in the meat of XP, covering each of the twelve core practices of XP, breaking them down into three groups, Coding, Developing, and Business.

Section 3 covers the various events that happen within an XP development cycle. He breaks down the first phase (Iteration Planning) into three sections, then goes on to cover the Iteration and Releasing.

Section 4 deals with the physical items that XP uses to keep track of events, such as story and task cards. The Bullpen, which is defined as a large open area with plenty of powerful pc's with room for at least two programmers at each one (Pair Programming), several large chalkboards or whiteboards, and plenty of sticky notes and pens.

Section 5 deals with the roles in XP, and the rights and responsibilities of each of those roles. As developers, we need to follow team guidelines, implement only what is necessary, and communicate constantly with the customer.

Section 6 deals with the coding style of XP, which follows three basic principles. "Do the simplest thing that could work", "You aren't gonna need it", and "Once and only once". Chromatic also points out that the last one is quite similar to the principle mentioned in The Pragmatic Programmer, "Don't Repeat Yourself".

Sections 7 and 8 deal with how to go about implementing XP and where you can find more resources on this subject.

This book was very well written and concise, and it lays out precisely the necessary strategies and information needed to start down the XP path. I emphatically recommend this book for anyone who uses or is going to be using XP for software development.

In reply to Extreme Programming Pocket Guide by TStanley

Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":

  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.
  • Log In?

    What's my password?
    Create A New User
    and all is quiet...

    How do I use this? | Other CB clients
    Other Users?
    Others exploiting the Monastery: (4)
    As of 2018-05-22 23:45 GMT
    Find Nodes?
      Voting Booth?