Month: September 2014

Approaching automation

Processes around creating and releasing software are often manually orchestrated. Some steps of the process are more involved than others. There’s immense value in automating the important parts of the process. For example, software testing and verification is ripe for automation. As with automating anything in business, it’s important to apply an investment mentality. Make sure there’s value beyond the…

Valuable intuition

Custom software is expensive to create, and variable enough that it’s not worth the time to invest in marginally valuable projects. If you’re not entrenched in development, it’s hard to know when an idea may be encroaching on marginally valuable. Fortunately, you have an arsenal of intuition at your disposal. Ask your developers or whomever is responsible for creating software…

Partitioning and automating development machines

Most developers support a plethora of projects. Setting up development machines with the tools and components necessary to work on all of these projects is problematic. Especially when development environments aren’t even close to the production environments they’re hosted in.

Partitioning the tools for each project into virtual machines and automatically creating virtual environments can give organizations a significant edge.

Gone are the days of:

  • Wondering what is necessary to work on a project.
  • Trial and error to setup development machines.
  • Interrupting others to help you out.
  • Relying on out-dated instructions to set things up.
  • Conflicting tools and bogged down development machine resources.

Replaced by:

  • Know what software is necessary for a project, software versions and configuration.
  • A history of why, when, who and how this software was incorporated by versioning the definition of environments.
  • Eliminate surprises by developing in an environment much more like production.
  • Safely creating and testing scripts to automate the setup of environments.
  • Reduced time to get a project up and running.
  • Happier customers, due to less problems in production.

Last week, I spoke about this at the Omaha .NET User’s Group. In the first half of the talk, I enumerate many reasons why this is valuable and then walk through an example of building a MongoDB development environment with Vagrant to use in an ASP.NET MVC application.