Shipping Is A Feature

Shipping Is A Feature

Never lose sight of the fact that until you ship your product, it is not providing value to anybody.  Joel Spolsky put it well when he wrote: A 50%-good solution that people actually have solves more problems and survives longer … Continued
Update the Plan

Update the Plan

When you miss a deadline or milestone, don’t just blindly shift the planned deadline back by a day. This is an opportunity to quickly re-assess the project’s status, update the plan, and communicate the new plan to all of the … Continued
Sustainable Pace

Sustainable Pace

Software developers should rarely be made to work more than 40 hour weeks, and if one week does require overtime, the next one certainly should not.  This helps to maintain programmer welfare and avoid a death march project.
System Metaphor

System Metaphor

A metaphor that everyone (whole team, customers, management, stakeholders) agrees on for how the system works.
Simple Design

Simple Design

Kent Beck created four rules of Simple Design. These are sometimes referred to as The Four Commandments or the XP Simplicity Rules. The rules, in priority order, are that code should: Pass all tests Express the author’s ideas Avoid duplication … Continued
Collective Code Ownership

Collective Code Ownership

Collective code ownership breaks down fiefdoms within an application’s codebase. Nobody “owns” a particular part of the code. Everyone on the team is responsible for all of the code.  This enables pair programming and refactoring by the whole team. It … Continued
Small Releases

Small Releases

Frequent, small releases help ensure constant communication and tight feedback loops.
Continuous Integration

Continuous Integration

Continuous Integration is an XP practice that ensures problems with the full system are detected as soon after they are introduced as possible. It refers to automatically building and testing the full system (integrating the system with all of its … Continued