Our software engineering and application development approach are based on methods, practices, techniques, and tools that are used in business systems analysis, design, implementation, and validation. This enables us to address business and software issues using repeatable processes. The success we have attained in software engineering and applications development are predicated on our adherence to engineering disciplines that are executed as agile sprints, with each sprint producing a well defined set of engineering artifacts and proven software code.
Formal
The methods and practices we observe for defining and addressing software issues are formal, practical, and result driven. Clients are directed through several agile sprints in the development lifecycle so that they experience the results of multiple iterations before the final code is packaged and delivered.
Deliverables
Our projects are executed in alignment with the systems development lifecycle, with specific artifacts generated at each phase. Among these deliverables are Requirements, Design, Prototype, Code, User Acceptance Report, Defect Log, Systems Inventory, Beta Package, Installation Instructions, and others.

Analysis
This is a formal process that accumulates the needs expressed by a client, and consolidates those needs into requirements that are accurate and unambiguous. These requirements are expressed as statements at the context level, are then decomposed to specific functions, transformed into process models, and finally exhibited as transaction screens and events reflecting business activities and workflows.
Planning
This is a disciplined method for creating a timeline of actions and events that must be orchestrated with synchronized rigor to engineer and deploy a solution. A plan is usually expressed as a Gantt chart of all phases, tasks, activities to be performed; milestones, dependencies, resources; with highlights on critical paths and deliverables; and measures to ensure that resources are optimally utilized.



Engineering
A full complement of software engineering and application development phases are performed according to the agreed plan, with the intent to implement the accepted requirements. The phases followed are prototyping, coding, testing, debugging, packaging, and delivery. These phases may be executed in sprints that spiral to a solution that satisfies the accepted requirements and achieves user acceptance.
Maintenance
Upkeep of an originally developed solution ensures that post implementation discoveries or changing needs are promptly addressed. As maintenance is performed, multiple versions may be released, with each version addressing a well defined set of enhancements or defects. Version control practices are enforced to effectively manage the source code variation between releases.



