The Vivo approach to Software Development
Why do we use a Software Development Approach?
We follow a Software Development Approach because it allows us to develop better software faster, it allows our team to understand the project so they know what they are working on, where it's needed and why it's important, it increases vital communication between ourselves and the customer. By following a Software Development Approach it also allows us to track the progress of the project easily, making adjustments where necessary.
Why Iterative / Agile Approach?
We choose an iterative approach to software design for a number of reasons
- Allows the correct level of process to be placed on a given project, a simple process has much greater chances of succeeding than a complex process.
- Focuses on customer feedback at every stage, which helps develop the right solution.
- Breaks the problem into 'iterations' which are manageable and contained, allowing the team to understand what it is they are building.
Iterative / Agile Software Development Approach (IASDP)
Because we as a company can be asked to develop software solutions of any size and in different business environments, we need a software development process which can adapt to these environments as needed, and because of this we use IASDP.
IASDP focuses on obtaining the right level of process for each project. By understanding the business environment which the project is intended for and the challenges faced by the development team, it is possible to obtain the level of process required for that particular software project.
IASDP focus on four main principles.
- communication
- As a company we believe communication is key, not just for the development of software solutions, but also its an integral part of the companies morality and motivation of its development team.
- Every good process encourages communication, communication allows goals, ideas and problems to be identified and dealt with.
- Simplicity
- By keeping something simple, you increase the likelihood of it being a success, the same is true with software and software development process. Why use an overly complex process which people don't understand, when a simple process which the team will follow and understand may work better?
- Feedback
- Feedback goes hand in hand with communication, if you emphasise communication and feedback you greatly increase the likelihood of success in the project.
- Feedback allows you to control a software project by continually monitoring its progress. By comparing the progress against the original plan and adjusting for deviations allows for greater control.
- Iteration
- This software development approach breaks the project into chunks, or increments call iterations, the goal of each iteration is to develop a piece of working software which the customer will find meaningful.
- In each iteration all of the software development activities are executed.
- Business Modelling
- Requirements Analysis
- Analysis
- Design
- Implementation
- Testing
- No activity is precluded from an iteration