The TDD Guy

Adventures in Test-Driven Development!

Find Ed on GitHub!

CopperStarSystems (Ed Mays)
Copper Star Systems, LLC
Phoenix, AZ
https://www.codementor.io/copperstarconsulting
Joined on Jul 10, 2013
40 Public Repositories
AspNet-DataAccess-Example
AspNet.WebApi.Example
AspNetCore20ViewComponents
AzureFunctions.Sample
basic-mvvm-samples
bootstrap-grid-example
bootstrap-modals
CopperStarSystems.WindsorHelpers
DataTemplating-With-Triggers
DelegatesExample
DependencyInjection.GettingStarted
dev-spaces
DispatcherTimerTestingExample
dotnetcore-sample
ElmahExample
EventsExample
exploring-wcf
handlebars-task-list
international-phone-number.poc
jquery-ajax-example
mono
MVC-StudentPairingExample
mvc6-view-components
mvvm-drag-drop
MvvmMasterDetail
NetCore.Globalization.Example
postsharp-example
SelfBootstrappingAssembly
serilog-sinks-datadog-logs
tdd-hello-nunit
9 Public Gists
You are here: Home » Test-Driven Development » TDD vs Non-TDD: A Hypothetical Scenario – Part 1

TDD vs Non-TDD: A Hypothetical Scenario – Part 1

April 7, 2015 by Ed Leave a Comment

Let’s use a hypothetical scenario to explore TDD vs. Non-TDD development and how it may affect the outcome of a software project.

The Background:

You are the lead of a small team of engineers working on an established product.  One of the feature requirements for this release cycle involves a fairly significant amount of infrastructure work, which is already underway and about 40% complete.  The project is currently on-time and on-budget with a release date scheduled for 3 months out.  Under normal circumstances, pre-release certification consists of approximately 4 days regression and ad-hoc testing by QA staff.

The Crisis:

Thursday, 4PM:  Dave, your Business Analyst comes into your office accompanied by Patti, the project manager.  Both have an ashen look about them, looking as if they’d seen a ghost.  Dave pipes up: “So, we just had a stakeholder meeting that resulted in a release schedule change.  They want us to stop work on the new feature, revert the infrastructure changes, and at the same time pull in the release schedule by 3 months.  They’re pressuring us for an estimated release date, so we’re coming to you to find out when you can have the code ready to ship.”  Dave then collapses into a chair, out of breath.

Patti weighs in, saying “They’re definitely not willing to compromise on this new schedule, I honestly get the impression they’re expecting to hear a timeframe measured in days, not weeks.  They were also pretty clear that heads will roll if the release doesn’t go out according to the new schedule.”  Recovering slightly, Dave jumps back in, asking “So what do you think?  Can we actually meet this deadline, or do I need to go home and polish my resume?”

The Dilemma:

At this point, the scope is:

  • Stop development on the eliminated feature and remove all related code
  • Finish any remaining features
  • Prerelease testing/certification
  • Ad-hoc bugfixes from certification
  • Release

Watch this scenario play out in a non-TDD environment

Watch this scenario play out in a TDD environment

 

Share this:

  • Click to share on Twitter (Opens in new window)
  • Click to share on Facebook (Opens in new window)
  • Click to share on Google+ (Opens in new window)

Related

Filed Under: Test-Driven Development, Uncategorized Tagged With: Hypothetical Scenario

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

© 2021 · The TDD Guy