WORKING METHODOLOGY
Icreon is committed to delivering solutions of the highest quality. We lay emphasis on a transparent communication channel between clients and the members of the project team ensuring clear understanding of the requirements.
ENGAGEMENT MODELS
At Icreon, we offer to deliver solutions through various engagement models, these are:
Fixed Duration/Cost: In this engagement model, the duration and the cost of the project are usually fixed. This model is ideal for small to medium sized projects wherein the client is the end user of the product. Read More..
Dedicated Team: Under the FTE engagement model we assign resources that can include software engineers, project managers, software testers, software analysts or consultants, solely for a client's project. The resources can perform tasks from our development center or can perform tasks on-site. Read More...
METHODOLOGY
The project methodology that will be followed for the development will largely be governed by the engagement model selected. At Icreon, based on the project suitability, we follow the Agile and Waterfall development methodologies.
The model is followed in situations where in the project requirements fixed and not likely to change much during the course of the development. The entire requirements are identified at the start of the project. The various stages of the Waterfall model include:

- Requirement Gathering: the first step in delivering a solution is a proper study and gap-analysis of the requirements. The requirements are documented in the form of a functional specification document (FSD) that lays down the roadmap for the development. The FSD contains a detailed description of all features and functionalities to be included in the solution. The development process begins only after the FSD has been verified and approved by the client.
- Architecture & Design: Once the FSD has been approved the next step is to design the database architecture and the GUI prototype. These are designed keeping in mind the requirements mentioned in the FSD.
- Implementation & Integration: With the architecture and design in place, the actual coding of the solution begins. We have in place a set of coding standards that all code adheres to. Regular reviews are done to ensure compliance to standards. Individual code modules are integrated to form a whole.
- Deployment & Testing: The integrated solution is deployment on a testing server for the QA to test the solution. Various test such as functional tests, compatibility tests, regression tests etc are performed to ensure that the solution meets the requirements and conforms to the standards. Errors identified during testing process are recorded in an issue tracker. The developers work to remove the errors that have been identified. The testing cycle is repeated till all errors have been removed. After a successful verification, a final version of the software is released to the client.
Agile is an iterative and incremental mode of development wherein the entire development life cycle is broken down into small iterations. The project scope and requirements, at a very broad level, are laid down at the start of the development. Plans regarding the number of iterations, the duration and the scope of each iteration are laid down.
Following the Agile model makes it much easier to adapt to changes during the development process as each iteration involves a cycle of requirement analysis, design, implementation, testing and then release to the client. Project risks are minimized to a great extent because of work is done is a number of iterations, problems and issues can be identified early on.
The Agile model can be implemented using various methods. At Icreon, the Agile methods that we use include:
- Extreme Programming
- SCRUM
The various stages of the Agile Model include:
- Project Inception: At the start of any project, we work in close coordination with the client to understand and analyze the requirements. Upon a detailed analysis initial estimations as to the broad level project scope, duration etc are made.
- Planning: With the initial estimations in place, planning as to the number of iterations required and the broad level scope and duration of the iterations are laid down. The plans are sent to the client for approval. Upon approval, the process of developing the first iteration begins.
- Iterations: Based on the scope defined for the iteration, detailed functional requirements, for the iteration, are laid down. With the requirements in place, the designs are made and the coding process begins. Once the coding process is completed testing is conducted. Any bugs or issues identified are rectified and a release is made to the client. Client feedback, if any, is incorporated and after approval from the client we move on to the next iteration. Every iteration that has been completed is integrated with the previous one. Proper testing is done to ensure that no issues arise out of the integration.
The above mentioned process if followed for all iterations.
- System Testing: On completion of all the iterations, we conduct a final testing on the fully integrated solutions. Issues are any are sorted out and the solution is released to the client. Upon approval from the client the solution is made live.
In developing solutions using the Agile model, we make use of:
. MbUnit - for performing unit tests
. Agile Foundation Server - Agile Template - to manage work item tracking, version tracking, etc
©2009 OffshoreDotNetDevelopment (Unit of Icreon Communications) - Offshore .NET Solutions India



