Development Methodology
Approach
Our software development process was developed in alignment with best practices in software development and testing and has been fine-tuned over the last 14 years based on real-life software development experience.
We understand the importance of collaborating with our customers. Whether we work as an extension of your development team or if we are responsible for the entire process we understand that communication with are client is the key to a successful project.
In order to build something you need to understand it. This is the key part of our process.
Our process is about getting the right work done without sacrificing quality.
We use an iterative development process. This method of software development provides these benefits:
- Minimize and understand risk
- More money spent on creating functional software not on unused documentation
- Customer in control of the budget
- Realize the return on your investment sooner
Our development teams have experience using Scrum and other agile methodologies such as Crystal Clear. In fact we specialize at integrating with agile development shops.
We our experienced in the entire software development life cycle:
- Project Management
- Requirements
- Development
- Quality Assurance
- Deployment and Installation
Methodology Overview
Understand
We start off by understanding your needs. We have the experience and techniques to get your project started on the right foot. For new projects we can use techniques such as the Walking Skeleton or Exploratory 360 to delve into complex projects to mitigate risk.
To help gather your requirement we can create user stories or if more detail is required we suggest creating use cases. These stories are used to plan an iteration.
It is important to note that requirement gathering and refinement is an on going activity that is performed at the start of each iteration.The bottom line is we get just enough information to start.
Plan
Once we understand your needs we can start to plan for the first iteration. We work with you to prioritize the features that you want implemented during the iteration. Since we review the plan often we can adapt to changing requirements or dead lines.
Act
Our Teams are multidisciplinary, the team is composed of everyone who performs the work:
- XP Customers, Business Analysts
- QA
- Database Architects
- Developers
We have daily checkpoint meetings to look for impediments and issues. This constant feedback allows us to track progress and solve issues before they become problems. At the end of the iteration we then demonstrate the functional software to our clients.
Review
At the end of an iteration it is important to have a retrospective. This allows us to continually improve.
- What went wrong?
- What went right?
- How can we improve?