Tetrasoft Inc.

Methodologies

Every software development methodology has its own advantages and disadvantages. There is no one process or even methodology that works for everyone all the time. We need to explicitly or implicitly tailor the process that best suit our needs.

Tetrasoft has a proven experience in software development using various methodologies. At Tetrasoft, we consider various possibilities and constraints and then select the best and appropriate methodology that exactly meets our client requirements. This approach to development ensures that our customers have access to well-planned and engineered solutions that evolve through the project lifecycle.

Following are the development methodologies used by Tetrasoft:

Full SDLC projects encompass all the phases in the SDLC like requirements gathering, analysis, design etc. In such projects that use full SDLC methodology, Tetrasoft will involve its project team right from the Customer’s problem statement to the delivery of the solution. There are two distinctive characteristics of this class of projects. One is product development where the requirements are envisaged by the development team along with the marketing group and domain consultants. These requirements are presumed to be realistic with regard to the acceptability of the product. The second category consists of the turnkey solutions developed for Customers based on the Customer’s need for computerized solution.

Partial SDLC projects are the ones which start at different phases of the SDLC. This implies that some of the projects might start at the Design phase and continue through to the Warranty, while other projects might just involve the coding, testing and delivery of the software. These projects follow the SDLC from the entry point (contractual starting phase) to the terminating phase (again based on the contractual obligation). In this case, clear understanding of inputs from the customer and the deliverables to the customer is required and shall be documented as part of the requirements at the stage of contract. The distinct phases of the SDLC that will be carried out as part of the project shall be documented in the Software Project Plan (SPP) and Customer’s consent may be obtained, if necessary.

Agile Development

We follow an iterative model for our application development process. It is a conceptual framework that promotes foreseen interactions throughout the development cycle. It is a process that enables the quick response to rapidly changing requirements using flexible design principles, patterns and practices.

Among several agile development methodologies we use SCRUM, which is an iterative incremental framework for Software Development. This approach has the advantage of early risk mitigation and mid-term course correction possibility, thereby avoiding surprises towards the end.

Benefits of using our SCRUM Agile Methodology:

  • Collaborative approach ensuring customer satisfaction.
  • Better communication between client and the development team.
  • Self-directing teams that work together as a whole.
  • Streamlined software that is flexible, changeable and maintainable.
  • Shorter and frequent software deliveries.
  • Delivers highest business values early on in the project by providing openness and visibility to customers.

Waterfall Model

The Waterfall life-cycle model is one of the sequential activity centered models. All of the software development activities are performed in sequence and there is no iteration. All requirements for one activity are completed and reviewed before the next activity starts. The goal is to never turn back once an activity is completed.

This model is quite easy to understand by each of the parties involved in the process. It demands a systematic, sequential approach to software development that begins at the customer's software requirements and progresses through analysis, design, coding, testing and post development warranty. The interconnection among the SDLC phases in the waterfall model is as follows:

Benefits with Waterfall Model:

  • Simple and easy to explain
  • The staged development cycle enforces discipline: every phase has a defined start and end point.
  • Progress can be conclusively identified (through the use of milestones) by both vendor and client.
  • Helps to plan and schedule the project
  • Verification at each stage ensures early detection of errors / misunderstanding

V - Model

The V-Model is a software development model designed to simplify the understanding of the complexity associated with developing system. It is presumed to be the extension of the waterfall model. Instead of moving down in a linear way, the process steps are bent upwards after the coding phase, to form the typical V shape.

V-model assumes long time-frames with phases progressing in an ordered fashion from requirements analysis to system design to programming, and finally to testing. Below figure demonstrates the relationships between each phase of the development life cycle and its associated phase of testing.

Benefits with V- model:

  • Minimization of Project Risks.
  • Improvement and guarantee of quality.
  • Reduction of total cost of the entire project and system life cycle.
  • Document-driven.
  • Divides responsibility strictly into roles.
  • Problems can be solved easily by breaking them down into smaller pieces.