01.12 Apply good development practices

You might create the best cloud delivery system capable of delivering software to users at the click of a button but it means nothing unless developers are applying good software development practices. And, as I eluded to before, everyone on a software system team is a developer of some type as they’re all committing assets to the version-control repository.

  • Commit all code to the mainline at least once per day – Code not committed to the mainline of the version-control repository for the project is inventory and inventory is waste. The less code is integrated with the rest of the system, the more complex the debugging and fixes are. The smaller the batches, the easier it is to work with
  • Stop the line – when an error is introduced to the production line (no one else should commit). Get working on the fix in 10 minutes or less. This is crucial – as it relates to the complete software system
  • Write tests along with code – for the infrastructure, deployment, configuration, application – everything. We’re not a believer in 100% code coverage. If you’re an advocate of test first, that’s great, but we tend to advocate for focusing on writing automated tests for higher-value features. Moreover, it’s also not really possible to assess the code coverage for things like CloudFormation or Chef scripts.
  • Version everything – Application code, configuration, infrastructure and data. With the exception of binaries that are never modified by the team, the entire software system should contain text-based source files that are committed to the version-control repository so that the software system can be recreated at any point in time

[frontend-checklist name=”DevPractices”]

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s