University of Minnesota
Software Engineering Center
/

You are here

SEng Seminar Series: Guest, John Deters

Date of Event: 
Saturday, September 16, 2017 - 8:00am
Location: 
Keller Hall 3-230
Campus Map

All Software Engineering Industrial Seminars are open to the public.

Title: Test, Code, Design: Inverting the Waterfall

Speaker: John Deters

Presented by the University of Minnesota Software Engineering Center

Abstract:It’s legend throughout the software industry that a Big-Design-Up-Front approach to writing code often yields expensive, large, monolithic, non-modular code. So why should we expect an iterative Little-Design-Up-Front approach to yield anything but smaller monoliths? Many teams still believe that it takes a detailed design to write well-designed code, but when the coders discover hidden conflicts between the requirements and the design, they end up compromising modularity instead of making expensive design changes. Instead of an up-front design, what happens when we impart the beneficial qualities of modularity into the code after it’s been tested? The first part of this presentation will discuss the problems with the traditional Design, Code, Test methodology and make a case for Test, Code, Design as a more effective approach to writing high quality software.

The second part of the presentation will focus on the craft of unit testing. We will identify some overall problems in testing, cover various approaches to testing, then dive into automated unit tests. Along the way we’ll find that code that was written to be testable has all the desirable properties of high quality software, and thus avoids the problems.

Bio: John Deters is a software engineer who started at Dayton’s in 1987 and has been at Target Corporation ever since; almost all of that time spent in the Point of Sale area. He holds a Master of Science in Engineering degree in Engineering Science (Software Engineering) from the Ira A. Fulton School of Engineering at Arizona State University. His interests include cryptography, cyber security, 3D printing, orchids, and other nerdery.