4 Reasons why Lean will make you a better Dad

The Situation
My job is pretty stressful. I’m sure yours is too. I often have a difficult time leaving the baggage of my work week in the car when I get home on Friday night. Sometimes this means I’m not as patient as I ought to be at home. This results in a rocky weekend with the kids. Sometimes it’s Sunday afternoon before I’m in full on ‘dad mode’ and engaged.
 
Every third weekend I’m home alone with the kids. This means I have to wake up in ‘dad mode’ on Saturday morning ready to go, solo. One of these weekends followed a stressful week that wasn’t easy to leave behind. In fact it spilled over into the weekend and it got messy. I was impatient, lost my cool and yelled more than a few times.
 
Later that evening after putting the boys to bed, I asked the girls how the day went. Also known as our retro(spective) of the day. We talked about what we did in our day. What went well, what wasn’t so great and what downright … well, made us sad. They were sure to remind me of the moments where I lost my cool and yelled. I defended my position and said, “if I didn’t yell you guys would not listen.” Their response, “Yes we would. Try talking to us Dad.”
 
So the next day I decided to make some changes and put the feedback in practice. The results were astonishing. Everyone listened. We had a fun day. We all got along and helped each other. Needless to say retro on Sunday night went much smoother and there was more in the happy column. Making me happy …
 
Here’s what I learned from doing stand-ups and retros with my kids.
 
They will love you more
And who doesn’t want that? Unless they’re 9 year old girls. In that case all hope is lost. But that’s another blog post all together. When you’re a better Dad they feel more connected to you. Dads get to spend such a small amount of time with their kids it’s important to maximize that time.
 
Kids are people too
No really, they are. So talk to them. When we communicate with each other we develop empathy. We practice better listening skills and that makes us all feel better.  We see each other’s points of view, which makes handling problems a lot easier.  
 
Kids want to be included
No one wants to feel included they want to ‘be included’. To actually be part of the team that comes up with the plan. That way we all feel a sense of ownership, like the work product was our idea. Because, well, it was.
 
Autonomous teams are more successful
When we all feel like we came up with the plan we all feel like we own the outcomes. Good or bad, it was our plan and it’s our responsibility. We work to keep it on track and we work to fix it when it’s broken. We also all celebrate success. Who doesn’t want that?
 
Conclusion
I’m not a perfect Dad and I’m not a perfect husband. I still lose my cool and get impatient from time to time. But when I fall off the wagon there’s a process in place to point out my mistakes and I can work to fix them. Without that process it would be one train wreck after another.
 
I bet you’re not a perfect parent either. I’d also bet you make a few mistakes at work. I bet your team wishes you handled certain situations a little different. My team conducts stand-ups so we can share what we worked on. We talk about priorities and what we will work on tomorrow. We conduct a weekly retro. The most important meeting of our week. We all attend this meeting because we know we’re not perfect and we likely never will be. But we want to work hard to get better each week.
 
If you change only one thing next week add a retro. It just might turn you into ‘Super Dad’ for a weekend or two.  And let’s face it, who doesn’t want that?

Ready or not Digital Transformation is Happening Now.

The Situation
Digital Transformation is no longer far in the distance. It’s happening now. But it used to be this distant event that would happen some day. It seems like only yesterday when we started worrying about it. We are in the middle of it now. Every action we take is either the next step in our journey or a desperate move to keep up.
 
It’s Complicated and we’re Bad Estimators
We all planned to adopt DevOps and break down our applications. It seemed so easy, at the time. We would change every aspect of software delivery over night. Transform our monolithic apps to modular microservices and dominate our markets. It didn’t quite work out that way.
 
We underestimated the effort it would take to adopt DevOps. It seems silly now. How could we have underestimated the ‘people’ challenges? The truth is, we weren’t very good at estimating waterfall releases. So I guess it’s no surprise we wouldn’t be very good at estimating this transition.
 
The World is moving on, even if you’re not
The sun is going to set today and it’s going to rise tomorrow. Doesn’t matter if we’re prepared for it or not. Digital Transformation is happening whether you’re ready for it or not. Like sunrise and sunset. Our very existence will depend on our ability to navigate this change.
 
It’s time to make new plans
Many have given up on their original plans. Sequencing their transformation. Adopt DevOps, transform the apps. We all realize the ‘people’ challenge is going to take time. To be successful we have to give it the time it needs. Like software physics, it will take as long as it’s going to take. But the market isn’t waiting. Our competitors aren’t waiting for us. What about all those apps? We still need to do that work. We need to find someone to do it if we can’t.
 
Cognizant to the Rescue
At Cognizant we realize you need to do both of these things. We can help you achieve both. DevOps is going to take time. We will work with your teams to show them the way. They will learn-by-doing. The best way to change. The apps are a different story. Through the learning process we’ll tackle some of them. But it won’t be quick enough. That’s why we’re going to help you do this at-scale. We will break down your monolithic apps for you. We will do this now.
 
We are introducing the concept of Cognizant Labs. Purpose-built facilities where your teams can learn with us at their own pace. Create business value in the process. Digital Transformation doesn’t have to be impossible. It is going to be hard. But with a little help from your friends it becomes a lot easier.
Contact me to learn more about how we can help you.

5 Things You Should do now to Succeed Tomorrow 

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. 

  1. 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.
  2. Microservices: break down monolithic applications to modular services that can be delivered independently. 
  3. Continuous integration: deliver code often and integrate it all the time. Never allow teams to work independently for long without integrating. 
  4. 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. 
  5. 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

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.


Conclusion

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 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.

The Cognizant Difference: How we are helping you change the world for the better.

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

My Position
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:

  1. Adopt new work patterns and and breakdown monolithic applications to cloud friendly instantiations
  2. 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.