Our focus is
on precision and excellence
Softvision Solution,a standardized software development methodology
helps us to provide very cost-effective and efficient business solutions.
Our process methodology is continually reviewed for improvement to
further ensure quality development and product delivery consistent with
customer expectations.
DEFINITION:
Definition System Development Life Cycle
(SDLC) is the overall process of developing information
systems through a multistep process from investigation of
initial requirements through analysis, design,
implementation and maintenance.
Our
software engineering team follows a standard Software
Development Life Cycle (SDLC) process with 6 distinct phases
during the execution of a project.
Once upon a time, software development consisted
of a programmer writing code to solve a problem
or automate a procedure. Nowadays, systems are
so big and complex that teams of architects,
analysts, programmers, testers and users must
work together to create the millions of lines
of custom-written code that drive our enterprises.
To manage this, a number of system development life cycle
(SDLC) models have been created: waterfall, fountain,
spiral, build and fix, rapid prototyping, incremental, and
synchronize and stabilize.
The oldest of these, and the best known, is the
waterfall: a sequence of stages in which the output of each
stage becomes the input for the next. These stages can be
characterized and divided up in different ways, including
the following:
Project planning, feasibility study: Establishes a
high-level view of the intended project and determines its
goals.
Systems analysis, requirements definition: Refines
project goals into defined functions and operation of the
intended application. Analyzes end-user information needs.
Systems design: Describes desired features and
operations in detail, including screen layouts, business
rules, process diagrams, pseudocode and other documentation.
Implementation: The real code is written here.
Integration and testing: Brings all the pieces
together into a special testing environment, then checks for
errors, bugs and interoperability.
Acceptance, installation, deployment: The final stage
of initial development, where the software is put into
production and runs actual business.
Maintenance: What happens during the rest of the
software's life: changes, correction, additions, moves to a
different computing platform and more. This, the least
glamorous and perhaps most important step of all, goes on
seemingly forever.
Project Planning and Initiation: Scope,
Objectives & Boundaries of the project will be clearly defined : Project
Plan document prepared
Requirement Study and Analysis: Detail
Requirement & Functional specs will be defined, Deliverable: SRS document
- approval.
Application and Database
Decision: Application and Database will be designed, Program
specifications will be prepared; Deliverable : ADD & DDD; ADD & DDD
documents are to be approved.
Coding and Unit Testing: Programs will be
coded & unit wise testing will be carried out based on Program
specs.
System and Q.C. Test: Full System will be
tested along with the standard Q.C. testing at the development
environment.
Acceptance Testing: Application software
will be tested based on approved SRS, Design & Acceptance Test Plan
documents. The client will accept Application after successful acceptance
testing.
Lifecycle Methodologies and
Tools
The Softvision Solution development
team adopts project methodologies based on the
client's project specifications and requirements.
Softvision Solution technologies has extensive
expertise on the following methodologies:
Waterfall Model
The waterfall model is well understood, but it's not as
useful as it once was. In a 1991 Information Center
Quarterly article, Larry Runge says that SDLC "works very
well when we are automating the activities of clerks and
accountants. It doesn't work nearly as well, if at all, when
building systems for knowledge workers -- people at help
desks, experts trying to solve problems, or executives
trying to lead their company into the Fortune 100."
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.
Another problem is that the waterfall model assumes that
the only role for users is in specifying requirements, and
that all requirements can be specified in advance.
Unfortunately, requirements grow and change throughout the
process and beyond, calling for considerable feedback and
iterative consultation.
Object Oriented Model
Each
Object Oriented Development Project that is taken up by Softvision Solution may go
through all or some of the phases of the Software Development Life Cycle
(SDLC) defined by Softvision Solution'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 Softvision Solution 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.
Synchronize and Stabilize
The synchronize and stabilize method combines the
advantages of the spiral model with technology for
overseeing and managing source code. This method allows many
teams to work efficiently in parallel. This approach was
defined by David Yoffie of Harvard University and Michael
Cusumano of MIT.
They established release dates and expended considerable
effort to stabilize the code before it was released. The
companies did an alpha release for internal testing; one or
more beta releases (usually feature-complete) for wider
testing outside the company, and finally a release candidate
leading to a gold master, which was released to
manufacturing. At some point before each release,
specifications would be frozen and the remaining time spent
on fixing bugs.
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
|