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.