Agile Development

Using Agile, we focus our design and development efforts on customer satisfaction by providing continuous delivery of business value through controlled and iterative software releases.

Agile Process

We deliver software in shortened timeframes typically broken down into 2-week sprints that build up to a series of production ready releases during the course of an engagement.

Commitment

The key to our approach is the commitment and involvement of both business and technical resources that must work together throughout the project on a daily basis. We build trust and high-performing teams that include internal and external resources. This is accomplished by open communications though daily scrums and working in close proximity as self-organizing teams.

Velocity

Agile fosters sustainable development where the team increases its velocity through teamwork and productive retrospectives that drives continuous improvement. This approach takes talented people that are focused on improving technical excellence for themselves and those around them. We conduct code walk-throughs and encourage pair-programming to find ways to keep short-term and long-term productivity as high as possible, in the end improving the quality of the code.

Retrospectives

Our teams conduct frequent retrospectives to address lessons-learned, and more importantly, to implement them in order to increase efficiency and productivity, and improve quality of work. It is equally important to stop doing things that have little or no value as it is to continue to do the things that are working well for the team.

  • Use continuous integration to avoid integration bottlenecks
  • Exchange technology and business resources between development sites when deploying distributed teams
  • Use centralized document repositories to contain common information
  • Use test scripts to help drive and understand the business requirements
  • Use regular builds to get end-user feedback on features and functionality
  • Use scrums regularly to communicate status and remove roadblocks
  • Use short development iterations
  • Organize development teams by functionality, not activity