Sunday, August 7, 2016

Case study: TLI Session 2

Introduction

This is a case study of a project under a time and materials contract with legacy systems inherited from other vendors. The case revolves around the different challenges that a relatively new company might face while trying to provide a solution to a client while working best with other vendors.

Initial Challenges

Synopsis

In the initial stages of the project, the team faced the following challenges:

  1. The requirements were changing and evolving frequently
  2. The deliverables from one of the other vendors were incomplete
  3. There was a lack of visibility beyond the current sprint
  4. There was no controlled cadence for the project
  5. There was a disconnect between the technical architecture, user experience and development units within the team
  6. The team was newly assembled for this project in a new environment/location
  7. A new project management tool was used with little experience in the team

Impressions

From the outset, it appeared that the project had a lot of volatility not just because of the ever changing requirements but also because of the different vendors involved in the project. I think that it should become imperative to involve the client teams in getting the requirements well documented. Agility in a project will not help if the participants are not disciplined enough. The project team should have a vision about what the project aims to achieve. Having a new team and new tools are always overwhelming and it is very challenging to get the whole team to adapt to change.

Mitigation

Synopsis

In order to overcome the challenges, the team followed the following approaches
  1. Set strict contraints for the process and coach the team on sprint rituals
  2. Built a deeper product backlog and synchronized the UX and Architecture teams with the backlog
  3. Followed a rigorous development, QA and release build cadence
  4. Tracked the velocity of each sprint and factored in non-development activities. There was capacity set aside for support, DevOps etc.
  5. Reorganized the team based on the architecture. There were separate scrum teams and a scrum of scrums
  6. Decompozed stories to a more atomic level to enable independent contributions with low inter-dependency

Impressions

The steps taken by the team are pretty impressive considering the whole team had come together from different locations in the country. However, this points to a common observation about the advantages of having a colocated team over a distributed one. This may have helped in getting a stricter adherence to the cadence. Organizing the team based on the different systems helps in some large projects in cutting the time spent in meetings down as well as improving productivity. However, personally, I feel that this also reduces visibility across teams and may cause unnecessary antagonism between members of these separate "teams". It will be a balancing act for the technical manager to handle this effectively.

In Hindsight

Synopsis

These are a few things that the team wishes they had in the beginning of the project
  1. Regulations requirements
  2. Robust unit testing and code coverage mechanisms
  3. Had a software architect since the beginning
  4. User stories with defined acceptance criteria
  5. More focus on the design and documentation

Impressions

These are good lessons to be learned from a process perspective and must be applied to future projects. It is important to understand from a business perspective what regulations apply to the product and must be stated explicitly since the beginning. Having an experienced systems architect from the beginning will always benefit this. It is always important to set all expectations straight with everyone in the team as well as the client to get everyone on a common mission.

Takeaways

Synopsis

These are the takeaways as noted by the team for tech management
  1. Understand the control and constraints of the project and adapt accordingly
  2. Stay as agile as possible, focus on moving ahead and get everyone on board
  3. Define the user stories and acceptance criteria
  4. Collaborate with the project management and the rest of the team
  5. Delegate as needed and develop trusting relationships
  6. Be cognizant of political undercurrents while working with other vendors

Impressions

Each software development or maintenance project is different from other projects in some way. However, there are similarities between them too. This enables a technical manager to form a framework akin to software product line development. Adapt to each project's control and constraints while keeping the core agile methods common. 
Having a collaborative environment where every participant shares in the vision and becomes a stakeholder in the success of the project will feed into the success of the project itself. A technical manager must delegate responsibilities to the right team members and empower the team members to perform independently while still disciplined and aligned to the processes.
Politics exist in most professional environments. This may include the team itself, the client teams or the vendor teams. A technical manager must be able to sense these dynamics in the relationships and must perform a tight-rope walk to get the job done while keeping most of the parties fairly satisfied.

Monday, July 11, 2016

A Toastmasters Club Experience

What is a Toastmasters Club?

A Toastmasters club is a club whose members meet in order to improve their speaking and leadership skills. Each club must be recognized by Toastmasters International, the parent organization which creates the framework and rules by which each club operates. At the time of writing this, there are 15,400 clubs in 135 countries. For more information, please visit https://www.toastmasters.org/ .

My Experience

In my search for the nearest Toastmasters Club, I found the Chester County Toastmasters Club #946. I sent an email to the coordinator about a guest visit and found that the club was very welcoming to guests. The next meet would be a special Summer Solstice meet and was scheduled to be in a local park as opposed to their regular venue in a school. I was interested to see how the members will be able to elocute in an open environment with uncontrolled disturbances.

I reached the park a bit late due to a missed turn which landed me on the highway. However, because of the special outdoor session in the park, the members had participated in a pot luck dinner arrangement. The actual session started after a delay of about 30 minutes.

The meeting started with the presiding officer calling the meeting to order by welcoming the guests (including me) and introducing the invocator. The invocator quoted an inspirational thought of the day and handed the stage back to the presiding officer. The presiding officer made any announcements and then transferred control to the designated toastmaster. The toastmaster reviewed the agenda then invited the members who had special roles for that evening. The following are the meeting roles:

  1. Word Master: The word master introduces a word of the day and uses it in a sentence. The challenge for all speaking members is to incorporate that word in any of their speaking opportunities.
  2. Ah Counter: The ah counter listens specifically for unnecessary and repetitive fillers, transition words or phrases.
  3. Grammarian: The grammarian makes note of any interesting phrases or vocabulary as well as grammatical errors.
  4. Timer: The timer times speeches, evaluations, and table topics and provides a report at the end of the speech.
  5. Videographer: The videographer, when requested, records the speech for a member.
  6. General Evaluator: The general evaluator comments on the overall meeting organization and introduces individual evaluators.

This was followed by the formal speeches. For this meeting, two members had prepared formal speeches and presented. Everyone in the audience anonymously scored the speeches.
This was followed by the evaluations by individual evaluator. Each evaluator was paired with a speaker and was expected to summarize and evaluate the speech by that speaker. The audience scored the evaluations anonymously.

This led to the introduction of the table topics by the Table Topics Master. Table topics are spot topics on which participating members are expected to give a 1-2 minute speech. The table topics master gave the participant a choice of a topic he introduced or a random topic from a shuffled deck of index cards.

In the end, each role presented their reports for the evening. The guests were asked for their feedback. The VP of education made a few announcements and asked for volunteers for filling the roles for the next session. The presiding officer made further announcements and adjourned the meeting.

What Did I Gain?

I found the overall experience of being at the Toastmasters Club exhilarating. It was great to see members offer constructive criticism without being rude or disrespectful. Getting immediate and specific feedback is always beneficial to an aspiring public speaker.

I believe that a leader should be able to present confidently and concisely to an audience of any size. In order to further my leadership skills and improve my public presence, I have decided to become a member of this chapter of the Toastmasters club.