1 / 14

SDLC

SDLC. the Systems Development Life Cycle and its evolution. Systems Development Life Cycle. Traditional method for developing software systems Four or Five Stages Use pre-dates software – applicable for product that takes time to develop

kylar
Download Presentation

SDLC

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SDLC the Systems Development Life Cycle and its evolution

  2. Systems Development Life Cycle • Traditional method for developing software systems • Four or Five Stages • Use pre-dates software – applicable for product that takes time to develop • Separates tasks into distinct phases with distinct outcomes • Provides plan for development • Framework for managing progress • Requires a project manager and team to execute • Defines what it means for the project to be “done”

  3. SDLC: Analysis Phase • Study problem from the customer’s perspective • Interview, Observe, Surveys • Understand problem • Requirements documents • User focused

  4. SDLC: Design Phase • Investigate the spectrum of solutions • Consider OTS solutions • Consider Open Source solutions • Design documents in the developer’s language • Prototype to verify feasibility and to get customer feedback

  5. SDLC: Build Phase • Write Production Code • Make sure it works • Functionality most important • Avoid premature optimization • Utilize Alpha testing

  6. SDLC: Deployment Phase • Must be scalable • Deliver final system • Beta testing • Roll out to more and more customers • Make sure deployment to new users doesn’t disrupt existing users

  7. SDLC: Support Phase • Real people using the system • Training • Listen • Separate first impressions from real problems • Begin planning improvements

  8. Traditional Waterfall Approach • Analysis Phase • Understand the problem, produce user focused documents • Design Phase • Understand the solution, produce technical documents and prototypes • Build Phase • Create the solutions, producing a functional system • Deployment Phase • Scale and deliver the solution, producing the final system • Support Phase • Listen to customer, fix bugs, maintain working system

  9. Incremental SDLC • Analysis Phase • Understand problem producing requirements document • Design Phase • Understand and design modular system that can be built incrementally • Build Phase • Build the first working version or next increment • Deployment Phase • Scale and deliver first working version or increment • Support Phase • Listen to customer, plan and prepare for next detailed design of next increment niterations

  10. Agile SDLC Methods • Active user involvement is imperative • Team must be empowered to make decisions • Requirements evolve but timescale is fixed • Requirements are defined at a high level, are “lightweight” and visual • Small incremental releases • Frequent delivery of products • Complete each feature before moving to the next • 80/20 rule – focus on 20% portion of effort that produces 80% of results • Testing throughout cycle – early and often • Collaboration and cooperation between all stakeholders essential

  11. SCRUM Agile Method • Self-organizing teams • Requirements are captured as items in a list of “product backlog” • Product owner role prioritizes products and accepts or rejects work • Product progresses in a series of 2-4 week-long “sprints” • Product is designed, coded and tested during the sprint • ScrumMaster role ensures the team follows scrum rules • No specific engineering practices prescribed • Meetings (ceremonies) and documents (artifacts) are designed to maintain maximum team efficiency • Emphasizes individuals, interactions and structured meetings over process and tools • Emphasizes working software as outcomes over comprehensive documentation • Designed to be responsive to change rather than focusing on sticking to a plan

  12. SCRUM Framework

  13. SCRUM Agile Method • Product requirements broken down into “user stories” listed in a product backlog list • Cross-functional Teams (7 +/- 2 members) choose products to complete in a 2-4 week sprint • Initial planning meeting generates initial sprint backlog list • Daily SCRUM meetings report status, problems • Team members might perform tasks not originally planned • No functional requirement changes during a sprint • At end of sprint, sprint review demonstrates deliverable • At end of sprint, sprint retrospective helps improve team for future sprints

  14. SDLC: Conclusions • SDLC phases adapted from project management method developed prior to computers and software • Iteration improves the process by accounting for the easily changeable and adaptable nature of software • Iteration also reflects the natural coding practices of the software developer • Agile SDLC methods, most common today, go further by defining team rules, roles and procedures to • Shorten development times • Lower development costs • Reduces maintenance costs • Improve quality

More Related