Top Banner
January 16, 2022 | © 2011 Kaiser Foundation Health Plan, Inc. System Development Life Cycle Models Presentation by Krystal M McLean
18
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: SDLC Final (1)

April 18, 2023 | © 2011 Kaiser Foundation Health Plan, Inc.

System Development Life Cycle Models

Presentation by Krystal M McLean

Page 2: SDLC Final (1)

System Development Life Cycle (SDLC)

• SDLC framework includes the following steps:• Communication: user initiates the request for a desired software product• Requirement Gathering: holds discussions with stakeholders to bring out as much information as possible on their requirements• Feasibility Study: create rough plan for software process to find out if the project is financially, practically and technologically

feasible• System Analysis: decide a roadmap of their plan and decide the best software model suitable for the project• Software Design: engineers use requirements to produce data dictionaries, logical diagrams, data-flow diagrams and pseudo

codes• Development: programming phase; implementation of software design begins with writing code and developing executable

programs• Testing: early discovery of errors by testing experts and developers is key to reliable software• Integration: software may need to be integrated with libraries, databases and other programs.• Implementation: installing the software on user machines and testing for portability and adaptability• Operations & Maintenance: users trained on how to operate the software and code is updated

April 18, 2023 | © 2011 Kaiser Foundation Health Plan, Inc. 2

Structured, well-defined sequence of stages to be followed to design and develop the intended software product efficiently.

Page 3: SDLC Final (1)

5 basic models

April 18, 2023 | © 2011 Kaiser Foundation Health Plan, Inc. 3

Waterfall

V-Shape

Iterative

Spiral

Agile

Page 4: SDLC Final (1)

Waterfall model

April 18, 2023 | © 2011 Kaiser Foundation Health Plan, Inc. 4

Traditional, linear-sequence life cycle model

Progress is seen flowing downward through various phases

Page 5: SDLC Final (1)

April 18, 2023 | © 2011 Kaiser Foundation Health Plan, Inc. 5

Pros & Cons of waterfall

5 April 18, 2023

Pros Cons

• Straightforward, simple and easy to understand & use

• Appropriate for short-term projects• Well-suited for projects with clear,

stable and direct plans• Provide structure for inexperienced

staff• Good for executive and management

control• Each stage has specific deliverables

• All requirements need to be known upfront and frozen

• Not much room for revisions, inflexible • Cannot move onto the next step until

the prior step is completed• Cannot solve problems until the

maintenance phase• Little opportunity to preview the

system until integration at the very end

Page 6: SDLC Final (1)

When to use the waterfall model

• When the requirements are established head-on and are well known to the team• When the technology is mastered by the team• The project has a stable plan and product definition• When updating or creating a new version of an existing product• When porting an existing product to a new platform

April 18, 2023 | © 2011 Kaiser Foundation Health Plan, Inc. 6

Page 7: SDLC Final (1)

V-shape model

April 18, 2023 | © 2011 Kaiser Foundation Health Plan, Inc. 7

verification & testing life cycle model

Once coding is complete, the path continues up the right side of the V where the test plans developed earlier are put to use

Page 8: SDLC Final (1)

April 18, 2023 | © 2011 Kaiser Foundation Health Plan, Inc. 8

Pros & Cons of v-shapePros Cons

• Emphasizes planning for testing the product in early stages of product development

• Each stage has a testable deliverable• Management can track progress by milestones• Easy to use, fairly simple to understand• Higher chance of success over the waterfall model

• Does not easily handle concurrent events• Not very flexible to dynamic changes in

requirements• Does not handle iterations or phases• No risk analysis• No early prototypes of the software is developed• Model does not provide clear path for problems

found during testing

WHEN TO USE V-SHAPE•When systems require high reliability and several stages of testing

•When all requirements are established up-front

•When it can be modified to handle changing requirements beyond the analysis phase

•Solution and technology is well known to the team

Page 9: SDLC Final (1)

Iterative model

April 18, 2023 | © 2011 Kaiser Foundation Health Plan, Inc. 9

incremental life cycle model

Configuration & Change

ManagementEnvironment

• Initial Planning• Business Modeling

Deployment

Each iteration is a mini-waterfall process, with the feedback from one phase providing vital information for the next design phase

Page 10: SDLC Final (1)

April 18, 2023 | © 2011 Kaiser Foundation Health Plan, Inc. 10

Pros & Cons of iterativePros Cons

• Avoid long product development cycles without user feedback

• Produces business value early in the development life cycle

• Build and improve the product step by step and track defects in the early stages

• Less time spent on documenting and more time designing and implementing

