Software Development Life Cycle (SDLC) – A Quick Overview

Software Development Life Cycle (SDLC) – A Quick Overview

  • January 15, 2018
  • Technology

SDLC Refers to Processes used to plan, create, test and deploy an information system

Contains 6 phases they are

  • Requirements
  • Design Software Solutions
  • Development
  • Testing
  • Deployment
  • Maintain Software Solutions

SDLC Steps

 

  • Gather Requirement: Understand the user requirement
  • Design : Design the UI and back-end Structures
  • Development : Developing the the system in the selected platform and structure
  • Testing : Testing the systems against the requirements
  • Deploy: Given to the users in a production and utilize the system
  • Maintenance : Bug Fixes and other updates needed in the system

SDLS Methodologies

 

SDLS have various Methodologies which each project can choose from

Waterfall model

It is an old traditional model. Waterfall model contains 6 phases which happens on after another in a waterfall flow

  • Requirement – Business needs analysis
  • Design – Design solution to meet requirement, determine hardware and system requirements
  • Development-Develop the each segment based on design
  • Testing-Test the all segment
  • Deployment-Deploy software to the market
  • Maintenance– Fix the bugs with release         

Spiral model

The spiral model is a risk-driven process model generator for software projects. It is the combination of linear and iterative. Spiral model minimize the risk by breaking a projects into smaller segments. Each cycle begin with identifying stake holders and what success look like and its end with only a review

A spiral model has 4 phases described below:

Planning phase

Requirements are studied and gathered

Risk analysis phase

In the risk analysis phase, a process is undertaken to identify risk and alternate solutions

Engineering phase

Actual development and testing if the software takes place in this phase

Evaluation phase

This phase allows the customer to evaluate the output of the project to date before the project continues to the next spiral.

Incremental model

The incremental build model is a method of software development where the product is designed, implemented and tested incrementally (a little more is added each time) until the product is finished

When to use

Large projects where requirements are not understood

Working in unfamiliar technical arenas

Changing the requirement due to rapidly changing technology

Business user can be moderately to heavily engaged

Need functional requirements turned into something tangible quickly

Prototyping

The Prototyping Model is a systems development method in which a prototype is built, tested, and then reworked as necessary until an acceptable prototype is finally achieved from which the complete system or product can now be developed. Prototype gives a visual to user of their wants and needs. It promotes user participation and communication. It allows progress even when unclear requirements.

When to use

  • Project objectives are unclear
  • High pressure to implement something
  • Frequent requirement changes
  • Minimal resource constrains
  • No strict approval processes needed
  • Innovative, flexible design that need to accommodate future changes

Agile

Agile SDLC model is a combination of iterative and incremental process models with focus on process adaptability and customer satisfaction by rapid delivery of working software product

  1. Concept– Projects are envisioned and prioritized
  2. Inception– Team members are identified, funding is put in place, and initial environments and requirements are discussed
  3. Iteration/Construction– The development team works to deliver working software based on iteration requirements and feedback
  4. Release– QA (Quality Assurance) testing, internal and external training, documentation development, and final release of the iteration into production
  5. Production– Ongoing support of the software
  6. Retirement– End-of-life activities, including customer notification and migration

When to use

  • The project is unpredictable and will have changing requirements
  • Using or creating leading edge technology
  • Organization as an experienced Scrum Master
  • Business has experienced resource that can dedicate time to the project
  • Pressure to pressure a tangible product quickly
  • Development team doesn’t have resource constrains

Rapid Application Development

Rapid application development is both a general term used to refer to alternatives to the conventional waterfall model of software development

The phases in the rapid application development (RAD) model are:

Business modeling: The information flow is identified between various business functions.
Data modeling: Information gathered from business modeling is used to define data objects that are needed for the business.
Process modeling: Data objects defined in data modeling are converted to achieve the business information flow to achieve some specific business objective. Description are identified and created for CRUD of data objects.
Application generation: Automated tools are used to convert process models into code and the actual system.
Testing and turnover: Test new components and all the interfaces.

Advantages of the RAD model:

  • Reduced development time.
  • Increases reusability of components
  • Quick initial reviews occur
  • Encourages customer feedback
  • Integration from very beginning solves a lot of integration issues.

Disadvantages of RAD model:

  • Depends on strong team and individual performances for identifying business requirements.
  • Only system that can be modularized can be built using RAD
  • Requires highly skilled developers/designers.
  • High dependency on modeling skills

Business Case and its Usage

Business case is a decision making tool used to determine the effects a particular decision will have on   Profitability.

Why a business case is used

Intended to convince key decision makers of the merits of a particular course of action.

When the business case is used

A business case is done on nearly every action but not always in a written format. The business case is created   prior to the project being started. This frames up the return on investment prior to taking the action.

Who creates a business case?

A business case is generally created by a business executive a business manager, or business analyst.

5 phases to an Effective Business case

  • Initial Analysis
  • Determine Potential Solutions
  • Write the Business case
  • Review Business case
  • Present the Business case

Initial Analysis

  • Thoroughly understand the problem or opportunity
  • Determine high level requirements
  • Identify data needed to support the business case (ROI)
  • validate with decision makers the high level return is worth the potential investment
  • Analyse likelihood project will be approved and if you should continue

Determine Potential Solutions

  • Identify all possible solution to the problem

Benefits

* Costs

* Timetable of project

* Time before a return on investment is realized

* Risks

Write the Business case

  • Executive Summary
  • Problem statement
  • Analysis
  • solution Options
  • cost Benefit analysis
  • Recommendation

Review Business case

  • validate problem statement justifies a call to action
  • Ensure all valid solutions are given
  • Double check cost benefit analysis calculations
  • Objectively dissect your recommendation
  • Correct any spelling or grammatical mistakes
  • Ask another person to closely review the document
  • Get project buy in of two keys stakeholders

  Present the Business case

  • Remind yourself, they haven’t seen this before
  • Clearly define the problem and business need to act
  • give your recommendation
  • Explain the return on investment
  • Touch on each risk, but unless asked ,don’t dive in deep
  • Mention your stakeholder backers
  • Close the Presentation summarizing the benefits and ROI

Project stakeholders

People that are directly or indirectly affected by project they called stakeholders

What is a stakeholders?

  • Project team members
  • Customer
  • Suppliers
  • Employees
  • City
  • Professional Organizations
  • Any individual impacted by the project
  • Any individual to support the project

Why identify stakeholders

  • It increases the chances for success
  • Additional ideas
  • Varied perspectives
  • aims buy-in
  • Increases credibility

How to identify stakeholders to my project

  • walk through anticipated scope
  • Get ideas from stakeholders as you identify them

 

Assigning   Stakeholders Responsibilities

  • RACI Matrix( Responsible Accountable Consulted Informed)

Critical tool to understand and align the responsibilities of stakeholders.

They can be used for

*   Alleviates power struggles

*   Reduces lack of ownership

* Sets clear expectations

Leave a Reply

Your email address will not be published. Required fields are marked *

Newsletter

Subscribe to our monthly newsletter with useful information about building valuable software products.
Don’t worry, we value your privacy and won’t spam you with any bussines enquiries!

Subscribe to our monthly newsletter with useful information about building valuable software products.

Recent Posts

Are we ready for business?

Leave a Reply

Your email address will not be published. Required fields are marked *