Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Optimizing the SDLC

414 views

Published on

The Sofware Development Life Cycle codifies how we build applications. Optimizing this process allows working software to be delivered more quickly and efficiently.

Published in: Software
  • Be the first to comment

  • Be the first to like this

Optimizing the SDLC

  1. 1. Optimizing the Software Development Life Cycle or “How to Make Software the First Time”
  2. 2. What is the SDLC? 42
  3. 3. Plan > Design > Build > Deliver > Repeat
  4. 4. Plan > Design > Build > Deliver > Repeat Discover > Define > Design > Develop > Deliver Plan > Design > Build > Test > Deliver > Maintain Plan > Analyze > Design > Implement > Maintain Conduct the Preliminary Analysis > Propose Alternative Solutions > Describe the Costs and Benefits > Systems Analysis, Requirements Definition > Collection of Facts > Scrutiny of the Existing System > Analyzing the Proposed System > Systems Design > Development > Integration and Testing > Acceptance, Installation, Deployment > Maintenance > Evaluation > Disposal
  5. 5. Plan > Design > Build > Deliver > Repeat
  6. 6. Why Me? It’s the Selection Committee's fault...
  7. 7. Defining a Solution Plan > Design > Build > Deliver > Repeat
  8. 8. Defining a SOLUTION??? Plan > Design > Build > Deliver > Repeat
  9. 9. Plan > Design > Build > Deliver > Repeat
  10. 10. Plan > Design > Build > Deliver > Repeat
  11. 11. We Have a PROBLEM!!! Plan > Design > Build > Deliver > Repeat
  12. 12. Define the Problem Plan > Design > Build > Deliver > Repeat ● Define it. Really. Write it down. ● Explore the Status Quo ● Study Competition ● Discover Alternatives
  13. 13. Software is Made With PEOPLE Plan > Design > Build > Deliver > Repeat
  14. 14. DDD Plan > Design > Build > Deliver > Repeat
  15. 15. “To communicate effectively, the code must be based on the same language used to write the requirements - the same language that the developers speak with each other and with domain experts.” Eric Evans, Domain-Driven Design: Tackling Complexity in the Heart of Software Plan > Design > Build > Deliver > Repeat
  16. 16. Plan > Design > Build > Deliver > Repeat if X is in Y then multiply A by B
  17. 17. Plan > Design > Build > Deliver > Repeat if ZIP CODE is in THIS STATE then multiply the SHOPPING CART TOTAL by SALES TAX
  18. 18. Plan > Design > Build > Deliver > Repeat WWBRD?
  19. 19. Plan > Design > Build > Deliver > Repeat
  20. 20. Plan > Design > Build > Deliver > Repeat Designers are Friends Not Food ● Wireframes ● Hi-Fi Comps
  21. 21. You’ve Got 99 Features 99 Problems Plan > Design > Build > Deliver > Repeat Pick Three
  22. 22. Write Tests! Plan > Design > Build > Deliver > Repeat Code that checks code is good.
  23. 23. Plan > Design > Build > Deliver > Repeat Code Reviews Are Fair and Balanced
  24. 24. Plan > Design > Build > Deliver > Repeat Devs + Stakeholders Avoiding Telephone Games
  25. 25. Plan > Design > Build > Deliver > Repeat Live at T-Minus 10 Avoiding the Launch Day Death March
  26. 26. Plan > Design > Build > Deliver > Repeat
  27. 27. Plan > Design > Build > Deliver > Repeat CI/CD
  28. 28. Plan > Design > Build > Deliver > Repeat
  29. 29. Plan > Design > Build > Deliver > Repeat Iterate Like a Boss
  30. 30. Plan > Design > Build > Deliver > Repeat Don’t Go Chasing Waterfalls
  31. 31. Plan > Design > Build > Deliver > Repeat Fight for the User
  32. 32. Plan > Design > Build > Deliver > Repeat Individuals and Interactions Working Software Customer Collaboration Responding to Change
  33. 33. Manifesto for Agile Software Development We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more.
  34. 34. Kent Beck Mike Beedle Arie van Bennekum Alistair Cockburn Ward Cunningham Martin Fowler James Grenning Jim Highsmith Andrew Hunt Ron Jeffries Jon Kern Brian Marick Robert C. Martin Steve Mellor Ken Schwaber Jeff Sutherland Dave Thomas agilemanifesto.org
  35. 35. This Talk Was Really About AGILE! Pro Tip: Make Clickbait Titles for Conference Talks
  36. 36. Jason Straughan @JDStraughan I work at @GrokInteractive and @gocodeup Slides available at: revconf2017.grok.rocks

×