Tuesday, September 26, 2017

How to Implement an Agile Mindset?

A good processes can be destroyed when mindsets aren’t developed, let alone sustained. The rules of the 'Agile' game are easy to understand . The hard part is understanding why it works and how to make it work. If you implement only the right side of the Agile Manifesto you’ll be having a very hard time making it work. More important than the rules and roles  is the spirit and the mindset of Agile .


Monday, September 25, 2017

What is the role of a DevOps coach? Part 1(4) : What is #DevOps ?

By : Liat Palace  (Director, Delivery Technology Office Agile/DevOps Coaching Team Lead – Amdocs)  & Shirly Ronen Harel (Co-Founder & Agile / DevOps Coach -WeChange)
The first major issue we encounter when we start implementing DevOps is the need to gain a basic understanding of what DevOps is and what it brings.
I’ve been asked many times: Is it something that will disappear after a while? Why is it so important and why is it different?

Our 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 different definitions and 10 people who are not familiar with the term. 

He then quotes David Herron, who provided a simple definition: “(DevOps is)…an integrated approach to software delivery that include process, tools, technology, resources.”"
For a long time it was a world of size, and big organizations had a clear advantage over small ones, sometimes even a monopoly.

Now with the fast pace of changes in the market, the game has changed. The organizations that are fast enough to react to changes and stay relevant have the advantage.
In a fast moving environment, where speed is a necessity and quality is not negotiable, organizations need to find a way to move from ideation to delivery as fast as they can, with the highest quality.

Which actions should be taken to move towards adopting DevOps?

First we need to remove some barriers. There are barriers between Dev (that wants to change the code, and add to it) and Ops (that wants to keep everything stable). We need to break down and adjust the boundaries between the developers and the operations people, so that they work together. We want to deliver products with good quality and fast time to production, and at the same time create trust between these groups.

We then need to remove some more barriers. The whole ecosystem should speak the same language and move the organization towards the same goal.

Marketing, finance, HR, learning services, procurement, and legal should all change in order to support rapid delivery and the DevOps changes.

For example, we see situations where the finance budget plan is approved once a year, and cannot be aligned with the rapid changes the DevOps chain requires.

So we can add tools. We can add them everywhere, making sure that there is no break down on the way to production. Tools play an important role in building awareness of quality. We can create continuous integration for every line of code, continuous delivery for any functionality added and tested, health monitoring, better logs and more. 

But I’m afraid that tools are not enough. Why?
Because we need to know where to employ these tools. What is a valuable application of these tools? How do we determine this? We need to know our production line. We need to identify production line bottlenecks, understand and set up the right process. Imagine we are a chocolate factory - we can add cocoa but still not deliver chocolate if the mixer isn’t working properly.

Tools, processes and barriers are only a small part of it. Why? Because we need people to be part of DevOps adoption. And they need to have the right mindset to be able to deliver the right feedback.

Why? Because in a rapidly changing environment, we need people to give us feedback from every part of the production line, whenever needed. In this complex environment, issues arise, change and being develop differently throughout the production line. Therefore we need people to understand the DevOps mindset and raise flags, when necessary. We need to quickly identify problems and solutions. We can only do this when we have the right mindset, and when everyone is on board and knows what they need to do and why. In this complex environment we need all the different professional perspectives to be available to us for fast decision making. We need to know where to use our tools according to accurate feedback and recognized bottlenecks, what to change and why. Without the right people and mindset, we are limited in our ability to do so. To reach this state, everyone needs to work together to create a culture of collaboration, to deliver value fast. Without the right mindset, we may still succeed, but will still generate a great deal of waste in the process, and reach our goals more slowly.

In extreme cases (and I have seen such cases), the entire organization gets stuck due to a lack of collaboration, to the point where they are not able to deliver.

So what is DevOps?

"DevOps means that there are no walls, no gates, no transitions, and no ceremony between Development and Operations. They are seamlessly integrated (when viewed from ’above‘) into a single, value delivering, IT entity." 
“(DevOps is)…an integrated approach to software delivery that include process, tools, technology, resources.”

DevOps includes rapid collaborative development without hassles, continuous testing, continuous deployment and continuous monitoring, and it can't work without a proper mindset in place, one that aims to allow everyone to collaborate to deliver value faster.

