Moving testing to the front is good. But if our testing is all or mostly manual, we have a problem after just a few iterations.
If you automate your tests as you build them, this iteration’s new tests become next iteration’s regression tests, but you only need to build them once. Also, you give your devs something they can run to ensure that their code passes all the tests before they call their work done. This reduces the loops we mentioned a moment ago.Note, however, automation can’t be much more expensive than manual testing or the whole thing falls apart. This drives tool choice. So does the need to write automated tests against not-yet-existent features. No time to talk about it here, but there’s a reason certain test tools are more popular in the agile community and others are more popular in the waterfall world: your tool can make or break your success with agile testing.
Logistics<br />Please turn cell phones, pagers, PDA’s, etc to the “stun yourself” setting (rather than the “annoy everyone else” setting)<br />We will take a break after about 1.5 hours<br />Please ask questions when they come up rather than waiting<br />Be prepared to participate! This presentation requires a lot of work on your part.<br />
Lack of Meaningful Feedback Loops<br />We are too busy to stop working!<br />Daily stand-ups are useless, let’s just use a single weekly status meeting.<br />When we ask people for feedback they don’t show up or don’t participate anyway.<br />We aren’t really sure why we would want feedback or how we would use it anyway.<br />
Undesirable Effects<br />Building wrong products<br />Building the product wrong<br />No improvement<br />Lack of visibility<br />Lack of trust<br />Key people out of the loop<br />What are some of the undesirable effects the W-Agilists would see from the lack of feedback loops in their process?<br />
Phrase to remember<br />Things can’t be improved without regular feedback<br />
Causes<br />Not using iterations at all<br />Building by architecture instead of value<br />Can’t make stories small<br />We’ve always done it that way<br />Takes time we don’t have<br />Sometimes need to integrate with other teams that aren’t agile<br />What might be some of the main causes of not building software iteratively (remember, this is supposed to be an agile team!)<br />
Phrase to remember<br />Late integration will lead to late shipping. Instead deliver completed value every iteration.<br />
Silo’d Teams<br />Deep domain knowledge is best<br />Experts better than generalists<br />Work will be evenly distributed<br />Organizational structure cannot be changed<br />What assumptions cause many organizations to deliberately use silo’d teams?<br />
Phrase to remember<br />We don’t care what your business card says, we care what you can do for the success of our team!<br />
Automate and get regression tests for free<br />Automated tests that are now regression tests<br />Testing capacity<br />New feature testing<br />Sprint 1<br />Sprint 2<br />Sprint 3<br />Sprint 4<br />Sprint 5<br />
Manual Testing<br />Create an evaporating cloud in your group. We will role-play with Richard and Bob playing the roles of managers needing to be convinced of the benefits of automated testing.<br />
Phrase to remember<br />Automate any tests that will run more than once. Do you know ahead of time which tests those are???<br />
Recap of the 7 Deadly Sins<br />Missing feedback loops<br />Not building in iterations – large scale integrations<br />Silo’d teams<br />Too much work-in-progress (WIP)<br />Lack of customer voice<br />Unrealistic deadlines<br />Manual testing<br />