CompanyMissionTechnologyMethodologye-Centric Blog
Logo of e-Centric Consultancy Services e-Centric Consultancy Services

You focus on your business while we take care of your IT.

development
database services
business consulting
content services
internet marketing
BI services
server maintenance
small businesses
company
our mission
contact
careers

Years of experience has taught us that there is no one size fits all in software development. It is a challenge to identify which methodology is ideal of which project and we are very careful while doing so. Though we do not hesitate to adopt a totally new methodology if the project demands so, the most common two methodologies that we adopt are the popular ones:

System development lifecycle

System development lifecycle models is a set of traditional methodologies that were created to develop big and complex systems that demanded teams of architects, analysts, programmers, testers and users work together to create the millions of lines of custom-written code that drove the enterprises.

The popular models are waterfall, fountain, spiral, build and fix, rapid prototyping, incremental and synchronize and stabilize. The oldest of these, the best known and the one that we adopt for some projects is the waterfall model: a sequence of stages in which the output of each stage becomes the input for the next.

We generally divide these stages in the following manner:

e-Centric Consultancy Services - System development life cycle.

The other two models of SDLC that we adopt as and when required are:

Spiral model

The spiral model emphasizes the need to go back and reiterate earlier stages a number of times as the project progresses. It's actually a series of short waterfall cycles, each producing an early prototype representing a part of the entire project. This approach helps demonstrate a proof of concept early in the cycle, and it more accurately reflects the disorderly, even chaotic evolution of technology.

We have found this model most ideal when the actual requirements of the customer are difficult to ascertain early and with each phase they become clearer.

Rapid prototyping

In the rapid prototyping model, initial emphasis is on creating a prototype that looks and acts like the desired product in order to test its usefulness. The prototype is an essential part of the requirements determination phase, and may be created using tools different from those used for the final product. Once the prototype is approved, it is discarded and the "real" software is written. We have found this model most ideal for web portal projects where the customer is not frequently available or where the customer from another country.

SCRUM

The business need of some of our customers is to reach the market as soon as possible. They assign higher priority to the actual development of product and very little to the other derivable like the documentation.

Some other customers deal with the rapidly changing markets and their needs are very volatile.

For addressing both the above situation, we have started adopting SCRUM for such projects. As more and more customers seem to prefer scrum, we predict it will be the main methodology that we will be using in future.


What is SCRUM?

Scrum is an iterative incremental process of software development commonly used with agile software development. The project lifecycle is divided into sprints. During each "sprint", typically a two to four week period (with the length being decided by the team), the team creates an increment of usable software. The set of features that go into a sprint come from the product "backlog", which is a prioritized set of high level requirements of work to be done. Which backlog items go into the sprint is determined during the sprint planning meeting. During this meeting, the Product Owner informs the team of the items in the product backlog that he wants completed. The team then determines how much of this they can commit to complete during the next sprint. During a sprint, no one is allowed to change the sprint backlog, which means that the requirements are frozen for that sprint. After a sprint is completed, the team demonstrates the use of the software.

Scrum enables the creation of self-organizing teams by encouraging co-location of all team members, and verbal communication across all team members and disciplines that are involved in the project.

A key principle of Scrum is its recognition that during a project the customers can change their minds about what they want and need (often called requirements churn), and that unpredicted challenges cannot be easily addressed in a traditional predictive or planned manner. As such, Scrum adopts an empirical approach-accepting that the problem cannot be fully understood or defined, focusing instead on maximizing the team's ability to deliver quickly and respond to emerging requirements.

e-Centric Consultancy Services - Image depicting team work.