Key elements of a high-performance engineering organization:
Talent:
“These are my new shoes. They're good shoes. They won't make you rich like me, they won't make you rebound like me, they definitely won't make you handsome like me. They'll only make you have shoes like me. That's it.” Charles Barkley on the importance of talent.
Managing People:
Have a dual career track. Value management == technical track. Don’t just say it. Pay equal, equal impact, power etc. Hire and develop GREAT managers
Roadmap:
Many ways to come up with one but make sure you WRITE IT DOWN and share it with the company. Forces you to be clear in what you're trying to build, fosters debate and discussion and communicates to everyone.
Execution:
The debate is over. The right answer is "stable and predictable schedule of releases and vary the content / scope." Small, empowered teams with minimal technical coupling. Let them iterate and come up with small "complete" chunks for features that can be tested/used
Virtual Software Architecture Team:
Not a team on the org chart, but a virtual team that assures quality and consistent software architecture as the product and code base grows. Do this well and you'll be fast and never have to "rewrite" your codebase.
Automated testing:
A robust set of automated tests, great infrastructure to build and run them, and a culture that values test-driven development is the bedrock of high-performance engineering.
Performance analysis and testing:
A dedicated team to test and analyze module and system performance. Raising visibility of optimizations and bottlenecks so they can be proactively addressed.
You can follow @toddmckinnon.
Tip: mention @twtextapp on a Twitter thread with the keyword “unroll” to get a link to it.

Latest Threads Unrolled: