I usually share my thoughts over 1-2 hour talks. Let’s break that model and distill it right down. If you do these 5 things you’ll be well positioned to be successful in the future.
- DevOps: make Conway’s Law a distant memory. Kick-start a DevOps movement, bringing development and operations together. Break down silos and downstream consumers. Adopt two pizza teams and empower them to succeed by controlling their own destiny.
- Microservices: break down monolithic applications to modular services that can be delivered independently.
- Continuous integration: deliver code often and integrate it all the time. Never allow teams to work independently for long without integrating.
- Continuous delivery: every change or completed story doesn’t have to be pushed directly to production but it should be possible if that is the desired outcome. By integrating often we know the code hangs together without regressions. Because all of this is automated we can easily flip a switch and push to production.
- Automation: continuous delivery isn’t possible without automation. Automate everything from code deploy, delivery to production and your infrastructure. Yes treat your infrastructure like you do code, version it, automate it and watch magic happen.
It’s exciting to be on this cloud journey with you all. I love sharing my experiences and learning from yours. I’d Love to hear your feedback so leave a comment.
Until next time, c-ya.
Rockstar Engineers Aren’t a Long Term Strategy for Success
I’ve been fortunate to travel and speak a lot about my experience leading teams that successfully adopted XP. In my talks I share my approach for hiring and retaining great talent. The approach I follow now is the exact opposite of the approach I had 15 years ago.
I used to believe that I needed engineers fueled by caffeine, the ones that worked through the night and committed large amounts of code. The true rockstars. We all know those people, zero empathy. If you stopped them in the hallway to ask what they were working on they’d tell you you’re not smart enough to comprehend what they’re doing. This is exactly the kind of person I go out of my way NOT to hire now.
Why Not Hire Rockstars?
I’ve said this at least a million times but I’ll say it again,
The best outcomes are the confluence of everyone’s opinion
Following that statement to logical conclusion, if I had two choices to get work done:
1.Complete a story in 30 minutes with a rock star working alone OR
2. Pair 2 developers together take 3 hours and up-level the knowledge of the team
I’d choose option #2 every time.
Together we are Strong, Together we will Go Far
Two heads are better than one. I’ve seen it time and again, two developers working to solve a problem will ultimately lead to a better outcome. The confluence of their experience and effort …
There are other benefits though. Pairing is context sharing. When we work together to solve a problem we don’t ‘feel’ included we are ‘included’. We’re part of the solution. Perhaps more important when there’s a problem we feel a sense of shared ownership to fix it. The code becomes everyone’s problem and not just one person’s. That sense of ownership may seem odd especially to leaders who look for ‘one neck to choke’ when there’s a problem. The syndrome, “if it’s everyone’s problem, then it’s no one’s problem” is true for leadership. But that’s a whole other blog post.
Through pairing we boost efficiency through collaboration. Programming really can be a collaborative endeavor. When we pair we knowledge share and skill transfer. We prevent
little silos of knowledge from forming. Everyone knows the code base and we’re all familiar with each other.
At Cognizant Labs we’re fueling our innovation with teams that lift each other up. We employ XP, retros, standups and other agile methods at all levels. Yes even my leadership team attends a standup, a retro and we have a backlog of work we call action items instead of stories. But we write our action items like stories. They have a consumer, goals … definition of success. Why? So anyone can pick that action item from the backlog when they’re free and resolve it.
Influencing change throughout an organization isn’t just about asking developers to change, it’s about change at all levels. The most successful teams are the ones that realize the enemy/competition isn’t inside our walls but outside. We need to work together, lift each other up and remove roadblocks to achieve greatness.
Cognizant becomes a Cloud Foundry Gold Sponsor
Cognizant is affirming its commitment to OSS with the announcement that we are Gold sponsors of the world’s best PaaS, Cloud Foundry. Cloud Foundry is powering the work we do within our Cognizant Digital Business and this commitment further enables us to execute on our vision of performing application transformation at scale with our clients.
As a long time user and supporter of Cloud Foundry I am personally excited about this announcement. While the incumbents are gaining ground I still believe Cloud Foundry is the best platform to host Cloud Native Applications.
I look forward to bringing Cognizant and Cloud Foundry together to enable our customers to build born in the cloud, Cloud Native Applications that power their business.
Our world is continuing to change at a rapid pace. Organizations are faced with unprecedented challenges, they need to retool their workforce and transform monolithic applications into modular components (Micro services) that can be delivered rapidly. This continuous delivery will enable them to innovate quickly and deliver software that maintains pace with their competitors.
Adopting lean strategies to deliver software (DevOps) is challenging enough without the added, urgent need, to decompose almost all of the apps in your portfolio to micro services so they are “Cloud friendly”. One problem is that most people simply have no idea how to build applications in a way that is “cloud friendly.” Cloud-friendly applications don’t just run in the cloud, they embrace cloud fundamentals.
Applications built this way enable teams of developers to add new features and react quickly to market changes. This new mode of delivery enables them to maintain pace with market need; or better yet, outpace their competitors. Many companies have already figured out that if they want to compete now and in the future they will need to become a software company.
Every company is becoming a software company – Forbes 2011
I’ve been fortunate to build teams that have adopted lean strategies for delivering software. These teams can deliver software every 1, 2, 7 … minutes. The intervals don’t matter because the point is they can deliver code to production whenever they need to. Without human intervention software can arrive on a production server as soon as it runs through a continuous integration pipeline. They truly have achieved a DevOps mentality.
Don’t go it alone
I don’t believe every organization and customer should have to navigate the overwhelming ‘change’ alone to embrace DevOps. I also happen to know from personal experience that they have two fundamental goals:
- Adopt new work patterns and and breakdown monolithic applications to cloud friendly instantiations
- Because the number of applications impacted by this change is so large they need help to do the work
Cognizant is well positioned to help organizations do at-scale cloud native application transformation. We can help whether it’s streamlining the applications in your existing portfolio or learning how to enable continuous innovation + delivery. Clients can learn DevOps from our practitioners in our purpose built Cognizant Labs facilities around the world and in the process decompose their monolithic applications. Here’s a breakdown of some of our services:
- Decomposition of Monoliths: We have automated tools to help you analyze, plan and execute the decomposition from monolith to micro services.
- Enablement: We don’t want you to become reliant on us, we want you to learn DevOps while we build product and go back home and share this with all your friends. Clients can learn with us in two modes; they can engage with us in one of our many Cognizant Labs locations around the globe or we can go on-site to kick-start a DevOps movement with you. Either way we know that adopting new ways-of-working is a huge cultural shift and we are here to help you navigate that transition.
- Delegation: If you simply want to delegate ownership of your apps we can help you there also. We can own your entire application portfolio and host it on best-of-breed PaaS, PCF.No matter what your needs we’ve got you covered.
In the end
Our world is continuing to change at a rapid pace. Organizations are faced with unprecedented challenges. It doesn’t have to be all doom and gloom. We make it possible for you to do all or some of the following; adopt a new culture, build green-field applications, improve economics for existing maintenance applications and in doing so you will not only survive but thrive in the new world.