SDLC Refers to Processes used to plan, create, test and deploy an information system
Contains 6 phases they are
- Design Software Solutions
- Maintain Software Solutions
- 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 have various Methodologies which each project can choose from
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
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:
Requirements are studied and gathered
Risk analysis phase
In the risk analysis phase, a process is undertaken to identify risk and alternate solutions
Actual development and testing if the software takes place in this phase
This phase allows the customer to evaluate the output of the project to date before the project continues to the next spiral.
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
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 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 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
- 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
* Timetable of project
* Time before a return on investment is realized
Write the Business case
- Executive Summary
- Problem statement
- solution Options
- cost Benefit analysis
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
People that are directly or indirectly affected by project they called stakeholders
What is a stakeholders?
- Project team members
- 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