These days everyone says they use an agile development methodology. We provide detailed documentation on request, but to keep it simple, there are three main questions to ask about a vendor’s development method:
- Am I asked to provide requirements and feedback throughout the development process?
- Will I be able to test drive completed functionalities at least once a month?
- Will I receive regular status reports that clearly explain what is complete, what remains, and whether the project is on track?
Here’s a high-level overview of how we work to answer the above questions:
Our description of how we work might sound complicated, but it’s all happening behind the scenes. The process itself is actually simple and worry-free for the client.
We kick off most projects with an initiation stage. Before we begin development, we collaborate closely with key users to conduct analysis of the business processes and plan each release.
The following is completed during project initiation:
- Meet face-to-face with key business users to define the scope of the project
- Identify gaps between client’s current operation and their ideal
- Document requirements and uses cases
- Create a plan for each phase of the project including estimates and timeline
- Decide on technologies to use
The team also prepares the development environment, decides how internal team communications will run, and assigns the right resources to the project. Then we create a plan for communicating with the client including a schedule for status reports and test drives.
Every release is broken down into smaller chunks called sprints (about four weeks). Clients test drive completed functionalities at the end of each sprint. Some projects are simple and only take a couple of months to complete. For complex projects, we schedule releases at least once every 4-6 months.
Once project initiation is complete, we begin analysis and planning to create functional specifications – basically a blueprint for the software. This is when we decide where to automate, explore ways to improve efficiency, and really dig into designing the software. Functional specifications include:
- Screen prototypes
- UI workflow
- Business rules
- Business workflows
- Data model design
- UI validation and error handling
Once functional specifications are created and approved, we decide how to test each function. Also during this stage, we plan at a detailed level and provide a more accurate schedule and cost estimate.
This sounds like a lot of planning, but it all happens pretty fast. Once analysis and planning are complete, we begin development and testing. We work in four-week cycles to make sure we incorporate what our teams learn and client feedback into each release. This process is key to building quality software, and our clients are fully informed at every step.
