I
f you ask people from the industry what DevOps is, you get many different and interesting answers. And no wonder this is the case, since DevOps is still a relatively young approach (2009), born out of the painful need to deliver fast, high-quality product in a complex and rapidly changing environment. Personally, I have adopted the standpoint that sees DevOps as an integrated approach, combining culture and tools aimed to get things done, within complex fast moving environments, with an emphasis on culture and mindset.
The software testing practices and mindset have radically changed since the early days of Agile and Lean. Today there is no doubt that the software testing practices and mindset are an inseparable part of DevOps culture. There are people who will argue that there is no difference between the Agile software testing mindset and the DevOps culture mindset, and to an extent I can agree; nevertheless, in this post I have decided to put a special spotlight on the software testing mindset within the DevOps world, to try and understand this mindset, see where these practices came from, how they have developed and how it is all connected to a single culture.
So I will divide my thoughts into 3 parts
Part 1 : Why culture is part of DevOps
Part2 – What does testing have to do with it and how has the testing mindset evolved
Part3 – What are the keys to an agile DevOps testing mindset?
So let’s get started.
Part 1 : Why culture is part of DevOps
'Dev ops', 'Mindset', 'Software Testing' - each of these three terms has an entire world of practice and culture relating to it. Before taking them all three together as one topic ('DevOps in the software testing mindset"), I would like to explain each one separately, giving each its respective place.
Let’s start with the mindset.
"In my work as a documentarian, I have witnessed the confidence crisis among girls and the negative impact of stereotypes first-hand," said Lauren Greenfield, filmmaker and director of the #LikeAGirl video. "When the words 'like a girl' are used to mean something bad, it is profoundly disempowering. I am proud to partner with Always to shed light on how this simple phrase can have a significant and long-lasting impact on girls and women. I am excited to be a part of the movement to redefine 'like a girl' into a positive affirmation."
…a set of assumptions, methods, or notations held by one or more people or groups of people that is so established that it creates a powerful incentive within these people or groups to continue to adopt or accept prior behaviors, choices, or tools . (http://en.wikipedia.org/wiki/Mindset) Another extreme and terrifying example can be seen in the following article, wherein an Indian minister argues that sometimes rape is justified (http://www.newindianexpress.com/columns/t_j_s_george/In-India%E2%80%94And-In-No-Other-Country%E2%80%94Rape-is-Justified-By-Home-Ministers-MPs-Casteists.-It%E2%80%99s-Our-Shame/2014/07/27/article2350035.ece).
The preexisting assumptions and beliefs that are held by developers, testers, analysts, product managers or anyone else involved in producing working software will dictate the way they believe they should or should not work together. It will ”dictate" the tools they will choose to use as well as their team members, methods and procedures. In a world of rapidly changing environments, where DevOps is a necessity, we will need to create the right mindset to enable DevOps to answer these new environments’ needs: producing high-quality product fast. But what is DevOps? My friend Thomas Cagley @TCagley in his article DevOps Primer: Definition States that If you ask 20 people the definition of DevOps you will get 12 definitions and 10 people that don’t know the term DevOps. He then quotes: "David Herron, provided a simple definition, “(DevOps is)…an integrated approach to software delivery that include process, tools, technology, resources.”" Why is that? In a fast moving environment, where the customer has very little patience to wait but quality is not negotiable, organizations needs to find the way to move from A (the point of the idea) to B (the point of delivery) as fast as they can with the highest quality. Satisfying customers and at the same time reacting to rapid new demands at the right speed, quality and with grace. It's no simple feat to accomplish.