Monday, 29 January 2018

[Book Review] Scaling up - Rockefeller Habits 2.0

This book has so much knowledge to offer that I might have to forego my resolution to keep my reviews short, I'll still try. My recent obsession is with understanding how companies can solve the scale problem and that's why I picked this up, I was also hoping it will offer some insights that could be applied at ThoughtWorks as we try to scale our unique culture.
Warning: This book is a marketing tool for Gazelles, a management consulting firm that helps fledgling businesses scale up, and at times they have marketed their services subtly and on other occasions they have been quite upfront, that said, this book still offers a wealth of knowledge to draw from.
Why read?
The book is definitely worth a read since it offers frameworks to help managers align thought processes irrespective of the business they are operating, it also offers tangible tools that leaders can use to have a structured approach to manage high growth companies, and most importantly it offers examples (and context) that make concepts sticky and relatable. Another reason why I really liked this book is that it offers tons of good references of books and HBR (Harvard Business Review) articles to build deeper knowledge in specific areas (I hope to get through most of them in due course).
Most of the concepts and approaches that are shared in this book would seem common sense, but it’s mind-numbing to see so many large/small global organizations fail to implement them, mostly due to management lethargy/ineptitude. 
Key concepts that provoked my grey cells
  • Continuous investment in training programs - The author/s spend a lot of time on the importance of hiring the right people and setting the right culture for teams to perform to potential. They also emphasize on investing continuously on upskilling your staff through meaningful training programs, something that most organizations tend to overlook.
  • Cash is more important than profitability for a growing org - Cash flow is not something that naturally comes to our minds when we talk about performance, most of us tend to rely on the P&L statement and Balance sheets. In my view, the book lays down the right amount of emphasis on cash being a valid measure for success.
  • Goal Alignment across the org - Does everyone in your organization understand and can articulate the BHAG® (Big Hairy Audacious Goal)? Have you formulated a short-term target for this quarter? Does everyone in the org know how they can contribute to this target?
  • What’s your critical number? - If you get down to it then you should be able to define a critical number that helps each employee know how they are performing, there are interesting tools that have been shared in the book that can help your organization dig out that critical number.
  • Great brands don’t try to please everyone - If you try to please everyone then its quite likely you will end up pleasing no one, the book talks through examples where organizations have targeted a fraction of the market and made sure that they service those clients well and these organizations are among the most profitable in their Industry.
  • Don’t be afraid to fire unreasonable clients - Building a strong team and fixing people issues can sometimes mean that you need to fire those “unreasonable” customers who drain out the positive energies from your employees.
Also, sharing some other quotes from the book that really resonated with me.
Coming up next: Review of "The Five Dysfunctions of a Team"

Wednesday, 10 January 2018

[Book Review] Extreme Programming Explained by Kent Beck

Image courtesy: www.bookdepository.com
For the longest time I was really been intimidated by the term "Extreme Programming" (XP) because for me the words represented an extreme form of something that I had very little experience or knowledge*. That is the reason I had kept myself away from reading literature on this concept although teams at ThoughtWorks had been following the values of XP long before I joined the organization. I read this book to strengthen my understanding of the core concepts of XP and deliver the same via a workshop.

The key takeaways from the book was the emphasis on the core values of XP and the supporting role that the principles and practices play in successful adoption of this discipline. The book focuses on the "human" nature of software development and on the social dynamics (of mutual trust, respect, communication) that can make or break teams.
"values bring purpose to practices, practices bring accountability to values" Beck, Kent. Extreme Programming Explained
As a practitioner, I found a couple of perspectives thought-provoking:
  • Frequent pair rotation (possibly multiple times a day!) - In practice, we have found this to be really challenging in projects where the code base grows over many years. Sharing context efficiently with all team members becomes fairly challenging.
  • Estimation in hours - Having spent a long time trying to understand points based estimation and convincing team members & customers about its merits v/s the traditional approach of using time/hours it was a little disconcerting hearing the author talk about hour based estimation.
