24
Agile Development: The Importance of Testing Presented by Bruce D. Rosenblum CEO Inera Incorporated Society for Scholarly Publishers 30 May 2008

269 rosenblum -agile-it-org--ssp2008

Embed Size (px)

Citation preview

Page 1: 269 rosenblum -agile-it-org--ssp2008

Agile Development:The Importance of Testing

Presented by

Bruce D. Rosenblum

CEO

Inera Incorporated

Society for Scholarly Publishers

30 May 2008

Page 2: 269 rosenblum -agile-it-org--ssp2008

© 2008, Inera Inc. All Rights Reserved

Real World Software Development

Credit: http://www.eos-india.net/abhisek/blog/softwaredevcycle-2006-06-14-20-38.html

Page 3: 269 rosenblum -agile-it-org--ssp2008

© 2008, Inera Inc. All Rights Reserved

Software Development Goal Develop Applications

• Deliver value to the user

• Easy to use

• Provide reliable process

Page 4: 269 rosenblum -agile-it-org--ssp2008

© 2008, Inera Inc. All Rights Reserved

The Old Days: Waterfall Development

Scope ChangeFeature Creep

Credit: http://www.csse.monash.edu.au/~jonmc/CSE2305/Topics/07.13.SWEng1/html/text.html

Page 5: 269 rosenblum -agile-it-org--ssp2008

© 2008, Inera Inc. All Rights Reserved

Why Waterfall No Longer Works Computers are more powerful Therefore projects are bigger

• And take longer to develop

No longer possible to anticipate all requirements• And cannot anticipate all changes during project

By delivery time• Customer interests changed• Requirements changed

“What I asked for, but not what I want”

Page 6: 269 rosenblum -agile-it-org--ssp2008

© 2008, Inera Inc. All Rights Reserved

Web Flexible World Old distribution model

• Disk shipments• Waterfall development• Slow, late deliveries

New distribution model• Internet delivery• Automatic updates of client applications• Continual update of ASP applications

Page 7: 269 rosenblum -agile-it-org--ssp2008

© 2008, Inera Inc. All Rights Reserved

New Development Methods Customer-centric Incremental changes Rapid Deliveries Continuous Testing

Page 8: 269 rosenblum -agile-it-org--ssp2008

© 2008, Inera Inc. All Rights Reserved

Agile Model

Page 9: 269 rosenblum -agile-it-org--ssp2008

© 2008, Inera Inc. All Rights Reserved

Agile Goals “Agile” means responsive to customer needs The goal is the customer, not the “project” Simplicity and simple steps

Page 10: 269 rosenblum -agile-it-org--ssp2008

© 2008, Inera Inc. All Rights Reserved

Getting Started Design simple task that does “something useful”

• Even if that task won’t be delivered to “customer”

Start testing immediately Test early and often

Page 11: 269 rosenblum -agile-it-org--ssp2008

© 2008, Inera Inc. All Rights Reserved

Team Test Types Unit tests

• Test assumptions; vital for maintenance

Integration tests• Does it all work together correctly?

Code Reviews• Developers can learn from each other

Page 12: 269 rosenblum -agile-it-org--ssp2008

© 2008, Inera Inc. All Rights Reserved

Developers Can’t Test Developers are lousy testers Developers lie

• Is it done yet?

• When will it be done?

Great developers test 2/3 of their time• Write a little, test a lot

Page 13: 269 rosenblum -agile-it-org--ssp2008

© 2008, Inera Inc. All Rights Reserved

Customer Test Types Formal Quality Assurance

• Scripted test plans Ad hoc testing

• Sometimes called “monkey testing” Usability testing

• One-way mirrors User testing

• The importance of watching users “Run it yourself” testing

Page 14: 269 rosenblum -agile-it-org--ssp2008

© 2008, Inera Inc. All Rights Reserved

Test Administration Bug database

• TestTrack, Bugzilla, etc.

• FileMaker, Excel

Short Cycles• Daily bug review

• Fix bugs immediately− New features must wait

Page 15: 269 rosenblum -agile-it-org--ssp2008

© 2008, Inera Inc. All Rights Reserved

Automated Testing

Use of software to control testingAutomatically run application featuresResults compared to previous “good”

result

Page 16: 269 rosenblum -agile-it-org--ssp2008

© 2008, Inera Inc. All Rights Reserved

Use of Automated Testing Inera relies heavily on automated testing Three months of development over 6 years Today: 30+ hours of automated testing per night Manual validation performed on all releases

Page 17: 269 rosenblum -agile-it-org--ssp2008

© 2008, Inera Inc. All Rights Reserved

Example: CrossRef Testing Inera implemented CrossRef query module Automated testing of CrossRef module

• Queried ~1000 references per night• Compared DOIs with previous “good” results

Sometimes links go away• Usually incorrect deposit (e.g. metadata conflict)

Sometimes new links appear• Replaces previous “good” results

Page 18: 269 rosenblum -agile-it-org--ssp2008

© 2008, Inera Inc. All Rights Reserved

Impact of Automated Testing New problems caught early

• Problems found quickly when code is changed

Stability of code maintained Fixes are never “lost” Short release cycles

Page 19: 269 rosenblum -agile-it-org--ssp2008

© 2008, Inera Inc. All Rights Reserved

Cost of Automated Testing Sustainable and scalable model

• Up-front investment yields large dividends

Lower costs• QA cost ~ $60,000/person/year

• Versus 30+ hours of PC time per night− 4 PCs + electricity + 3 months engineering time

No fulltime QA personnel• Manual testing performed by multiple team members

Page 20: 269 rosenblum -agile-it-org--ssp2008

© 2008, Inera Inc. All Rights Reserved

Time for Testing Testing does NOT take extra time

• Even manual testing

Testing reallocates time• Less time spent tracking latent bugs

• Less time reworking code to fix bugs

Great testing allows faster releases

Page 21: 269 rosenblum -agile-it-org--ssp2008

© 2008, Inera Inc. All Rights Reserved

“True” Cost of Automated Testing Faster Release cycles

• Can release latest code daily if stable

Fewer support calls Happier customers

Page 22: 269 rosenblum -agile-it-org--ssp2008

© 2008, Inera Inc. All Rights Reserved

Who Tests? Developers Quality Assurance Specialists Customer Actual Users Machines (automated testing) So who tests? The Agile Team

Page 23: 269 rosenblum -agile-it-org--ssp2008

© 2008, Inera Inc. All Rights Reserved

Conclusions System stability requires constant testing Great testing lowers costs Great testing delivers software faster

Page 24: 269 rosenblum -agile-it-org--ssp2008

© 2008, Inera Inc. All Rights Reserved

Questions?

Bruce RosenblumInera Incorporated+1 (617) 969 - 3053

[email protected]