Final SDLC
Final SDLC
Development Life
Cycle )
12 - 1
Why Study SDLC?
12 - 2
SDLC(Software development life cycle)
12 - 3
Planning
12 - 4
Feasibility Study
Definition:
• A preliminary study where the information
needs of prospective users and the
resource requirements, costs, benefits,
and feasibility of a proposed project are
determined
12 - 5
Feasibility Categories
12 - 6
Feasibility Categories
12 - 8
• Operational – willingness and ability of the
management, employees, customers,
suppliers, and others to operate, use, and
support a proposed system
• Schedule-
• Time resources,
• Is it possible to build a solution in time to
be useful?
12 - 9
Feasibility
12 - 10
Analysis
Definition:
• An in-depth study of end user information needs that produces
functional requirements that are used as the basis for the design of
a new information system
• The analysis phase answers the questions of who will use the
system,
• what the system will do, and
• where and when it will be used.
• The three primary activities involved in the analysis phase are as
follows:
• Gathering business requirement
• Creating process diagrams
• Performing a detailed analysis
12 - 11
Design
Definition:
• Design activities that produce system
specifications satisfying the functional
requirements that were developed in the
systems analysis process
12 - 12
Design Categories
12 - 13
Implementation or coding
12 - 14
Testing
12 - 15
Maintenance
Definition:
• Monitoring,
• evaluating, and
• modifying of operational business systems
to make desirable or necessary
improvements
12 - 17
12 - 18
PHASES IN WATERFALL MODEL
• The sequential phases in Waterfall model are −
• Requirement Gathering and analysis − All possible requirements of the system to
be developed are captured in this phase and documented in a requirement
specification document.
• System Design − The requirement specifications from first phase are studied in this
phase and the system design is prepared. This system design helps in specifying
hardware and system requirements and helps in defining the overall system
architecture.
• Implementation − With inputs from the system design, the system is first developed
in small programs called units, which are integrated in the next phase. Each unit is
developed and tested for its functionality, which is referred to as Unit Testing.
• Integration and Testing − All the units developed in the implementation phase are
integrated into a system after testing of each unit. Post integration the entire system
is tested for any faults and failures.
• Deployment of system − Once the functional and non-functional testing is done;
the product is deployed in the customer environment or released into the market.
• Maintenance − There are some issues which come up in the client environment. To
fix those issues, patches are released. Also to enhance the product some better
versions are released. Maintenance is done to deliver these changes in the
customer environment.
12 - 19
Waterfall Model - Application
12 - 20
ADVANTAGES
12 - 22
PROTOTYPE MODEL
12 - 23
• In this model, a prototype of the end
product is first developed, tested and
refined as per customer feedback
repeatedly till a final acceptable prototype
is achieved which forms the basis for
developing the final product.
12 - 24
APPROACHES OF PROTOTYPING
12 - 25
ADVANTAGES
• Advantages –
• The customers get to see the partial product early in the life cycle.
This ensures a greater level of customer satisfaction and comfort.
• New requirements can be easily accommodated as there is scope
for refinement.
• Missing functionalities can be easily figured out.
• Errors can be detected much earlier thereby saving a lot of effort
and cost, besides enhancing the quality of the software.
• The developed prototype can be reused by the developer for more
complicated projects in the future.
• Flexibility in design.
12 - 26
DISADVANTAGES
• Disadvantages –
• Costly w.r.t time as well as money.
• There may be too much variation in requirements each time the prototype is
evaluated by the customer.
• Poor Documentation due to continuously changing customer requirements.
• It is very difficult for the developers to accommodate all the changes
demanded by the customer.
• There is uncertainty in determining the number of iterations that would be
required before the prototype is finally accepted by the customer.
• After seeing an early prototype, the customers sometimes demand the
actual product to be delivered soon.
• Developers in a hurry to build prototypes may end up with sub-optimal
solutions.
• The customer might lose interest in the product if he/she is not satisfied with
the initial prototype.
12 - 27
SDLC - RAD Model
12 - 28
RAD Model Design
12 - 29
• Business Modelling
• The business model for the product under development is designed in terms of flow of information and the
distribution of information between various business channels. A complete business analysis is performed to find
the vital information for business, how it can be obtained, how and when is the information processed and what
are the factors driving successful flow of information.
• Data Modelling
• The information gathered in the Business Modelling phase is reviewed and analyzed to form sets of data objects
vital for the business. The attributes of all data sets is identified and defined. The relation between these data
objects are established and defined in detail in relevance to the business model.
• Process Modelling
• The data object sets defined in the Data Modelling phase are converted to establish the business information
flow needed to achieve specific business objectives as per the business model. The process model for any
changes or enhancements to the data object sets is defined in this phase. Process descriptions for adding,
deleting, retrieving or modifying a data object are given.
• Application Generation
• The actual system is built and coding is done by using automation tools to convert process and data models into
actual prototypes.
12 - 30
RAD Model - Application
12 - 31
RAD-ADVANTAGES
12 - 32
RAD-DISADVANTAGES
12 - 33
JAD
12 - 34
Phases of JAD
12 - 35
PHASES IN JAD
• Define Specific Objectives: The facilitator, in partnership with stakeholders, set all
the objectives as well as a list of items which is then distributed to other developers
and participants to understand and review. This objective contains elements like the
scope of this projected system, its potential outcome, technical specification
required, etc.
• Session Preparation: The facilitator is solely responsible for this preparation where
all relevant data is collected and sent to other members before time. For better
insight, research carried out to know about the system requirement better and gather
all the necessary information for development.
• Session Conduct: Here the facilitator is accountable to identify those issues which
have to be working out for making the system error-free. Here the facilitator will
serve as a participant but will not have a say regarding any information.
• Documentation: After the product is developed, the records and published
documents are put forward into the meeting so that the stakeholders and consumers
can approve it through the meeting.
12 - 36
BENEFITS
12 - 37
Disadvantages
12 - 38
Agile Methodology
12 - 39
• The Agile methodology is a practice that encourages continuous
development and testing throughout the software development
lifecycle of a project.
• Unlike the Waterfall methodology, the Agile methodology allows for
parallel development and testing.
• Agile methodologies attempt to produce the proper product through
small cross-functional self-organizing teams that produce small
pieces of functionality on a regular basis, allowing for frequent
customer input and course correction as needed. In doing so, Agile
tries to address the issues that traditional "waterfall" methodologies
of delivering huge products over extended periods of time
encounter, such as client requirements changing frequently and
resulting in the delivery of incorrect products.
12 - 40
12 - 41
Scrum Software Development
Methodology
12 - 42
SCRUMPROCESS
12 - 43
SCRUM MASTER
• Scrum Master ensures everyone follows the practices prescribed by
Scrum.
• A Scrum Master is a facilitator and Servant Leader who encourages and
demands self-organization from the development team.
• A Scrum Master enables close cooperation across all roles and functions,
addresses resource issue and disobedience of scrum practices.
• A Scrum Master protects the team from external and internal distractions.
• A Scrum Master removes impediments so the team can focus on the work
at hand and follow scrum practices.
• A Scrum Master is not typically a manager or lead, but he is an influential
leader and coach who does not do direct command and control.
12 - 44
PRODUCT OWNER
• A Product Owner owns the Product backlog and writes user stories
and acceptance criteria.
• A Product Owner is responsible for prioritizing the Product Backlog
is prioritized and decides the release date and the content.
• A Product Owner accepts or rejects product backlog item.
• A Product Owner has the power to cancel the Sprint, if he thinks
the Sprint goal is redundant.
• A Product Owner is the one who is responsible for the Return on
Investment (ROI) of the product.
12 - 45
DEVELOPMENT TEAM
• The Development Team builds the product that the Product Owner
indicates: the application or website, for example. The Team in
Scrum is “cross-functional”
• The Development Team includes all the expertise necessary to
deliver the potentially shippable product each Sprint
• The Development Team is self-organizing, with a very high degree
of autonomy and accountability.
• The Development Team decides how many items to build in a
Sprint, and how best to accomplish that goal.
• The Development Team is a cross functional, small and self-
organizing team which owns the collective responsibility of
developing, testing and releasing the Product increment.
12 - 46
Scrum Events (Ceremonies)
•The Sprint
•A sprint is a time-boxed period during which specific work is completed and made ready for review. Sprints
are usually 2-4 weeks long but can be as short as one week.
•The Daily Stand-up
•The Daily Stand-up is a short communication meeting (no more than 15 minutes) in which each team
member quickly and transparently covers progress since the last stand-up, planned work before the next
meeting, and any impediments that may be blocking his or her progress.
•The Sprint Review
•The Sprint Review is the "show-and-tell" or demonstration event for the team to present the work
completed during the sprint. The Product Owner checks the work against pre-defined acceptance criteria
and either accepts or rejects the work. The stakeholders or clients give feedback to ensure that the
delivered increment met the business need.
•The Retrospective
•The Retrospective, or Retro, is the final team meeting in the Sprint to determine what went well, what didn't
go well, and how the team can improve in the next Sprint. Attended by the team and the ScrumMaster, the
Retrospective is an important opportunity for the team to focus on its overall performance and identify
strategies for continuous improvement on its processes.
12 - 47
Scrum - Artifacts
12 - 48
SCRUM ARTIFACTS
• Product Backlog
• The Product Backlog is an ordered list of features that are needed as part of the end
product and it is the single source of requirements for any changes to be made to the
product.
• The Product Backlog lists all features, functions, requirements, enhancements, and fixes
that constitute the changes to be made to the product in future releases.
Sprint Backlog
• The Sprint Backlog is the set of Product Backlog items selected for the Sprint, plus a plan
for delivering the product Increment and realizing the Sprint Goal.
• Increment
• The Increment is the sum of all the Product Backlog items completed during a Sprint
combined with the increments of all previous Sprints. At the end of a Sprint, the new
Increment must be a working product, which means it must be in a useable condition.
12 - 50
SCRUM-ADVANTAGES
12 - 51
SCRUM-ADVANTAGES (CONTINUED)
• Higher productivity
• Better-quality products
• Reduced time to market
• Improved stakeholder satisfaction
• Better team dynamics
• Happier employees
12 - 52
SCRUM-DISADVANTAGES
12 - 54