Lifecycle Methodologies and Tools
The Cogent development team adopts project methodologies based on the client's project
specifications and requirements. Cogent technologies has extensive expertise on
the following methodologies:
Waterfall Model
This life-cycle model 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 and is considered an ideal
choice when the user's software requirements are clearly stated at the inception
of the project.
Object Oriented Model
Each Object Oriented Development Project that is taken up by Cogent may go through
all or some of the phases of the Software Development Life Cycle (SDLC) defined
by Cogent's QMS procedures. This methodology is used to define the activities and
work products for each phase and in projects where the development tasks arrive
as work packets. The phases of execution, the associated work products, verification
and validation criteria for each of the relevant phases shall be at par with this
methodology.
Prototyping Model
This methodology defines a mechanism to handle concept building and / or prototyping
projects and is used by Cogent in complex projects in order to understand requirements
better, to reduce design risks and to share the user interface with the Customer.
Concept building projects are typically of an R&D type, where the goal is to
arrive at an optimal solution based on a short description of requirements by the
Customer. 'Throwaway' or 'Evolutionary' prototyping (Spiral Model) are used depending
on whether the model would be discarded after use or would be adapted after use
until it eventually evolves into the product.
Incremental Model
The Incremental model of development is an evolutionary model that combines the
elements of the linear sequential model (Waterfall model) and the iterative philosophy
of Prototyping and is considered ideal for a project that is complex by nature having
large business components and interfaces with third party business applications,
requiring high availability, and tight security. It also helps in managing the technology
risks by spreading the risk across successive increments. This unique methodology
has the distinct advantage of getting developed, quality assured and demonstrable
functionality at the end of each iteration, which can be improved upon with successive
iterations to get the desired functionality. In other words, early increments are
"stripped down" versions of the final product, but they do provide capability that
serves the user and also provide a platform for evaluation by the user.
In the Project lifecycle, we use tools which facilitate or effectively document
the following activities:
-
Project Management and Planning (PMP)
-
Configuration Management (CM) & Version Controlling
-
System Architecture Design
-
Automated Testing
-
Bug Management