Wednesday, November 4, 2015

DevOps Need Collaboration To Succeed As A Practice


#SridharPeddisetty #DevOps #Kanban #Culture #Collaboration #SchneiderCultureModel #DevOpsStrategy #Agile 
“A great team doesn’t mean that they had the smartest people. What made those teams great is that everyone trusted one another. It can be a powerful thing when that magic dynamic exists.” ― Gene Kim, The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win
DevOps formulates collaboration of Operations and Engineering teams to achieve continuous delivery by participating together in the entire service delivery lifecycle. DevOps is NOT a role but it is a shift in culture of an organization, which encourages greater communication and collaboration to foster building better quality software more quickly and with better reliability. There are good number of people who agree that DevOps is not a new phenomena and some organizations have been formulating collaboration of Operations and Engineering teams to achieve continuous delivery by participating together for releasing new product or service. However there are good number of organizations who are either warming up to the idea of DevOps and ready to adopt it or going through initial phase of DevOps adoption. It is important for the organizations to understand that "collaboration culture” is key for them to successfully adapt to DevOps. In my earlier post Kanban & DevOps - Forming A Perfect Alliance, I shared how Kanban and DevOps combine together to help bring down the silos between Engineering and Operations teams. 

Why DevOps need collaboration to succeed?

To understand why DevOps need collaboration to succeed, let's understand Schneider Culture Model, which defines four distinct cultures:
  1. Collaboration culture is about working together
  2. Control culture is about getting and keeping control
  3. Competence culture is about being the best
  4. Cultivation culture is about learning and growing with a sense of purpose

In the diagram below, Michael Sahota shared his thoughts on understanding the culture of an organization using Schneider Culture Model. Each of the four cultures are depicted – one in each quadrant with each having a name, descriptive quote, a picture, and some words that characterize that quadrant. 

As can be seen in the diagram, collaboration quadrant includes the words affiliation, synergy, partnership, interaction, trust, diversity and egalitarian to characterize itself while the descriptive quote is “we succeed by working together”. These are the exact characteristics that are needed for DevOps to succeed as a practice in an Organization in which Engineering and Operations teams come together to work with affiliation, synergy, trust as partners by closely interacting with egalitarian philosophy. 
Note that according to Schneider model, no one culture type is considered better than another and same is applicable to DevOps, in which possibly cultural elements from other quadrants (control, cultivation and competence) are applicable to DevOps. Depending on the organization but for DevOps to succeed, definitely the organization needs to have ‘Collaboration’ as the single dominant culture with elements from the other three culture quadrants.
By adapting to the culture of DevOps, an organization is not only focusing on agility but also on reliability by eliminating waste, identifying repeatable steps and automating those steps. Organizations will fail in adapting DevOps if the culture is not breaking down the organizational silos and in which everyone shares the accountability for delivery.

Summary

DevOps represents both a technology and a culture change in the organization and the objective of DevOps can be achieved only if the culture of the organization is more collaborative. In other words, DevOps need more of a "collaboration culture” in the organization to succeed as a practice. 
In the comments section, please share your thoughts on what do you think an Organization must do for DevOps to succeed and make a positive impact. 
Previous posts you might be interested in

Change Management Is Not Everyone's Cup Of Tea


#SridharPeddisetty #ChangeManagement #Management #Project #BestPractices #Agile #ProjectManagement 


There's an old sea story about a ship's Captain who inspected his sailors, and afterward told the first mate that his men smelled bad. The Captain suggested perhaps it would help if the sailors would change underwear occasionally. The first mate responded, "Aye, aye sir, I'll see to it immediately!" and went straight to the sailors berth deck and announced, "The Captain thinks you guys smell bad and wants you to change your underwear." He continued, "Pittman, you change with Jones, McCarthy, you change with Witkowski, and Brown, you change with Schneider."
Moral of the story: 
Someone may come along and promise "Change", but don't count on things smelling any better.
Whether your Organization is using Agile or Iterative or Traditional methodology to deliver services to its customers, Change Management is a key component to ensure alignment of plan with strategic objectives. Change Management is a structured approach comprising of an approval process, which allows a change request to move through a series of approval stages to ensure that the lasting benefits of change are achieved. Organizations still struggle to implement a robust Change Management process vetting out the changes as they ought to be.
Common pitfalls seen in Change Management process include

  1. People are not very receptive to expect change. Either there is not a good process to identify and report change or enough stakeholders are not involved early enough to vet out the change. 
  2. More often than not, necessary ‘Change Impact Analysis’ is not performed to truly understand the impact of a ‘Change’ and how its aligned with the strategic objectives of an Organization. 
  3. Project plans are not always changed to reflect the impact of a change, which could effect overall schedule, cost and likely result in scope creep. 
  4. If the project plans are changed, they are not communicated to all project stakeholders to ensure everyone are aware of the change, its likely impact and seek approvals. 
  5. Weigh the priorities of the change with the tasks in pipeline, aligning with strategic objectives of the Organization 

