Methodology - not technology - is the driving force behind any successful web or software project.
It acts as a rudder, constantly putting us back on track when we drift away from the core issues and get lost in details.
Methodology gives us structure and control, it is the backbone on which everything else is built.
A flexible iterative approach
We follow a rigorous methodology for every project we work on.
In web and software development, things are almost never perfect the first time around. We anticipate that there will be changes in plans, so we make our process highly flexible and iterative.
Iterative development allows previous stages of the development life cycle to be revisited in a controlled fashion.
An iterative approach reduces project delays and risks of cost overrun. It allows us to stay focused on the project's requirements as we constantly receive client feedback at all stages of the development.
Five stages
During the Analysis phase, we capture requirements based on the desired functionality of the system. This phase explores what the system should do for the user.
This often involves gathering feedback from a broad range of individuals throughout the client organization.
Cépage's staff collects the information and conducts interviews as necessary. Your requirements and business processes constitute the "business rules" that will drive the future system.
During the Design phase, we define the architecture, components, and interactions of the system. This is when we define how we are going to achieve the functionalities required by the customer.
A prototype may also be created at this stage. It will allow the client to assess the user interface (GUI) and request changes early on.
We develop conceptual models to help us break complex problems into manageable pieces.
To achieve this, we rely on industry-standard modeling methodologies such as the Unified Modeling Language (UML) and the Rational Unified Process (RUP).
A complete database diagram is also prepared at this stage.
During the Implementation phase of the project, we develop a complete system. This is the phase where we actually "build it".
First, the database is built, including tables, relationships, indexing, referential integrity, etc. Likewise, the application's different components are written and the graphical user interface (GUI) is finalized.
Further enhancement requests and system changes are fed back into the analysis and design, to ensure that the project never loses sight of the client's requirements.
When required by the client, we subcontract with a Quality Assurance company to test the system being built.
During the Deployment phase, we install the solution in a scheduled and orderly fashion. We get the system to work at the customer's site.
We provide complete specification and product documentation to our clients, as well as user training. We give you the tools to take ownership over the newly installed system.
Usually, we recommend the customer to perform a thorough User Acceptance Test (UAT) of the whole system, to ensure that everything is working in production as expected.
Any solution, no matter how well designed, will require on-going support and service.
During the Support phase, we ensure that appropriate technical assistance is provided through regular strategy and content reviews.
We provide a hotline number to our clients for rapid intervention on any production issue.
Maintenance and support may be performed under service contracts, or on an as-needed basis.
The client, a key player on our team
We work very closely with our clients to accomplish those five stages of the development process.
All aspects of the project are discussed and reviewed with clients to ensure that the final product meets their requirements.
We specifically involve clients in the initial analysis and design phases, and maintain dialogue throughout the project life cycle.