Overall the book is a must read if you want to start the journey towards XP but if you have been a practitioner for a while you may feel that the author misses out on presenting detailed/indepth insights on some of the important topics. Even some of the anecdotes could have been more descriptive to keep the readers more engaged and to enhance their understanding of the concepts.


* I have no formal programming education, having completed my business degree specializing in Marketing & Finance. My primary role in my professional career spanning 10 years has been of a Business Analyst.

Thursday, 4 January 2018

[Book Review] Freakonomics - The hidden side of everything!

This book has been out there for a long time now and has been on my list of must reads forever, and I am really glad that I eventually got down to finishing it.

For those who haven't picked it up as yet thinking that this would talk about complicated "economics" topics you might need to readjust that sentiment, this book is more about having a data oriented approach to understanding and solving real life problems. I also really enjoyed the insights that the authors brought about by analysing the available data. Actually, the really commendable bit is that they were able to get access to such a varied set of data.

I really enjoyed the analysis & interpretation that was offered for the sudden decline in crime rates in the US, the inner workings of gangs, and on what parenting approaches are likely to yield better results. I also liked the way the authors explained some basic concepts of statistics (variance), the examples used were simple and really hit home.

My key takeaway was that our perceptions can be really far away from the data driven reality and to suspend my judgement till there is hard data to back "well established" facts.


Monday, 22 May 2017

A Day in the Life of a Business Analyst at ThoughtWorks


A really enterprising individual got in touch with me a few weeks ago to help him understand the role of a Business Analyst, especially in the context of ThoughtWorks. He sent across a list of questions and I am posting them here along with my responses in the hope that other's might also find this helpful.

About me: In case you were wondering why he felt I would be able to answer his questions :-). I have been playing the role of a Business Analyst in multiple client engagements over the last 12+ years. Here is a link to my profile for more context.

--------------------------

What was your typical day like when you started as a Business Analyst in ThoughtWorks?


My typical day starts with preparing the physical story wall for my project, so that when the team sign’s up for the tasks for the day there are stack ranked story cards for them to address.
Then, we have the standup and team sign ups where the team shares any blockers they faced or are facing on their stories and any key lessons they picked up. If I have done a good job of explaining the business context of the stories in the backlog then the team sign-ups tends to be smooth and the team is able to sign-up for stories/tasks without much direction from my end.
You will notice that most of the activities are focussed at ensuring that we catch any issues upfront rather than later in the cycle, since the later they get caught the more costly it is to fix them, thereby accumulating waste which we want to limit as much as we can. The activities below occur on a daily basis in my world:
  • Story kick-offs - When a dev pair (we follow pair programming in all our projects) picks up a new story for development it is my role to ensure that the pair understands the business context of the story and use as many visual means (workflows, wireframes, diagrams) as possible to ensure that this process is smooth. The quality analysts and feature owners (if any) are also mandatory participants in this activity. Generally, we invest around 15-20 mins in this activity for each story.
  • BA volleyball - Once a dev pair has completed a story from their end we conduct a BA volleyball which is essentially a validation exercise where the same individuals what kicked off the story come together and we run though the main acceptance criteria of the story. If we observe any issues of bugs then the feedback is passed right there to the dev pair who work on resolving this issue before the QA’s can pick it up for automation testing.
  • Backlog grooming - Another continuous task for me is to ensure that the feature/story backlog is analysed and detailed enough to provide uninterrupted work for the dev pairs. I generally work 2 iterations ahead of the dev pairs and consciously avoid going more in the future since business priorities are ever evolving and I don’t want to focus my effort on something that might get de-prioritised.
  • Team huddles - Since we do not perform low level design of our applications upfront, the team gets into quick (15-20 min) huddles next to the work area to discuss problems and agree on a common direction, my role in these discussions would be to provide business context and also answer any business related queries. I would excuse myself (or be excused) if the discussion is purely technical, this is decided on a case to case basis.
  • Customer interaction - I have daily catchups with my client counterpart, which is either a person in the role of a Business Analyst, Product Manager or direct user. These sessions are used to analyse the next set of features, continuously prioritise the backlog by evaluating/re-evaluating the value of a feature/story, and asking any open questions that may have popped up from the team or during my own analysis. We also use these sessions to review the stories that have been detailed by us to that we can get a sign-off and incorporate the feedback (if any)


