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, ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access