Essential Developer Capabilities

Essential Developer Capabilities

Rob Myers has first-hand experience using these Software Development practices to craft very-high-quality code.

He started on his first Extreme Programming team in 1998, and worked on at least six long-term teams as XP coach for six years. Since 2002, he has also been training and coaching a variety of teams, worldwide.

Created by:

Rob Myers

Rob Myers

Real capacity to create, maintain, and enhance products

This assessment is based on the hands-on experience Rob Myers has gained, as well as the training curriculum he has crafted, refined, and delivered since 2002. Agile leadership methods are not sufficient. The Core Four Agile Developer Skills provide organizations with the real capacity to create, maintain, and enhance their software products without degrading quality or alienating users.

Refactoring

Not a synonym for “rewriting” code, this capability allows teams to match the best software design for the features that exist today, while permitting the rapid creation of feature enhancements in the future.

Test-Driven Development

Teams create a safety net of fast, comprehensive, automated unit tests alongside the product implementation.

Behavior Driven Development

Teams create a safety net of fast, comprehensive, automated unit tests alongside the product implementation.

Collaborating Continuously

Developers and testers are never working alone. Hand-offs and wait-times are eliminated by always working in pairs or larger.

Integrating Continuously

Also known as “Trunk-Based Development,” this capability requires the team to have only one long-lived repository branch. All changes are merged into the trunk many times per day, automatically tested thoroughly, and (if desired), automatically deployed to users.

“Without strengthening these core four skills, the teams' frequent changes to product behaviors and software design will cause the product to degrade after just a few iterations.”

Rob Myers

Sample Questions

Refactoring

Our code is readable, and I can easily grasp what each part is doing.

Test Driven Development

We are able to add new functionality without failing an existing test.

Continuous Integration

Our team maintains an automated build script or tool configuration, which also runs all of our tests.

Continuous Collaboration

I often work with at least one other developer when writing code.

Continuous Collaboration

We often talk to each other about design and direction while coding.

Behavior Driven Development

We have a set of clear, concrete business-facing examples or specifications.

Test Driven Development

We write a test scenario before writing the implementation that makes it work.

Refactoring

We are able to modify the code's design in order to accommodate new functionality.

Continuous Collaboration

When coding, we often immediately catch each other's mistakes.

Top Features

  • Leverage proven, peer-reviewed research to quickly identify where your organization needs attention, and initiate a conversation to understand how you can help.

  • Give your teams a voice - and allow them to express where further training would do the most good for your organization.

  • Gain insights expeditiously - perform analysis at the team, program and organizational levels.

  • Benchmark the level of Essential Developer Capabilities across your teams and organization against other organizations in your industry.

Rob Myers

Rob Myers

Founder and principal instructor and coach at Agile Institute

Rob Myers is the founder and principal instructor and coach at Agile Institute. Rob has been in various professional software development roles since 1986 and has been mentoring teams in technical Agile capabilities since 1998. His courses blend fun, practical, hands-on coding labs; advanced learning techniques; and relevant first-person stories from both successful and not-so-successful Agile implementations. Rob is currently writing Essential Test-Driven Development, a book for Addison-Wesley, due out late 2021 or early 2022.

Get in Touch

You can write to Rob at rob.myers@agileinstitute.com
or by clicking the Contact Us button on the Agile Institute website.