The Beginning
Background
I have been in the software industry for well over 12 years. I am a software engineer. I have a degree from Brigham Young University in Information Technology. I love everything that has to do with technology.
Over the years, while working with small companies to large corporations, I have come to realize something very unique and frustrating that happens with software development: it makes people crazy and paranoid. I found experiences in my professional career paralleled my personal life and started to realize that just maybe, the industry was looking at software development in the wrong way.
There have been many new processes that have come up over the recent years. One of the most influential is a process started by ThoughtWorks called: Continuous Integration. I have found that abiding by the concepts and principles described in Continuous Integration, that I am more at peace with my software life. I have found that it helps development teams be more "Confident" in their releases.
But here is the sticking point for me. Have you ever noticed that even after following these principles described in Continuous Integration, or even beginning to follow these principles, other departments and people in the company are not as confident as you are? Let me share a story.
Let's Ship it
I was hired by a company to come in and help them implement "Continuous Integration" in their organization. After looking at their testing and getting them continuously testing what they had, I turned and asked the Chief Architect: "If all the tests pass we're good right? Let's ship it!"
His response was exactly what I was expecting: "No, we can't ship it." I asked him why he felt we couldn't ship it. His response was the same I find almost everywhere I go: "We need someone to look at it first. We need QA to review it."
I used this opportunity to re-iterate something is suspected from the beginning, and what started this whole Continuous Confidence movement: he wasn't confident it would not break.
Confidence
Why does that happen? Why is it that people can run tons of tests and still not be confident that there isn't a bug, a break that could ultimately take down the system? The key to this is actually very simple: confidence. The tests, the experiences that they have with releases, causes them to lose confidence in their code. The company as well starts lose confidence if there are too many "fires" one after another.
So what does it mean to gain confidence? Well, that is different in each company. It depends on what people are feeling and what they are sensing about the product. Each organization is different but there are principles, guidelines, and practices that every organization can use to help achieve a Continual Confidence in what they are shipping and ultimately allow every organization to have pride in what they do and deliver product in a timely and efficient manner.
This site is to help us explore the principles, guidelines, and practices that will allow us to gain greater confidence in our organization, our product, and our release process.
Comments
Post a Comment