Ridgehead development processes follow a number of standard and company-specific methodologies, modeling tools, and languages.
These changes alone are not limited to application or website development and some steps may not be applicable for certain projects. It is largely dependent on cost-and-time constraints. Ridgehead wraps these important development life-cycle steps with world-class project management and oversight. Customizing the approach to clients’ requirements while utilizing standard processes gives Ridgehead range and flexibility to meet client requirements and deadlines in a timely and cost-efficient manner. Additionally, Ridgehead will leverage both on- and off-shore development resources to achieve a balanced cost model while still delivering the overall project goals and objectives.
Agile Development
Agile development has demonstrated advantages in time-to-market, quality, efficiency, team morale, business/IT alignment, and responsiveness to change. Ridgehead is a proponent and practitioner of Agile development. This allows us to collaborate with clients and help mitigate outsourcing risks while achieving measurable benefits by staffing the project with the correct skills, prioritizing, and delegating activities effectively and investing in different means of team collaborations.
Business Analysis & Requirements Gathering
Ridgehead team starts its involvement with the goal of establishing the preliminary requirements. As the development project is typically part of a larger system, it will need a complete analysis as part of the project plan. Moreover, the analysis will cover all aspects, including (and especially!) how the solution is going to integrate within the existing system. It is important to determine the target audience, the actors, and the stakeholders. Then the hardware, software, use cases, workflow, actors, and data requirements are considered during the analysis period. Ridgehead provides a cost-benefit analysis that is the foundation of the project plan.
Architecture and Design
Preliminary specifications and designs are drawn up by addressing each-and-every element identified in the requirements gathering stage. If the project is a website, then the modules for the site (including layout, navigation, and dynamic parts) should be included in the specification. Larger projects will require further levels of detail to assess additional business and technical requirements.
Documentation
After reviewing and approving the preliminary analysis, a detailed specification is prepared outlining the scope of the project including responsibilities, timelines, and costs. In order to provide complete specifications, the following documentation is typically attached:
- Wire-frame diagrams of screens and forms
- Database schema of all database tables, relationships, and objects
- Workflow diagrams for all key business events
- Use cases for all events that the solution will encompass
- Test cases for all events that will be qualified and tested during the QA process
- Project plan outlining the stages and milestones for the project
- Timely marketing campaigns that address the needs of your clients and prospects
- Development & Integration
- Programming
Work on the solution is scheduled and planned after gaining approval on the specifications and documentation. Ridgehead will show clients the interactivity of the application and/or website if clients show interest in a full functional prototype. We also will provide two or three designs with images and navigation features. Client modifications and enhancements are incorporated into the project, and all changes are frozen before moving to the next phase of the development process. As needed, client comments, feedback, and approvals can be communicated via email, fax, and telephone.
The Ridgehead development team codes the solution without disturbing the design. The developer knows the interface and will not modify the look and feel of the site or application. The developer will understand the design and navigation. If the site is dynamic, then the code will utilize the template. The developer may need to interact with the project manager in order to understand the design.
The developers will perform any required integration to third-party systems in conjunction with representatives from the client’s IT team. All integration will be thoroughly tested and documented so that exposed interfaces and dependencies are fully understood, documented, and tested. All developers will use a CVS to control all source control. The coding team will generate necessary testing plans, as well as any detailed technical documentation that is required for the solution. The end-user documentation is prepared by the coding team, which technical writers are able to leverage in order to develop help files and user manuals.
Quality Assurance & Testing
Software applications and web-based applications need intensive testing. Different types of testing may be required, including:
- Wire-frame diagrams of screens and forms
- Database schema of all database tables, relationships, and objects
- Workflow diagrams for all key business events
- Use cases for all events that the solution will encompass
- Test cases for all events that will be qualified and tested during the QA process
- Project plan outlining the stages and milestones for the project
- Timely marketing campaigns that address the needs of your clients and prospects
- Programming
- Development & Integration
Automated testing and manual testing are performed by the Ridgehead team. For example, to test graphics loading and calculate the load time (which is very important for the responsiveness of a website), Ridgehead utilizes online testing tools such as Selenium, GitHub, TFS, and others.
Promotion & Deployment
Promotion of the solution into the production environment needs preparation, planning, and rehearsal. The solution deployment is normally an ongoing process as the strategies of SEO change quite often.
Support & Maintenance
Ridgehead provides 24/7 support by phone, email, and remote access for all applications. We also provide a variety of maintenance options to ensure our clients take advantage of upgrades and new releases for their solution to remain up-to-date.
Upgrades & Releases
Solutions often require updates to add new requirements to meet user needs. In this case, you may need to perform some of the development life-cycle steps, e.g. analysis, documentation, development, etc. Bug fixes can be done during the time of maintenance. Once the solution is operational, ongoing promotion, technical maintenance, content management, and updating may be required on a regular basis.