I also get involved in the below activities but these may not occur as often as the ones above.
  • Prioritization & Business Context - I use the Iteration Planning Meetings (IPM) to ensure that the team understand the current state of the project and the next level or priorities. I also use this session to ensure that the team understands the business context of the upcoming stories. I generally own and drive this meeting.
  • Showcases - Ideally, we should be showcasing each story directly to the main user group as and when they get developed, however, owing to the distributed setup that we tend to work in or unavailability of business teams from their regular activities we plan for these at the end of the showcase. It is my responsibility to ensure that we have the right audience for the showcase and the team follows a structured approach to the showcase. The actual showcase is run by the individual team members through volunteered signups, 1-2 folks from the team sign up for each showcase.
  • Retrospectives - This is again a shared responsibility but as a BA I take it upon myself to calling out when we have slipped up on this activity. The idea of this meeting is to have an open conversation about the areas of improvement and those actually going well so that we can improve as a group. You can learn more about retrospectives here.


What are the typical deliverables as a B.A?


The following become the key deliverables that come as part of my job:
  • User stories -  Well analysed, with as many visual representations as possible and well rounded AC’s. Ideally these should always be peer reviewed if you have another BA on the team, you can refer to some tips on pairing for BA’s here.
  • Feature overview - I generally create a powerpoint deck or mindmap when I get into discussions with the business stakeholders to get more details on the next set of features to be picked up. This becomes a document of reference as we build on the feature and again having visual representations on this is key for structured discussions with business stakeholders.
  • IPM/Showcase decks - When having iteration planning meetings or showcases with the customers I generally use a deck and this again becomes an important deliverable.


What do you love and hate(if any) most about your job?


I love:
  • Interacting with customers and solving the complex problems that they throw at us.
  • To break down complex problems and present them in an easy to understand language/format.
  • Getting to dab into multiple business domains and understanding the modus operandi of different companies/business processes.
  • Working with high performing teams and watching people grow in their careers, and if I have a small contribution in their evolution then I am even more thrilled.
  • Being challenged by co-workers and them setting the bar higher for me on a continuous basis.



I hate:
When the project comes to the end of its lifecycle and the complex problems tend to come by once in awhile.

Is it necessary that you know enterprise applications to be able to offer a solution to a problem? Or do you get help from others? Who?


Generally, the enterprise applications exist to support business processes, in my discussions with business stakeholders I try to focus my questions on the business processes rather than the systems. However, if I need to understand the enterprise systems since they are intrinsic to me solving the problem then I would get into understanding the system using the following approach:
  • I would use the help from the key SME who knows about the system and then sit with them to get an overview.
  • I would also get myself access to a test environment where I can play around different scenarios to build my understanding.
  • I would document my questions and then approach the SME for answers.


