An expert is someone who knows some of the worst mistakes that can be made in his subject and how to avoid them.

- W. Heisenberger

Technical acumen. Hands-on management experience. Professionalism.

 

Good automation virtually eliminates errors. It's faithful.


Darrel Strom

Agile methods, rapid, iterative and incremental development, parallel development and geographically-distributed development all require well-understood, fail-proof build and release processes. The answer is to automate as much as possible. That's where Darrel excels.

Automated builds and automated build integrity tests, coupled with good software configuration practices, take the pain out of delivering the right software and speed up the entire delivery process. Darrel specializes in implementing and configuring SCM tools like ClearCase, Subversion and Perforce to make it easy for developers to check code out, modify and test it, then check it back in. He automates build and release processes and integrates these with SCM tools to create easy, reliable, push-button releases.

His background as a developer taught him how much software development and QA groups can benefit from automated lifecycle management (ALM):

  • Software Configuration Management
  • Version Control
  • Change Control
  • Release Engineering
  • Simultaneous multi-platform builds
  • Automated testing of builds

Darrel has implemented and performance-tuned Release Engineering and Configuration Management tools and processes in a wide variety of software development environments and engineering cultures, establishing code branching models, SCM policies and release procedures, and making it easier to enforce SCM policies such as branch naming conventions.


He specializes in setting up SCM tools, integrating them with IDEs, and training developers in how to get the most out of the tools. He has considerable experience with ClearCase, Perforce, Subversion, git, Visual SourceSafe, RCS, SCCS, and other CM tools. He has also automated the reporting of build status in Tinderbox.

Darrel establishes code management procedures for development and QA, training and coaching each group in the adoption of the new procedures. He defines and establishes the function of Release Engineering and trains staff in their technical responsibilities.

In multi-platform development environments, he has automatically generated regular development releases (nighlty or continuously) for multiple platforms and databases from a single source code base. He creates automated "universal" build systems to replace the variety of manual build processes used by different development groups within the same organization. This reduces the unnecessary complexity and effort of manipulating and maintaining multiple and divergent build systems. More important, it enhanced Engineering's ability to deliver reliable and timely builds by:

  1. Streamlining the build process.
  2. Providing and documenting a uniform build process.
  3. Reducing opportunities for failed builds.