Skip to main content

Design and Architecture

Tutorials

MO Essential Test-Driven Development
Rob Myers, Agile Institute
Mon, 06/02/2014 - 1:00pm

Test-driven development (TDD) is a powerful technique for combining software design, unit testing, and coding in a continuous process to increase reliability and produce better code design. Using the TDD approach, developers write programs in very short development cycles. The developer first writes a failing automated test case that defines a new function or improvement, then produces code to pass that test, and finally refactors the new code to acceptable standards. The developer repeats this process many times until the behavior is complete and fully tested.

Read more
TF Software Design for Testability
Keith Stobie, Salesforce.com
Tue, 06/03/2014 - 8:30am

Testability is the degree to which a system can be effectively and efficiently tested. This key software attribute indicates whether testing (and subsequent maintenance) will be easy and cheap—or difficult and expensive. In the worst case, a lack of testability means that some components of the system cannot be tested at all.

Read more

Keynotes

K2 For Maximum Awesome
Joe Justice, Scrum, Inc
Wed, 06/04/2014 - 10:15am

An agile hardware and engineering company of 500 collaborators in twenty countries, Team WIKISPEED uses test-first development practices, is run by Scrum teams, and produces road legal cars, micro-houses, and social-good projects. Joe Justice shares how their 100-MPG road car was created in just three months through object-oriented design, iterative development, and agile project management.

Read more
K3 An Agile Throwdown: Munich Takes on the Columbus Agile Benchmark Study
Michael Mah, QSM Associates, Inc.
Thu, 06/05/2014 - 8:30am

Agile has not only gone mainstream, it’s gone global. Data on agile team performance, time-to-market, and quality have emerged in the past decade. In 2012, a group of Columbus, Ohio, companies—business, IT, and financial services firms—participated in the first ever “Columbus Agile vs. the World” study. They collected velocity, schedule, effort, staffing, and quality data which were compared against QSM’s Software Lifecycle Management (SLIM) database. Analysis revealed delivery was 31 percent faster with 75 percent fewer defects than industry norms. Enter Munich, Germany.

Read more
K4 Producing Product Developers
David Hussman, DevJam
Thu, 06/05/2014 - 3:45pm

Many teams and organizations have found agile methods help them produce more. Where critical thinking is alive, a more important question arises: Are we producing the right thing? Even though agile tools and processes have helped produce more, they often fail to help us produce the right product, change our focus to product over process, or improve product learning.

Read more

Concurrent Sessions

BT2 Avoid Over Design and Under Design
Al Shalloway, Net Objectives
Thu, 06/05/2014 - 10:15am

The question of how much design to do up-front on a project is an engaging conundrum. Too much design often results in excess complexity and wasted effort. Too little design results in a poor architecture or insufficient system structures which require expensive rework and hurt more in the long run. How can we know the right balance of upfront design work and emerging design approaches? Al Shalloway shows how to use design patterns—coupled with agile’s attitude of “don’t build what you don’t need”—to guide your design efforts.

Read more
BT11 Demystifying Big Data and NoSQL
Jon Mills, PaigeTechnologies
Thu, 06/05/2014 - 2:15pm

Big Data is here to stay and with it comes a deluge of new buzzwords and acronyms. Phrases like NoSQL; Document Database; Velocity, Volume, and Variety; Hadoop; and Map Reduce are now commonplace. To complicate matters further, different people define these phrases slightly differently. Jon Mills explains what Big Data really means and pulls back the curtain on the buzzwords surrounding it. Jon explains the origins of NoSQL, what the various NoSQL databases are, and when each is used.

Read more