I was wondering, what books, articles or courses helped you the most in preparing to be a Business Analyst?(I've already read BABOK 2.0, and many articles online)


I think the general lessons I learnt in my MBA helped me a lot in understanding business contexts and keeping my focus in that area. Apart from this, I would recommend a few books which would hopefully help provoke some thoughts:
  • The Goal - I really liked this book since it explains a lot of important concepts of how work should flow in a very lucid manner.
  • The Phoenix Project - This is similar to 'the goal' but deals with concepts in the IT world and explains how a well-oiled IT set-up should look like for large enterprises, again explained in a very fun novel-like format.
  • Crucial Conversations Tools for Talking When Stakes Are High - This book has helped me deal with conversations both in the personal and professional space. I recommend it to everyone! As a BA you are expected to keep the team and the customer in good humor and some of the tips in this book, practised over a period of time, will really help you deal with difficult situations.
  • Lean start-up - Developing new products or enhancing existing ones is becoming very different now and this books explains the techniques Product Managers are using to make decisions. It's important to understand this because as a BA you will be working closely with client Product managers or even in some situations playing the role of a product manager in the absence of one.


What type of work samples or portfolio should I be trying to develop as I try to move into this career?


Areas where you are solving complex business problems by using a mixture of systems and human thinking should help you make a case for moving into this career.

What kind of exercises would you recommend that I can engage to better practice being a B.A?

Solving case studies that look to improve the business process for an organisation could help, also, presenting such case studies and their solutions in an easy to understand format will also help.

In a case study for a Business Analyst, what is usually being asked as a deliverable?


This is what I would look for:
  • Ability to ask questions to understand the complete breadth of the problem. (Who are your customers, how will you reach out to them, what is your revenue model, what is your differentiator, what is your budget, what backend systems/operations have you put in place, how soon do you want this to happen, what is the state of your current IT systems, how did you do this so far etc.)
  • Based on the above the ability to break down the problem so that everyone is on the same page (draw it out or bring clarity in your speech)
  • Provide a realistic solution or options based on the inputs you have received and also the ability to think on your feet it you see any constraints.
The solution is not the most important thing that is being judged, the structured approach that was taken to reach till the solution is generally the clincher.

Is it necessary for me to learn Agile if I want to be a B.A in ThoughtWorks?



You need to understand the essence of agile, but it is not important for you to be a seasoned practitioner, we understand that agile practices differ across various organisations and you will undergo training programs once you join to help you understand our brand of agile.

Is there anything you thought I'd ask that I didn't? Anything else you'd like to share?

I'll just share my thoughts on how the role has evolved for me over the last few years and what I believe this role is about:
  • Central force - In my view, a Business Analyst invariably tends to be the central force around whom the team revolves, and in self organizing teams they could also double up as a Project Manager, this means that you need to be on the top of you game at all times. You need to understand not only the stories and backlog but also be the one that can push the team in the right direction when the focus wavers, you need to take ownership when you feel that we are not continuously improving.
  • Build a Self organizing, high performing team - If you are going to achieve a team goal it is important that there is collective ownership in the team and you need to ensure that the team members are continuously enhancing their skills. This requires you to set clear goals for folks on your team and helping them work through their feedback.
  • Make yourself redundant - As a seasoned BA on a team I see my role as making myself redundant, which means that I am mentoring other BAs to take on the higher responsibilities and improving themselves. This is the only way I have figured out that I am going to elevate my learning and growth curve.
  • Continue to learn - This is definitely cliched so I am not going to spend a lot of time one it but mention it here since this is the only way to remain relevant. I wish I could do better at this everyday!

Saturday, 20 May 2017

Cure for Shin Splints Pain

I enjoy my daily morning run for the perfect start it offers my day, but the recurring problem of shin splints had almost forced me to give up. 

If you google search "Shin splints pain" you will find a lot of information from relatively credible sources like webMD. However, most of the information that I came across on the internet did not really help, for instance one of the posts suggested that I run on soft running surfaces like grass, another suggested that I keep my posture absolutely straight during the run and land my foot on the front half of the foot. I persisted with these theories/recommendations for a while but none of them worked for me and the pain inevitably came back.


WHAT WORKED?


One of the reasons cited for shin splints is weak calf and hip muscles due to which the strain caused by the foot hitting the ground falls directly on the shin (Tibia) muscles. I believe this to be true since I have even observed the difference between my calf muscles (size & shape) and of runners who don't suffer from this problem (can't observe hip muscles without being labeled as a pervert, so left that out😀) .The following routines have helped me so far in avoiding the pain from shin splints while still enjoying my morning run.
Calf stretch (30 sec, 2 reps each foot)