It cannot work without E2E organizational support to make it happen. This means that DevOps is not only about Dev to Ops; it involves the entire organization’s culture and functions: HR, Sales, Marketing and more.
This is a huge challenge, but it is doable.

 Part 2: What is Holistic #DevOps ?

Saturday, September 23, 2017

#Agile & #DevOps posts of the month - Sep 2017

Many people wants to read quality and good agile or DevOps related content on the web. We have compiled for you some of what we think are good reading Agile and DevOps posts of this month. 

Wednesday, September 20, 2017

Agile and Production Support Best Practices

"In an ideal world, a Scrum team should be dedicated and exposed as little as possible to external disturbances. But in most cases, teams must focus on developing new software and support earlier versions of the software application in production". So what is a development team charged with application support to do? 

Saturday, September 16, 2017

The new role of HR in the agile organization

"The impact of corporate Human Resources (HR), on Agile adoptions  are often overlooked. In fact, Agile practitioners often bypass HR in their zeal to quickly change the way they work and the related people processes.R to a hole new level...There is a misconception that Agile exclusively falls under the IT domain; overlooking the fact that the core of Agile is about the people and culture – the sweet spots of the HR profession."

10 #Scrum Master Interview Questionnaires to choose from

Such as "Explain Agile in 30 seconds."

Thursday, September 14, 2017

The different roles of the spotify model.

Spotify Chapter lead vs. tribe lead vs. functional manager vs. Team lead vs. Functional manager etc.

Sunday, September 10, 2017

What the role of a #DevOps coach? Part 2 (4) : What is Holistic #DevOps ?

By : Liat Palace  (Director, Delivery Technology Office Agile/DevOps Coaching Team Lead – Amdocs)  & Shirly Ronen Harel (Co-Founder & Agile / DevOps Coach -WeChange)

“DevOps does not just mean the technical practices and tools to put your code into production with confidence. It is much more than that. It is an overall approach where the entire organization must acknowledge the existence of DevOps. Starting from sales and marketing, DevOps must be an integral part of their processes to be included in every project. It must be taken seriously. Eventually, when the project is passed on to the next party taking responsibility of the project, it is essential to have best DevOps practices in place.”

DevOps practices exist throughout the lifecycle of a product, from sales to support.  They don’t focus on one person or on a small part of the organization; instead they address the entire production line, providing end to end value stream cultural change. When an organization adopts DevOps, this affects different parts of the organization. It is a culture, a mindset and practices that should be present across the board. It means removing barriers and building a collaborative culture that affects much more than just Dev to Ops.
Adopting DevOps is hard. It requires management support, a company-wide mindset change, and of course coaching.
If DevOps is a culture of collaboration, then we cannot limit the close collaboration and continuous feedback to development, testing and operations. We also need to include accounting, marketing, sales and more in the loop; otherwise the organization will sell and market deliverables that the Delivery group will not be able to deliver. This would leave us in the same place we were when Agile was implemented on development only, while testing and operation were out of the loop. This is good but limited, and we no longer want any limitations.

If we want to achieve Faster, Cheaper, and Better, this requires the entire production line to be involved. As an example, the Sales department cannot enter into a ‘silo’ contract with a customer, while Delivery delivers a small chunk of working software each sprint. All parties in the organization must be aligned with the same mindset.

Defining job titles such as “DevOps engineer” and “Director of DevOps”, and creating DevOps training and certification programs, are not sufficient. DevOps is a culture; it’s not silos of specific people developing tools or collaborating among themselves. It means that everyone in the organization is part of a single approach call DevOps. Everyone is expected to act according to the principles and values of the DevOps approach. However, a DevOps coach is a sufficient term, it's a leading role in transforming an organization into a DevOps organization, using a holistic approach, addressing system thinking, and focusing on the end result.

Monday, September 4, 2017

Matrix Resource Management and #Agile

As matrix management encroaches upon Agile management the philosophical view points on resource allocation are contrary to each other. 

Sunday, September 3, 2017

The #agilefamily team - Stories from 2017

How do some families and individuals incorporating agile methodologies into modern family life in 2017?

What is it like to work ( #agile ) with Ukraine?