Execution mindset — my way
Following on from my earlier post on the “Execution Mindset”, I thought I should reflect my professional examples where I myself have applied “Execution Mindset”. Previously I started out in a newly-formed team of a company. Historically, the company has been very entrepreneurial and it has been known for it’s innovating products and services. Now, the company commitment to form a world-class team in house, backed with serious investment. It is another bold step towards providing new/existing products and services through digital channel.
My decision to join the company was based on my interaction with the management team during interview process and their vision. At the same time, I have articulated, that digital journey for the company wouldn’t be easy. There will be many ups/downs, pain and big and fast decisions that need to be made during journey. At the same time, I have realised that it will be interesting and rewarding journey, personally for me. I can play a key part in this business transformation and make vision successful or at least fail miserably!
On second day in the job, I was asked to deliver a top priority product within three months. I had no detailed information about products, features set and dependencies. In addition, I inherited two contract developers without any engineering process in place e.g. code review, CI/CD, ways of working. On the other side, I was still struggling to install software on my MacBook e.g. xcode , brew etc. , because I didn’t have local admin rights! I had to go through IT service to get local admin rights, which can take couple of days. I tried hard to find flexibility in their delivery dates, but the answer was that business couldn’t afford to change dates.
I took a deep breath and drank a couple of lattes that day. I was still thinking, how could I deliver this exciting product? I will be upfront, I did have thoughts about turning the job down as it all looked too hard. After carefully thinking and looking deep inside, I reflected that this is a real challenge. This product is challenging me. This is the real opportunity where I can utilise my skills and learn a lot new skills along the journey. In reality, we have to deal with a lot of ambiguities and challenges along the way. Isn’t this journey similar to how each great product goes?
At that time, I did recall the following from the book “THE HARD THING ABOUT HARD THINGS BY BEN HOWOWITZ”
“Focuson the road, not on the wall. When someone learn to drive a race car, one of the first lessons taught is that when you are going around a curve at 200 mph, do not focus on the wall; focus on the road. If you focus on the wall, you will drive right into it. If you focus on the road, you will follow on the road. Running a company is like that. There are always a thousand things that can go wrong and sink the ship. If you focus too much on them, you will drive yourself nuts and likely to crash your company. Focus on where are you going rather than on what you hope to avoid “
Also Charan and Bossidy highlight three points about execution in the book: Execution: The discipline of getting things done
- Execution is a discipline, and integral to strategy.
- Execution is the major job of the business leader.
- Execution must be a core element of an organization’s culture.
Connecting into my execution mind-set made me determined to get the job done.
Now, I was firm in my head to delivery the product. I wanted to ship the product successfully or at least fail fast miserably!
I spent two days meeting with the key stakeholders to figure out product features, key milestones and dependencies. Based on the gathered product information, I forecasted the minimum number of developers required to deliver the product. I discussed and convinced management to hire two additional Android and two additional iOS contract developers. We started product development and here is an overview of my week-by-week progress and decisions:
Week 1 & 2:
- Recruited two Android and two iOS contract developers
- Collectively took some decisions — run weekly sprint, F2F discussion over any product documentations, Kanban board in a meeting room, no JIRA and a focus to nail down Server APIs first
Week 3 & 4
I always keep in mind the lines from the book “ THE LEAN STARTUP BY ERIC RIES”
“Instead of making complex plans that are based on a lot assumptions, you can make constant adjustments with a steering wheel called the “Build-Measure-Learn” feedback loop. Through this process of steering, we can learn when and if it’s time to make a sharp turn called pivot or whether we should persevere along our current path”
- Contract engineers have started.
- Kicked off first mini sprint.
- Decided to keep process very lean. Keeping lean process in mind and deadline, we have looked into any immediate process that do require attention.
- We have figured out that just need the following two engineering process to keep us moving fast-
a. Coding guidelines
b. Code reviews, Branching and Merging
Week 5 & 6
- Development was in full swing.
- Adopted Coding guidelines from Android open source and Apple Cocoa for iOS
- Adopted GitFlow branching and merging
Week 7 & 8
- Development was progressing well.
- Team establishes ways of working
- Recruited contract Mobile QA
- Walk through the team face to face with mobile secure programming
Week 9 & 10
- How to release build to QA (CI)?
a. Setup Jenkins server on macmini
b. Setup CI builds on Jenkins for Android and iOS
a. Adopted GitFlow bug tracking as we were already using GitHub
Week 11 & 12
• How to distribute build to internal and external stakeholders?
a. Investigated a mobile binary distribution tool in the market that allows us to automate distribution through Jenkins.
b. Decided to use Crashlytics as it was free and fit for our purpose
c. Automated the build distribution process using Crashlytics in Jenkins
d. Automated the release process
The result? We shipped the product on time with huge success but journey was not smooth. We had many bumpy moments. The success of the product wouldn’t have been possible without my strong belief in “Execution mindset”. I had exercised almost all the items mentioned in my previous post “Execution Mindset.
To conclude this blog, I just want to lightly touch on the process. Various blog posts are written and views are shared about processes. I have lived and breathed them; some effective processes and some complicated processes. In my opinion, it’s important to ship and test product features to customers as soon as possible. You can do this if you adopt the following mantra about the process:
• Work on the process during product development journey
• Process must enable us to ship a better product and move fast
• Process needs to be simple and easy to understand
• Automate processes, wherever it’s possible
• Keep process lean and move fast!