Is Test Driven Development (TDD) crucial for high churn mobile products?

This, and more debates at Fragments Ahmedabad and Bangalore editions.

At the start of this week, we had a debate on the TDD approach for mobile. Where is it required and where is it not? We discussed two sides of the debate:

  1. On the one hand, TDD is not critical for mobile apps. It is in fact problematic for large and complex apps as it might make people build products work for test cases rather than holistically.
  2. On the other hand, TDD is a useful approach for building simple and small-scale apps because it guarantees outputs and bounds scope from the beginning.

Here’s a brief summary of the discussion:

  • The purist TDD approach is one thing. Having tests is one. There is no questioning the value of writing tests. The moot question is whether you write tests before or whether you write them after.
  • TDD is about first defining what output you want on what input, and then filling the gap with your code.
  • Adapting to TDD also depends on stage of project, team size, and platforms.
  • Many a times, in smaller teams and early-stage products, you do not have an end-to-end user story in mind. So you can’t write tests before you code. Therefore, TDD has immense value when rewriting a PoC into a production grade project.
  • For most high churn products TDD isn’t critical. Often the codebase and the velocity of requirements means that doing TDD will mean you will never finish in time.

If this debate has piqued your curiosity, here are some more topics for discussion which we have — and will be — featuring at Fragments editions in Ahmedabad and Bangalore.

  1. Native apps: when do they work versus when it doesn’t make sense to build native apps.
  2. PWA caching strategies.
  3. Optimising for lower-end hardware.
  4. On device, server-side and progressive ML.

HasGeek launched Fragments in 2017, in response to the fragmented state of engineering and product development for mobile.

https://hasgeek.tv/fragments

In 2019, we are focussing our energies on building a community of practitioners around Fragments, in different cities, including Ahmedabad, Bangalore, Cochin, Hyderabad and Indore. Here are the first two editions of the conference in 2019:

  1. Fragments Ahmedabad edition on the state of platforms.
    Date: Saturday, 9 March. 
    Venue: DevX Accelerator, Vastrapur, Ahmedabad.
    URL: https://hasgeek.com/fragments/ahmedabad-2019/
    Schedule: https://hasgeek.com/fragments/ahmedabad-2019/schedule
  2. Fragments Bangalore edition on mobile engineering approaches, hardware and user research for mobile. 
    Date: Saturday, 30 March
    Venue: TERI Auditorium, Domlur, Bangalore
    URL: https://hasgeek.com/fragments/2019/

You can participate in the Bangalore and Ahmedabad editions by:

  1. Submitting talks for speaking. We have elaborated on the list of topics we want to feature for the Bangalore edition (and will be carrying interesting talks from Bangalore into future editions in Hyderabad, Cochin and Indore).
  2. Proposing topics for someone else to speak.
  3. Suggesting speakers you’d like to hear.
  4. Nudging your teammates and friends — especially from among women and persons of non-binary genders — to submit talks.
  5. Adding workshop ideas and topics for teaching: workshops will be held on 29 March and 31 March for the Bangalore edition.
  6. Attending the events in Ahmedabad and Bangalore.
  7. Spreading the word among your communities.
  8. Any other means: write to us on fragments.editorial@hasgeek.com

Back to the TDD debate, if you want to read up more, here are two resources:

  1. https://www.youtube.com/watch?v=KtHQGs3zFAM
  2. https://dev.to/ruairitobrien/does-test-driven-development-work-p54

Thank you to Preeti Wadhwani, Arnav Gupta, Arun Babu ASP, Anup Cowker and Arpan Desai for contributing perspectives on TDD.

See you in Ahmedabad/Bangalore (with comments and proposals on https://hasgeek.com/fragments


Head over to https://hasgeek.com/fragments to take a look (and comment/vote) on the proposals and to book your tickets today!