We strive to be an Agile team. In our efforts to become agile we try to follow guidelines that help us to stay on track.
- Commit early, commit often.
- Deliver frequently.
- Customer and developers must work together daily throughout the project.
- Working software is the primary measure of success.
- Continuous attention to technical excellence and good design enhances agility.
"High quality is the key to high speed. The way to go fast is to keep the software as clean and robust as possible. Thus, all agile team members are committed to producing only the highest quality code they can. They do not make messes and then tell themselves they'll clean it up when they have more time. If they make a mess, they clean it up before they finish the day."
- The best architectures, requirements, and designs emerge from self-organizing teams.
"An agile team is a self-organizing team. Responsibilities are not handed to individual team members from the outside. Responsibilities are communicated to the team as a whole, and the team determines the best way to fulfill them.
Agile team members work together on all aspects of the project. Each is allowed input into the whole. No single team member is responsible for the architecture or the requirements or the tests. The team shares those responsibilities, and each team member has influence over them."
- At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behaviour accordingly.
- The customer defines and prioritizes features, and is a member of the team.
(Guidelines based on Agile Software Development. Principles, Patterns, and Practices by Robert C. Martin)
We agree upon a development approach to support these goals. The approach is explained here.