Software Development

Summarized using AI

Taylor’s Guide to Big Rewrites

Andy Croll • July 10, 2023 • Atlanta, GA

In the presentation 'Taylor’s Guide to Big Rewrites', speaker Andy Croll reflects on the challenges and successes of undertaking a significant rewrite of a software application, while drawing parallels to the management principles of Fred W. Taylor. Initially, the talk introduces Taylorism, which advocates for optimizing work processes for efficiency through proper management and training. Croll emphasizes a common belief in the software industry that a major rewrite of an application is fraught with risks and typically advised against. However, his team of four engineers successfully executed a big rewrite over 18 months, migrating the data of 2,500 customers.

Key points discussed in the talk include:

  • Understanding Taylorism in Software: Emphasizing the need for structured management and clearly defining tasks when undertaking complex projects.
  • Planning and Organization: Croll highlights the importance of planning during the rewrite process to minimize risks and streamline efforts.
  • Incremental Development: Rather than approaching the rewrite as a monolithic task, the strategy involved breaking it down into manageable increments.
  • Team Collaboration and Roles: The importance of clearly defined roles within the team and strong collaboration to ensure successful project execution.
  • Data Migration Strategy: He discusses their approach to migrating 2,500 customers' data, ensuring data integrity throughout the process.

Croll provides a significant anecdote regarding a critical point during the project where adaptability and open communication among team members played a vital role in overcoming obstacles. In conclusion, some of the key takeaways include:

  • A well-planned and executed application rewrite can defy conventional wisdom and result in success if managed effectively.
  • Applying Taylor's management principles can provide valuable insights into how to approach software projects, particularly those involving a major overhaul.
  • Embracing an iterative mindset, where feedback and adjustments are welcomed, is crucial in navigating the complexities of such undertakings.

Through this presentation, Croll encourages engineers and project managers to rethink their approach to big rewrites and adopt practices that support sustainable and efficient project success.

Taylor’s Guide to Big Rewrites
Andy Croll • July 10, 2023 • Atlanta, GA

Taylorism, is a system of management advocated by Fred W. Taylor. The task of management, as he saw it, is to find the best way for the worker to do the job, with proper tools and training, and to provide incentives for good performance.

There are certain things you’re meant to do in software projects and business. And certain things you’re not. A big rewrite of your app is one of the things you aren’t meant to do.

Except that’s what we did with a team of 4 engineers, over an 18 month period, successfully migrating 2,500 customer’s data.

How can we apply the learnings of Taylor, to a massive application rewrite? What did we do and what can you learn when you’re faced with a wild and woolly project? What about our business practises as well as our code helped us make a success of one of software’s shibboleths?

RailsConf 2023

Explore all talks recorded at RailsConf 2023
+85