Our software development is based on a methodology known as Fractal Model,
described in the paper published by Brian Foote (http://laputan.org/lifecycle/Lifecycle.html#Prototype).
Fractal Model refines iterative
models developed in Waterfall, Evolutionary, and Spiral process models
comprising of Prototype, Expansionary and Consolidation phases. In this
model emphasis is placed on the Software Infrastructure for solving a
range of application requirements and application design is reviewed and
corrected during the Consolidation phase to minimize maintenance costs
(typically 60-85% is the maintenance cost of a project). We consider this
an opportunity driven model.
Each project is divided into three phases
called Discovery, Implementation, and Support. The Discovery phase begins
with understanding the customer's existing business process and the infrastructure
that supports it. An evaluation report is then provided to the customer
in order to justify the proposed automation. Once the customer feels comfortable
with our understanding of the system requirements, we quickly provide
a prototype utilizing our reusable software objects. This helps the customer
not only evaluate risk factors but also prepare for adaptation of the
new system. Project is then moved into the next phase called Implementation.
In this phase, the implementation team expands the existing functionality
of the objects used in the prototype to accommodate new requirements.
As the functionality of the individual objects that comprise of the entire
system mature, the system design is finalized one last time. This allows
consolidation of the objects for performance efficiency. As the consolidation
of each object is completed, the customer is encouraged to use the system.
Customer's feedback at this stage of the project helps us evaluate systems
robustness and efficiency as we add remaining features.