Our project development approach is based on the principles of the Extreme Programming (XP) methodology. XP addresses the need for an effective response to rapidly changing project requirements. It was developed specifically to minimize the risks inherent in all software development projects: missed delivery deadlines, exceeded budgets, and buggy software.
This methodology promotes teamwork between developers, project managers and the customer. Software is developed in short, iterative stages. Customers select the chief features to be developed in each iteration. This enables developers to continually adjust direction and stay focused on customer requirements. The main goal of is to lower the cost of change in software requirements. With traditional system development methodologies, like the Waterfall Methodology, the requirements for the system are determined and often "frozen" at the beginning of the development project. This means that the cost of changing the requirements at a later stage in the project -- something that is very common in the real-world -- can be very high. This Methodology helps to mitigate the various risks (cost, timeline and functionality) as programmers and developers venture into new territory, innovating and sometimes inventing solutions to unique problems.
We focus on the following critical areas:
»
Minimizing the development-and-review cycles
In this way, the project's tasks and functions are broken down into small, easily-encapsulated pieces of work. The smaller the pieces, the less chance that any piece of work will go over-budget, or stray too far from the client's expectations / requirements.
»
Flexible Priorities
We stress on the importance of working on the most important features first, and less important features later. A sudden change in priorities means the programmers stop what they're doing and switch gears without delay.
»
Release early, release often.
Each development cycle (1-2 weeks) yields a software release. Because each release is a working piece of software, and because the most important features are always tackled first, the client receives a functional product if the project is suddenly halted mid-stream for any reason (after the first early-release).
»
Estimates come from the technical team
A salesman is not the right person to estimate a custom software project, and for that matter, neither is anyone who doesn't have "their hands in the code". We stress on the importance of obtaining estimates from people who are familiar with the work required for that project, and who are able to troubleshoot the plans, pointing out troublesome use-cases that less-technical project consultants might miss. We produce or scrutinize these estimates, factoring in safeguards and additional allowances as required.
Importance of this Model
»
There would be a good Interaction between developers and customers. Therefore, our team has a customer on site, who specifies and prioritizes work for the team, and who can answer questions as soon as they arise. (In practice, this role is sometimes fulfilled by a customer proxy.)
»
If learning is good, take it to extremes: Reduce the length of development and feedback cycles. Test early.
»
Simple code is more likely to work. Therefore, our associates only write code to meet actual needs at the present time in a project, and go to some lengths to reduce complexity and duplication in their code.
»
If simple code is good, re-write code when it becomes complex.
»
Regular code reviews are done. Therefore our associates work in pairs, sharing one screen and keyboard (which also improves communication) so that all code is reviewed as it is written.
»
Rigorous testing of the application is done. Therefore, tests are written before the code is written. The application is considered complete when it passes the tests. The system is periodically, or immediately tested using all pre-existing automated tests to assure that it works.
Testimonials
I am thoroughly impressed with Virtue Group expertise in developing and implementing our product.
Always willing and able to do whatever we ask, including work efforts... Stellar Performance always..."
Sr.Manager,SCI