Our World Class Development Process is based on thirteen Agile techniques…
Each of the following complements the others providing a responsible, successful approach to any project we tackle.
Test Driven Development
Programmers write tests while they write code – actually before they write the production code. All tests must pass before finalizing changes thus maximizing project success.
Planning Game
Combine business priorities with technical estimates to rapidly determine scope of the next release for best ROI.
Small Releases
Produce a simple system quickly, then release new, increasingly feature rich versions often to provide value early and incorporate feedback early.
Customer Tests
Demonstrate features are complete per the customer’s tests ensuring absolute customer satisfaction.
Whole Team
Include an on-site customer, manager, and programmer as team members to ensure clear understanding of needs and decisions.
Continuous Integration
Integrate and build the system several times a day after completion of each task to provide a continually working system.
Simple Design
Design every component as simply as possible and remove unneeded complexity when discovered to minimize future fragility and error.
Pair Programming
Two programmers work together on all new code to maximize quality, distribute knowledge, and maintain working focus.
Refactoring
Programmers restructure the system without changing functionality to remove duplication, simplify, add flexibility, or improve clarity. Combined with Test Driven Development, high code quality is ensured.
Collective Ownership
Any programmer can change code anywhere in the system thus maximizing system knowledge and quality reviews.
Coding Standards
Programmers use the same coding standards to ensure ease of communication and utmost quality.
Sustainable Pace
Strive for a 40 hour workweek never working overtime a second week in a row to promote responsible productivity.
Metaphor
Use a simple, shared analogy of how the whole system works to guide development and simplify communication among developers and customers.