Software development life cycle (SDLC) — A quick overview

    • +0
    Share on
    close
    • +0
    Share on
    close
    Share on
    close
    image

    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 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 each segment based on design

    Testing-Test 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 minimizes the risk by breaking projects into smaller segments. Each cycle begins with identifying stakeholders and what success looks 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 moderate 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 the 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 constraints

    No strict approval processes needed

    Innovative, flexible design that needs 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

    Concept- Projects are envisioned and prioritized

    Inception- Team members are identified, funding is put in place, and initial environments and requirements are discussed

    Iteration/Construction- The development team works to deliver working software based on iteration requirements and feedback

    Release- QA (Quality Assurance) testing, internal and external training, documentation development, and final release of the iteration into production

    Production- Ongoing support of the software

    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 constraints

    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 of 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 a strong team and individual performances for identifying business requirements.

    The 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

    A 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 of an Effective Business case

    1. Initial Analysis

    2. Determine Potential Solutions

    3. Write the Business case

    4. Review Business case

    5. 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 stakeholder?

    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 an anticipated scope

    Get ideas from stakeholders as you identify them

    Assigning Stakeholders Responsibilities

    RACI Matrix( Responsible Accountable Consulted Informed)

    A 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

    Article Credit: Emstell

    • +0
    Share on
    close
    • +0
    Share on
    close
    Share on
    close
    This is a YourStory community post, written by one of our readers.The images and content in this post belong to their respective owners. If you feel that any content posted here is a violation of your copyright, please write to us at mystory@yourstory.com and we will take it down. There has been no commercial exchange by YourStory for the publication of this article.
    Report an issue
    Authors

    Related Tags