WARM UP & WARM DOWN


Ensure that you warm up before the run by doing the necessary stretches for your calf and hip muscles. The one that I do before and right after the run is to push the front half of my foot inwards and hold that for upto 30 seconds for each foot, I repeat this twice. I also stretch my hip and thigh muscles with some easy stretch exercises


Remember to repeat the same stretches once you are done with your run.


Another stretch exercise (5 reps,
breathe in when you stretch up
and breathe out when touching toes)



BUILDING CALF STRENGTH


In order to build calf strength I use the technique displayed in the video. All you need is a stair and some support to balance yourself during the exercise. I generally do 25 reps x 3 times for each foot.
You can also do other variations to build calf strength like standing straight and raising your heels by supporting the weight on your toes and then resting back, try this while holding weights for better results.




BUILDING HIP STRENGTH

Leg raises, hold for a brief second on top for better results

In order to build hip strength I use a simple floor exercise described in the image below, it requires you to lay down on one side with one of your hands resting your head. Then raise the top leg as far towards the ceiling as you can and hold for a brief second before bringing it down. I generally do 25 reps * 2 times for each leg. Again there are multiple variations of this exercise and your can find some suggestions here.




PRECAUTIONS


As one goes through the above routines it is important to bear in mind the following:
  • Don't do these strengthening exercises just before a run.
  • Do these strengthening exercises regularly (if not daily).
  • It takes time to build these muscles so don't rush into your run after a couple of days, I suggest atleast a weak of strengthening before venturing for a run.
  • Once you resume running, build distance gradually.
  • Posture is really important, so keep you back straight (eyes focussed on the horizon) and always land on the front half of your foot.
  • Your muscles react better if they are trained regularly, so try to be regular, even a 20 min morning run can do wonders.
In a separate post I will share how I used a simple technique to shed 8 kilos over the last 6 months.


Note: I am not an expert, I am just sharing my experiences based on my specific conditions, you should ideally consult a physiotherapist or a sports medicine specialist before trying any of this.

Friday, 1 January 2016

Looking beyond the Odd-Even Rule

As Delhi braces itself for the implementation of the Odd-Even rule to help decongest the roads and bring down the extremely high levels of pollution in the city, it's also important to think about some of the other solutions that will help smoothen the flow of traffic.
If you have driven (or have been driven) on any city in India you will agree that one of the main reasons for traffic jams (apart from the high number of vehicles on the road) is the complete lack of adherence to basic rules of driving like sticking to lanes, following traffic lights, etc. In my view if we  are able to convince/coerce people to follow some of these simple rules then a lot of the traffic congestion can be eased. I derive this understanding from my visits to developed countries where people (including Indians) tend to follow the rule of law and that really eases the flow of traffic and eases the stress of driving on the roads.

How to get people to follow traffic rules?
Fear of law. Period. That's how people in developed countries are kept in check, because they know that if they mess up, there is a high probability that they might be caught and penalized heavily.
I can hear you all saying "Well we all know that!" and "It's easier said than done", and although I may partly agree to your outbursts, I still believe it may not be difficult to implement this if we can cross the threshold of political and bureaucratic lethargy.

Here is the plan.

  1. Identify a few key junctions/points around the city (and keep these a strict secret)
  2. Install high resolution video cameras that record the traffic movement and relay to a central server.
  3. Create a team of 10-15 traffic officers that pick a random time of the day and analyze the footage to identify offenders.
  4. Send challans to the offenders with photographic evidence, also use newspapers to highlight the offenders that were caught to further drill the point among others.
"The Plan"

