Chapter 20The tools to make your developers highly productive
If you give people tools, and they use their natural abilities and their curiosity, they will develop things in ways that will surprise you very much beyond what you might have expected.
—Bill Gates
GitHub famously tried to empower its own engineering teams to use local laptop environments (on macOS) for many years. It found that despite its efforts, local development environments remained brittle. Innocent changes could render a local environment useless and waste hours of valuable time to recover. Breakages due to inconsistent local environment configurations were common. GitHub addressed these challenges by moving to virtual environments that are standardized, have preloaded tools, and have access to any data needed.
As an organization scales and moves from five agile pods to 20, 100, or even 1,000+ development pods, it should move to self-service (sandbox) environments, which are self-scaling and provide all the modern and standardized tools that agile pods need to develop solutions. This will avoid the need for burdening IT with requests to provision infrastructure and tools while allowing teams to develop code that works in a production environment.
A special engineering team – sometimes called a developer platform team – implements the tools and technologies that enforce the standards provided by the enterprise architecture team. This team also provides user-experience-focused tools to streamline agile pods, ...
Get Rewired now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.