Below is a pictorial depiction of a simple 'Change Management' process

Summary

Presently all Organizations are growing through a disruptive phase whether its technology transformation, changing customer demographics, challenging economic times, etc. In this phase, It is an organization's ability to learn and translate that learning into action rapidly, which gives it the ultimate competitive advantage. In other words, sustaining success depends on an organization’s ability to adapt to a changing environment. Implementing a robust Change Management reduces disruptive aspects and emphasizes positive opportunities in the change process. 
In my future blog posts, I will be sharing how specifically to plan Change Management in an Enterprise Agile setup. 
Previous posts you might be interested in

5 Tips Delivering Quality Services To Your Client


#SridharPeddisetty #Leadership #Management #ClientManagement #ClientRelationship #EngagementManagement #CustomerService 

A gentleman once visited a temple under construction where he saw a sculptor making an idol of God. Suddenly he noticed a similar idol lying nearby. Surprised, he asked the sculptor, “Do you need two statues of the same idol?” “No,” said the sculptor without looking up, “We need only one, but the first one got damaged at the last stage.” The gentleman examined the idol and found no apparent damage. “Where is the damage?” he asked. “There is a scratch on the nose of the idol.” said the sculptor, still busy with his work. “Where are you going to install the idol?” The sculptor replied that it would be installed on a pillar twenty feet high. “If the idol is that far, who is going to know that there is a scratch on the nose?” the gentleman asked. The sculptor stopped his work, looked up at the gentleman, smiled and said, “I know it and God knows it!”
It was probably the understatement of the year when President and CEO of Volkswagen's US group admitted that the company "totally screwed up" in using software to rig emissions tests. More than the tangible monetary losses, it's the intangible reputation & loss of customer trust that will impact Volkswagen the most.
According to Gartner, 65% of a company’s business comes from existing customers, and it costs five times as much to attract a new customer than to keep an existing one satisfied. So it is a no brainer to understand that retaining an existing customer is very important for the continuous growth of any company. In my earlier post 7 Tips Having Good Times In A Client Relationship, I shared tips for helping experience the good times in a client relationship while converting them into everlasting memories & forging long term relationships. According to report from Oracle:
  • 81% - customers are willing to pay more for a superior customer experience with nearly half (44%) willing to pay a premium of more than 5%.
  • 89% - customers switched brands after a poor customer experience.
  • 20% - annual percentage revenue losses due to poor customer experiences.
Below I am sharing 5 tips on how to deliver quality services to your client and ensuring trusting relationships
Tip#1: Understand the strategic objectives of your client - Long everlasting relationships begin with knowing your clients' wants and needs. Most times the focus is on scope, schedule, cost and the solution. It is important to understand the business problem or the strategic goal, which the client needs to achieve. We need to provide simple solutions to complex problems and not the other way around. 
Tip#2: Provide transparency in the delivery process to your client - Transparency is important in every business and client service is no different. Always strive for a high quality output by being transparent with your client on the delivery process and keep them engaged. Being transparent and with robust communication, you minimize the element of surprise and at the same time, earn client’s trust. One reason for wide adoption of Agile is mainly because it encourages customer involvement throughout the delivery process. 
Tip#3: Proactively plan for frequent client feedbacks - You need to measure client satisfaction and engagement by taking frequent feedbacks. Regular check points with the client can help easily identify areas of concern and perform course corrections before issues lead to an unhappy client. Without constant feedback from clients, it's more like working in a vacuum and waiting to be surprised. 
Tip#4: Be consistent in providing your services - Every client is important and you need to appreciate that by creating a unique client experience. Whether your client is a fortune 100 or not, be consistent in providing your services. It's a fact that a satisfied client would be willing to refer your services, leading to increased opportunities; while a non-satisfied client can spread the word faster and even more so via social media. 
Tip#5: Share your new services, processes, tools or competencies - A proactive customer service to help find solutions for continuous improvement not only helps keep the client happy but turns them into your strong brand advocate. You are cultivating shared values by engaging the client in your new services, processes, tools or competencies, which fosters relationships. 

Summary

To summarize, clients do not owe you their loyalty, you have to earn it continuously. Any organization’s strategy for their services should be built around delivering quality customer service. When performed properly, you have earned a happy client for life. 
"Quality means doing it right when no one is looking." - Henry Ford
Previous posts you might be interested in: