A Maturity Matrix for Continuous Delivery Pipelines

I’ve worked on a number of DevOps projects recently where I’ve had to assemble Continuous Delivery (CD) pipelines to build, deploy, and test software. In my case, we’ve been using Chef to automatically deploy various components of a java-based web system using Jenkins. We have a lot of pipeline job chains created in Jenkins to […]

Read more
Pitfalls of Overlapping Releases

On my current project, new functionality is often released in increments over a period of several months, as opposed to developing the functionality and deploying it in one release. This is a good approach to release management because it reduces risk, since relatively small changes will be made to the production environment. It also allows […]

Read more
What does Berkshelf do for me?

I’ve been doing a lot of work with Chef and Berkshelf over the last few years. I started in a world without Berkshelf and wrote a conglomeration of spaghetti cookbooks that had a mess of dependencies and were very difficult to maintain. Eventually, I bit the bullet and started using Berkshelf 2.0 to manage my […]

Read more
Using SecureCI Testing Framework for Mobile Devices

One of the new features of the 2013 Q4 Secure CI Release was the inclusion of a testing framework, optimized for web based browser testing. I’m continuing to make a few updates to the testing framework, but more than anything I’ve been discovering more and more uses for it. I’ve been working in the mobile […]

Read more
Hope Is Not a Strategy

One of my all-time favorite sales books is entitled Hope Is Not a Strategy.  It’s a book about how to properly manage sales teams and opportunities.  But I often use this slogan when talking to senior executives about their unrealistic software project expectations.  When teams push back on unrealistic project release schedules, story estimates, or […]

Read more
DevOps/CI and the T word

New Sheriff in Town Having hopped on the CI/CD train early, starting out most of my work was with introducing a client to CI/CD and standing up an initial implementation. Later as  DevOps and CI/CD matured, it became not uncommon to have to take over a failed or barely limping CI/CD implementation. The T word […]

Read more
Holes in Whole Team Quality

The concept of whole team quality is a good one.  Everybody on a project should be responsible for quality.  Unfortunately, there are often holes in our whole team quality approach.  Here are a few I’ve seen: No definition of Done – It’s difficult to achieve quality if you don’t define what it means!  So many […]

Read more
Improving Software Quality through Communication

I recently gave a presentation to undergraduate students about some of the challenges of working on large-scale software development projects.  One of the key challenges that I highlighted was communication.  Although this is not specific to a software development project, it is extremely important. If communication is not performed properly, then it becomes nearly impossible […]

Read more
X