• Focused on small and frequent improvements that the big picture can be overlooked

• Requires heavy documentation• Small changes, often taking fewer production risks• Each phase is rigid with no overlaps• Costly system design issues may arise because

not all requirements are gathered up front

WHEN TO USE ITERATIVE•When the requirements of the complete system are clearly defined and understood

•When the project is of a large scope and needs a lot of testing and user feedback

•When major requirements are defined but some changes can be made and details can evolve over time

Page 11: SDLC Final (1)

Spiral model

April 18, 2023 | © 2011 Kaiser Foundation Health Plan, Inc. 11

risk driven life cycle model

Specific objectives for the phase are

identified

Review progress & plan course of action

for the next phase

Risks are assessed and alternate solutions are

identified. A prototype is produced.

Software is produced and is tested at the

end of the engineering phase

Page 12: SDLC Final (1)

April 18, 2023 | © 2011 Kaiser Foundation Health Plan, Inc. 12

Pros & Cons of spiralPros Cons

• One of the most flexible models, development phases determined by manager based on complexity of the project

• Early involvement of developers• Project monitoring is easy and effective and

estimates become more realistic as work progresses

• Changes can be introduced in later stages of the life cycle

• Does not easily handle concurrent events• Can be costly to use• Does not handle iterations or phases• Model does not provide clear path for problems

found during testing• Very dependent on risk analysis phase

WHEN TO USE SPIRAL•When the project is large

•When the software needs continuous risk evaluation

•Software requires significant changes

•Timeframe allows for end user feedback

Page 13: SDLC Final (1)

Transitioning to Agile

• Principles behind the agile manifesto:• Highest priority is to satisfy the end user• Welcome changing requirements at anytime in development• Deliver working software frequently, preferably bi-weekly• End user and developers must work together daily• Build projects around motivated people and support them to get the job done• Face-to-face conversation is the most effective way to convey information to the team• Working software is the primary measure of progress• Sustainable development should allow the team to maintain a constant pace of development• Continuous attention to technical excellence and good design enhances agility• Simplicity is essential• The best designs emerge from self-organizing teams• The team should reflect on how to become more effective and adjust behavior accordingly

April 18, 2023 | © 2011 Kaiser Foundation Health Plan, Inc. 13

The agile manifesto

Page 14: SDLC Final (1)

Agile model

April 18, 2023 | © 2011 Kaiser Foundation Health Plan, Inc. 14

quick and collaborative life cycle model

Deployment

1 2 N

Page 15: SDLC Final (1)

Scrum: agile model

April 18, 2023 | © 2011 Kaiser Foundation Health Plan, Inc. 15

Product owner creates a prioritized list for the product, which allows the

team to break the product into smaller, more manageable pieces

During sprint planning the team pulls a small chunk of items from the product backlog to create a sprint backlog, then decides how to accomplish those items in the next sprint.

During the sprint the team meets daily in a Daily Scrum to assess progress and make necessary changes. The ScrumMaster keeps the team focused on the goal. At the end of the sprint there should be a potentially shippable product

66% of agile users utilize the scrum model

Page 16: SDLC Final (1)

April 18, 2023 | © 2011 Kaiser Foundation Health Plan, Inc. 16

Pros & Cons of agile

Pros Cons

• Customer satisfaction by rapid, continuous delivery of useful software

• Customers, developers and testers constantly interact with each other

• Working software is delivered frequently, weekly rather than monthly

• Continuous attention to technical excellence and good design

• Late changes in requirements are welcomed

• The project can get off track if customer is not clear what final outcome they want

• Requires expert programmers who are capable of taking the kind of decisions required during the development process, may be difficult for new programmers to adapt

• Difficult to assess the effort required at the beginning of the SDLC

• Lack of emphasis on necessary designing and documentation

Page 17: SDLC Final (1)

When to use the agile model• When there is a complex project that could benefit by creating large to-do

lists and prioritize it into manageable tasks with improved teamwork, better communication and fast results.• When new changes are needed to be implemented since agile gives

developers the freedom to change at very little cost.• When the user is unsure of the final system they want so changes can be

discussed and features can be newly effected or removed based on feedback.• When the user wants to be heavily involved with the development of the

project.• When the customer needs to have some functional requirement ready in

less than three weeks.April 18, 2023 | © 2011 Kaiser Foundation Health Plan, Inc. 17

Page 18: SDLC Final (1)

For more information on scrum & agile:• http://www.agilelearninglabs.com/resources/scrum-introduction/

April 18, 2023 | © 2011 Kaiser Foundation Health Plan, Inc. For internal use only.