Agile’s Good Practices

  If you wonder how to make Agile become real.  Here is a list of some practices that help us turn Agile into more practical ways.  I write them in an alphabetical order. Let’s start ^_____^

  • Acceptance Testing
    The customer writes acceptance tests. The tests demonstrate that the story is complete. The programmers and the customer automate acceptance tests. Programmers run the tests multiple times per day.
  • Coding Standards
    The code needs to have a common style to facilitate communication between programmers. The team owns the code; the team owns the coding style.
  • Collective Ownership
    The team owns the code. Programmer pairs modify any piece of code they need to. Extensive unit tests help protect the team from coding mistakes.
  • Continuous Integration
    Programmers integrate and test the software many times a day. Big code branches and merges are avoided.
  • Customer Team Member
    Teams have someone (or a group of people) representing the interests of the customer. They decide what is in the product and what is not in the product.
  • Metaphor or Vision
    The system metaphor provides an idea or a model for the system. It provides a context for naming things in the software, making the software communicate to the programmers.
  • Open Workspace
    To facilitate communications the team works in an open workspace with all the people and equipment easily accessible.
  • Pair Programming
    Two programmers collaborate to solve one problem. Programming is not a spectator sport.
  • Planning Game
    XP is an iterative development process. In the planning game, the customer and the programmers determine the scope of the next release. Programmers estimating the feature costs. Customers select features and package the development of those features into small iterations (typically 2 weeks). Iterations are combined into meaningful end user releases.
  • Refactoring
    As programmers add new features to the project, the design may start to get messy. If this continues, the design will deteriorate. Refactoring is the process of keeping the design clean incrementally.
  • Simple Design
    The design in XP is kept as simple as possible for the current set of implemented stories. Programmers don’t build frameworks and infrastructure for the features that might be coming.
  • Small Releases
    Programmers build the system in small releases defined. An iteration is typically two weeks. A release is a group of iterations that provide valuable features to the users of the system.
  • Sustainable Pace
    The team needs to stay fresh to effectively produce software. One way to make sure the team makes many mistakes is to have them work a lot of overtime.
  • Test Driven Design
    Programmers write software in very small verifiable steps. First, we write a small test. Then we write enough code to satisfy the test. Then another test is written, and so on.
  • User Story
    A User Story represents a feature of the system. The customer writes the story on a note card. Stories are small. The estimate to complete a story is limited to no greater than what one person could complete within a single iteration.

     I recommend you all to try this Agile’s practices by gradually changing your company process. Then I’m sure you will love this light-weight methodology.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.