What would it take to implement this?
  1. High resolution cameras
  2. Storage space for the recorded footage
  3. Video analysis software to go through the footage
  4. Team of slightly tech savvy traffic officers
  5. Software to record and generate challans (If one doesn't already exist)
  6. Heavy fines for offenders.
  7. Co-ordination among traffic and transport departments.
  8. In case of Delhi, political will from Central (owns traffic police) & State (owns transport) govt.
There will be some hurdles in the way and I am sure we can iron them out to create a sense of fear of law. For instance, you might say:

"This is going to be really expensive"
[Response] Well, we can start small, maybe just with 15-20 key places for starters and then ramp up slowly. Cameras and storage space needed of this small number may not be cost inhibitive, if these places are kept a secret then even this small number may be enough to keep people guessing and instill the fear of law among people. Also, if this is successful the benefits may far outweigh the costs.

"It's going to be really time-consuming to review the footage"
[Response] Not all the footage needs to be analyzed, the traffic officers can pick random periods every day and identify the offenders during that period, they don't need to analyze the footage for the entire day. Again, the idea is to instill fear that if you don't follow the law then you will be caught.

"How will you penalise out-of-town vehicles"
[Response] This is something that I still haven't been able to work out. Does anyone have any suggestions?

"People may not pay for the challans/fines generated from an "automated process" and still keep driving around"
[Response] - To begin with, publish the car numbers that have been issued fines on a website. Also, allow people to pay for these fines online. For any challan/fine that is unpaid for more than x days the fine amount is doubled and if it remains unpaid for an year then visit the address and impound the said vehicle, also you can enforce insurance companies to not issue insurance policies to such vehicles until their fines have been cleared.

This solution is not new and in all probability has been suggested by someone else, but I still think its worth trying in addition to the other initiatives that would help.



Saturday, 24 October 2015

The 10 Year Itch!!

In 10 years, the building has moved, the profs (quite a few) have left, the hairlines have receded, and the beer bellies have flourished, but the camaraderie has remained intact and so has the joy of exchanging tons of those memorable stories.

What started as a casual conversation on a WhatsApp group culminated in the 10 year reunion for the batch of 2003-05, obviously none of this would have been possible without some very industrious batch mates and the alumni office at GIM. Around 30 of us made it to Goa from all over the globe with some of us coming from the US, Europe, and the Middle East to make this reunion a grand success and help us relive those wonder years.

Just one of the breathtaking views from the new campus
The reunion kick started with an informal get-together the night before the main event at GIM, which followed the next day.  Given the late night, it was amazing to see that everyone was up and ready in the morning to take the longish ride from Candolim to the new campus together. When the talk of moving to a new campus was initiated a few years back we all thought that it would be really difficult to find a location that can come close to the Ribandar campus, but the new campus is not only located in one of the most scenic places in Goa but also boasts of ultra modern facilities like centrally air-conditioned classrooms, well-maintained hostel accommodation, in-campus faculty housing, a huge auditorium, tennis and (indoor) badminton courts, a well equipped gymnasium, and (my favorite) a huge swimming pool.

Prof. Parulekar also ran us through the other things that have changed since we left campus. The batch size is now 240 as opposed to 110 in our days, we also have more than 50 full-time faculty to support this growth. GIM is also involving itself more actively in the industry and picking up consulting projects to supplement the brand. Probably the most impressive initiative is the outreach into the local community through various touch points and with an overall objective of sensitizing students to the lives of the vast populace that is underprivileged. We all left from campus with the overwhelming confidence that the institute is poised to take itself to greater heights in the near future.

The reunion rounded-off with a grand party in the evening where we all got down and boogied like the clock had never moved. If your batch is next in line for a re-union then, don’t think, just do it! I promise it will be worth it! 

And again, a BIG THANK YOU to Divye Goel, Ajay Chopra, & Mohit Golcha for pulling us all together and to the folks at the GIM Alumni office for all their leg work. This wouldn't have been possible without you!
View of the faculty housing & beyond at the new campus

The one's who made it!