Enfocom offers the following Software Development services:
Enfocom employs an effective process model to ensure your project needs either meet and/or exceed your expectations. For software development and web application projects, the Capability Maturity Model Integration (CMMI) developed by the Software Engineering Institute is followed to ensure that the final product meets your requirements, is completed on time, and remains within the required budget.
1. Software Concept
This phase will define the overall goals of the project. The deliverable of this phase is a Project Charter.
2. Requirements Analysis
The goals of this phase are: to comprehensively define the system's end users, to define the interactions they require, and to define the elements that appear on each of these screens. The deliverable of this phase is a functional requirements document.
3. Architecture Design
The outcome of this phase is a technical system architecture that will best support the current application/site, while remaining completely scalable. The deliverable of this phase is a Technical Architecture document that details the recommended system for running the finished system.
4. Detailed Design
The outcome of this phase is the compilation of all supporting documentation needed to complete the interface design and coding of the site. The deliverables of this phase are a wireframes document containing page mockups that define each screen, a site architecture that illustrates the required page flow, and a functional specification that will define each discrete element from the wireframes.
5. Interface Design
The outcome of this phase is a completed visual design with an interface that satisfies the interactions defined in the functional requirements, any marketing/branding requirements of the client, as well as providing a viable user experience based on best practices. The deliverable will be a group of visual designs, with content based on the approved wireframes. A design will be created for each type of page the application/site requires, essentially a group of templates.
The outcome of this phase is a complete code base for the project. Most projects entail multiple layers such as presentation, database and business logic. Each page is coded according to the Detailed Design and summary tested by the developer. We schedule a period of internal coding rework as a result of our internal testing once coding has been completed. The deliverables of this phase will be a functioning application for the testing by the QA staff. Traditionally, at this point, the application is hosted on a staging server with identical specifications to the final production environment. This can be done either locally or by the client's provider.
The outcome of this phase is an application that meets acceptance standards. All defects are closed or deferred. The deliverable is the final application, functioning without defects on the production server.
Our project management process is based on solid communication between Enfocom and our clients. We provide several tools to facilitate and encourage this process. For each project, we constantly update our client with the following: Project Progress, Project Notes, and Sample Designs. Once the application/site is ready for initial deployment, we provide a secure staging area based on the same technologies defined in the technical architecture. This is a password protected publicly accessible website, allowing the client to review the project at their convenience.
Our Project Manager is always the single point of contact for our clients. Acceptance of this project will be based on Enfocom meeting the conditions set forth in the Project Charter, and our client agreeing that those conditions have been met.
Our comprehensive testing is based on a defined Test Plan. It will identify the functional requirements and non-functional aspects of the application/site to be tested. Non-functional aspects could include items such as interface consistency, error handling and installation. Test checklists will be defined for each page and for each procedure.