Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Paying Technical Debt: A Top-Down Approach @PhpCluj

Paying Technical Debt: A Top-Down Approach @PhpCluj

Georgiana Gligor

May 12, 2016
Tweet

More Decks by Georgiana Gligor

Other Decks in Technology

Transcript

  1. @gbtekkie PHP Cluj Meetup | MAY 2016 ✓July 31st 2012

    ✓bankrupt in 45 minutes ✓SMARS routing algorithm ✓Power Peg functionality Knight Capital Group
  2. @gbtekkie PHP Cluj Meetup | MAY 2016 Team Roles Role

    Mentality Approach Level project manager trace system designer usable & nice user software engineer build (sub)system tester break system system administrator maintain system
  3. @gbtekkie PHP Cluj Meetup | MAY 2016 1. “We have

    a dedicated QA team. It’s their job to signal possible issues.” 2. “Our client requested this functionality live by next Monday. We are already short of time for executing the implementation. There is no time for testing other than what our manual QA guy already does.” 3. “My code works. I have a great track record. Why start now?” “Real Programmers Don’t Test” (1)
  4. @gbtekkie PHP Cluj Meetup | MAY 2016 4. “Client only

    pays for working software. Programmers are expensive, we can’t possibly sell this to the customer. They will pick another software shop to do the work.” 5. “I am just making a small cosmetic change, nothing can go wrong.” 6. “We’re using a V-Model for delivering our projects, a separate QA team is handling the validation process. I’m not stepping on their toes.” “Real Programmers Don’t Test” (2)
  5. @gbtekkie PHP Cluj Meetup | MAY 2016 ✓ Release acceptance

    testing (RAT), aka smoke testing ✓ Functional acceptance simple testing (FAST) ✓ Compliance acceptance testing ✓ Deployment acceptance testing Acceptance Testing
  6. @gbtekkie PHP Cluj Meetup | MAY 2016 ✓ Task-oriented functional

    tests (TOFTs) ✓ Forced-error tests (FETs) ✓ Exploratory testing ✓ etc. Feature-Level Testing
  7. @gbtekkie PHP Cluj Meetup | MAY 2016 ✓ Where to

    start in the process ✓ What to test and what not to test ✓ How much to test in one go ✓ What to call the tests ✓ How to understand why a test fails Behaviour-Driven Development
  8. @gbtekkie PHP Cluj Meetup | MAY 2016 ✓ Conway, Melvin

    E. (1968). How Do Committees Invent? ✓ Cook, Richard I. (1998). How Complex Systems Fail ✓ Nguyen, Hung Q., Bob Johnson, and Michael Hackett (2003). Testing Applications on the Web: Test Planning for Mobile and Internet-Based Systems. Wiley Publishing Inc. ISBN: 0-471-20100-6 ✓ North, Dan (2006). Introducing BDD Recommended Reading (1)
  9. @gbtekkie PHP Cluj Meetup | MAY 2016 ✓ Fowler, Martin

    (2009). Technical Debt Quadrant ✓ Martin, Robert Cecil (2009). A Mess is not a Technical Debt ✓ Securities and Exchange Commission (2013). Administrative Proceeding File No. 3-15570 ✓ Seven, Doug (2014). Knightmare, A DevOps Cautionary Tale ✓ PA Consulting Group (2011). Major UK water utility - Architecture and design assurance Recommended Reading (2)