Part 6 Workplace Challenges


Part 6 Workplace Challenges


77. Visiting Cards

One of the projects I contributed to during my initial years was a contact management system. It was about porting the whole system from dBase II to dBase IV.   Starting mid-80’s until mid-90’s dBase was a very popular database management system. In fact, it was one among the first and most successful database management during those days.  I had some experience in dBase and UNIX and that is what qualified me to take up the porting project.  If you know, most porting projects are one-man projects.  As you can guess, I was the only team member on my project.  And that too on a part-time basis.  I spent 4 hours per day and attempted to complete it in five days.

When I started on this project, I could understand that the earlier system was developed by someone couple of years ago but it was not implemented. There were no active users. There we no bug reports.  I moved the code base to dBase IV and resolved all compatibility issues.  Many of those issues were very small but irritating ones.  Luckily I was all set to complete my work a day ahead of our plan.

My boss came to me on the fifth day and handed over hundreds of her visiting cards and wanted me to enter all of them into the new system.  She wanted to give a life to the system. She wanted to demonstrate the system – with live data, to her administrative assistant.

When this task of entering data came to me, I was hesitant but understood the crux of the matter. Some of my friends did not like that idea, as data entry was a task meant for someone else in the organization.  I had no time to rethink or burn the bridges.

Fortunately, I had undergone a short course on typewriting when I was in school. So, I was faster and accurate than anyone.  More than that, I was there to make a difference. My boss had the trust to reveal all her contacts to me by sharing all her visiting cards.

I took it. It was not exercising my brain in anyways over those two hours on a Friday afternoon.  Nevertheless, I came across a handful of interesting bugs and fixed them too. That step assured us of a smooth roll-out.

Two years later, when Oracle relational database management system entered Indian IT industry, I was one among a small group of engineers selected to undergo a two-week training program facilitated by Oracle – yes, those trainers were from ORACLE Corporation, Redwood Shores.  After this training, I built the next version of contact management system on ORACLE 6.0.

Do you believe in seeing challenges as opportunities?


*-*-*-*-*

78. Fresher’s Aspiration

Later in my career, our team recruited several fresh engineers. One of the questions we used to ask – we do that even today, was to understand the candidate’s aspiration. That day, my colleague and I were interviewing a group of fresh engineers one by one.  As our day ended, we observed one thing. Almost 90% of the candidates aspired to develop something from scratch.  Yes. The answer sounded like, ‘I want to develop something from scratch’.  What is that something? There was no concrete answer or options from anyone.

According to industry statistics observed by Capers Jones, 80% of software projects in our industry are maintenance or production support project. That is the reality.  That applies to organizations of all sorts including product development companies, IT services companies and MIS departments in big corporates.

Aspirations motivate us to accomplish great things in life. When it comes to working in organizations, we must understand the ground reality and embrace what is in store for us. Or go behind our aspirations, take the harder path and experience life.

This discussion does not stop at interview rooms. Aspirations keep us alive.  We constantly validate our aspirations. My team members have met me several times to seek ‘development from scratch’ kind of projects. I have done my best to accommodate them.  Meanwhile, I have encouraged them to come up with ideas and implement some of them on their own.  These days, every one of us have a computer. Gone or those days when we used to timeshare computing resources.

If you aspire to build a new product or application and if you are lucky, you get that opportunity at work. Else, take the initiative to try it from home after work hours or during weekends? Why not? Path breaking products emerged from garages.   And many organizations encourage when you demonstrate your ideas. When you do that, opportunity will come on your way!

Aspire! Understand the ground reality! Never give up!


*-*-*-*-*

79. Transformational Progression

Sometime ago, when one of my colleagues and best friend Vikram was managing a team, an interesting incident happened to one of his team members. Vikram had some expectations on his team member who was in a dilemma. A sequence of events unfolded in his team member’s career subsequent to his meetings with Vikram. That inspired me to narrate a story on that as told by Vikram ‘s team member. I named it Transformational Progression.

Here it is for you.

I am alone at my desk after work on a torching summer day.  My colleagues have gone home. I like the silence around me. I want to stay longer.  This has never happened to me in my previous years in this organization.  Inside me, it is a strange feeling.

Scanning through my emails, I see an old email from my new manager, Vikram.  This email came to me two years ago when I had completed my first project and was waiting for the next.  He wrote that email to discuss with me about my next project that day at five in the evening. I vividly remember what happened that day.

Vikram, a well-known manager and expert, was strict and stubborn I thought as I entered his cabin a minute before five.  He greeted me tersely, closed the door and asked me to sit.  I was restless and curious.

“Anil, we are going to start a new project. And I think you have a key role to play here.”
I wanted to interrupt before he started telling me about the new project. I wanted him to know my aspiration. And I did that.

“Vikram, I wanted to talk to you too. I am interested in some work that involves design and development in Java or Python.  I am good at these and that’s what I am interested in.”

“Well, Anil. Listen to me.  I understand your interest.  All of us are software engineers. We are not specialists in certain areas.  We serve our customers. We do what is good for our customers and their end users.  Right?  This new project involves technologies related to your areas of interest but not exactly Java or Python.  This is about designing and developing a test automation framework.  You are going to use programming languages which are similar to Java or Python.”

“Vikram, this is not my core area. I am concerned. A project like this would ruin my career.”
“Anil, Think! You have spent less than three years in this industry. You have more than 25 years of runway. What you are going through is sort of an infatuation. You have some more years to transform and understand your profession.  Doctors do not choose their patients. They consult, provide first-aid and save patients. In certain cases, they refer their patients to specialists. I think this project is going to give you an edge over your experience and an opportunity to prove what you are and grow.  In no way, it will ruin your career or degrade your resume.”

With no words, I remain silent nodding my head. And he continued.

“Professional ethics are in every field. I am sure you must have read through software engineering ethics.  We are here to act in a manner that is in the best interests of our customer consistent with the public interest.  This is a strategic project of our customer. Your contribution is going to make a difference.“

What he mentioned made sense. But I was reluctant. I wondered if he was acting on his self-interest and trying to convince me. I remembered one of my friends came across a situation like this, found a job elsewhere with some pay rise and resigned a month ago. How about that option? A pay rise!  I wanted to take some time and think. Why not? After all, this world is full of opportunities for someone like me.

I paused there for a moment before I responded.

“Vikram, is it ok if I come back to you tomorrow morning?”

“That sounds good to me Anil. I am sure you will think over it and grab this opportunity.”

I know. Vikram believed in collective decisions. He never pushed his decisions with his power of authority. That was the culture here.  All managers were enablers and coaches.

I wanted to discuss this with my father or elder brother but decided not to. I wanted to think and decide it on my own.

That night, I reflected on my meeting with Vikram. He was right.  He believed in my capability and showed genuine interest in telling me what is right. He did not push me with his authority. He was ready to help. His point of view made sense!

The next morning, I went to meet Vikram.

As I entered his room I looked at a quote written on his white board.

“Opportunities don’t often come along. So, when they do, you have to grab them.” –Audrey Hepburn

I smiled.  We had a very short meeting and I accepted the new project.

Working on that project was an exciting journey. I could collaborate with my customer team – a team of developers graduated from some of the finest international universities. I learned a lot about the architecture and design of our customer’s product. With my team members, I did the right things to implement a world-class test automation framework.

Meanwhile my friend who got a job elsewhere found his new job uninteresting.  He made another hop. Whenever I met him he was jittery and restless.  A year after he came to meet me. He was confused and concerned about his growth and wanted to come back.  All, I could do was to forward his resume to Vikram.

Until we accept our infatuations we are bound to remain infatuated. That is my reading of my friend’s situation.

Today, I am sitting alone. I am enjoying the silence around me in my office.  I must tell you why.

As I entered my work areas this morning, Vikram and my team surprised me with great welcome.  They took me out for lunch, and presented me some gifts.  Late in the afternoon, our vice president came by to congratulate me for a reason unknown until Vikram announced my promotion and gave me the promotion letter!  Yes!  A promotion!

I am overwhelmed. It is going to take me some more time to digest. I am happy. I think I did the right thing.  Inside me it is a strange feeling. I call it ‘transformational progression’. I am going through this feeling or I have gone through this.  And it is memorable one!  Vikram helped me move out of my zone of infatuation and guided me through this transformation!   I am going to stay an hour more, enjoy this silence around me before I go home.


*-*-*-*-*

80. Five years’ .Net Development Experience

I have seen Anil’s dilemma in everyone. Once my team member with five years of development experience in .Net platform was stuck. He was stuck with the ambition to hold on to his area of specialization. He wanted to continue. He had opportunities to learn other similar technologies and become an architect. He had opportunities to develop and maintain software across multiple platforms and devices. He was stuck. He wanted to continue what he did.

I shared this earlier. Let me repeat. When I began my career in 1988, I wrote programs using the C programming language. In 1991, I acquired skills in the UNIX operating system and Oracle RDBMS. The next cycle of technology change came sometime during 1996, with the release of Netscape Navigator, followed by several application servers. In 1998, I picked up skills in object-oriented programming and Web technologies. That helped me stay current in my profession. Later, I went through training programs on project management and general management. Of course, I am far from alone in this ongoing learning — it’s a way of life for all IT professionals.

Learning and gaining experience in multiple technologies and platforms is a good thing.  Some of us get to become specialists only if our area of expertise – the platform or technology does not become obsolete.  I agree. There are veteran COBOL specialists, UNIX experts and C geeks. They are minority. They are specialists.  Their rules do not apply to the majority because we are in an industry that is evolving with immense innovation as well as equal amount of obsolescence.

Understand the industry trends.  Anticipate customer needs. Think beyond the programing languages, databases, tools and platforms you know. Renew yourself. Ultimately, what you deliver is what matters!

*-*-*-*-*

81. Landing in a Troubled Project

‘What can I do when I land in a troubled project? Those who made it a big mess are out of it. How can I deliver?’  This question came to me at the time of writing this book.  Landing in a troubled project is familiar to almost all of us.  It happens. We don’t have any control over it unless we know it up front and have all mechanisms to turn it around and deliver.

What happens in the ICU of a hospital when a patient is brought in? It depends. It depends on the hospital, the professionals, and the infrastructure etc.   Even when there are experts with deep experience they come together, collaborate and take decisions.  Meanwhile, they never ignore the immediate steps.  Sometimes they don’t have time for elaborate analysis and discussions. They are led by their tacit knowledge.  They carry a shared vision and act. Meanwhile, the news spreads to all close relatives and friends. They are the stakeholders. They need to know.

You know that you have landed in a troubled project.  What are the troubles? Do your team members have the same level or perception? And how does it fit with the reality or things happening on the ground?  When you land in a troubled project, you need expert help.  Either you need to be an expert or you have to have experts in your team to help you.  The first step is to take the project into ICU.  Let me accept, we don’t have ICUs in our industry but this step is about stakeholder communication.  You have to communicate the bad news so that none of your stakeholders carries a different perception on your project.   The next step is to bring your team members together, get expert help, collaborate and take decisions.

When there is no acceptance or no expert help or delays in decision making, you know you can’t turnaround and improve things.  That is a red signal!  Before it becomes a red signal, raise an alert or carry a red flag to turn things around.   When you do this you can improve the chances of heading in the right direction.

*-*-*-*-*

82. Bug Bash – Making a Winner

In early 90’s one of my colleagues and a friend moved from India to work in the US.  He had several years of experience after his graduate program in science and he worked hard to secure a permanent job in one of the top five product engineering companies in the Silicon Valley.   He specialized in quality assurance and testing. He learned and mastered automation.

During the month of November, weeks after he took charge in his new job, he was in an important meeting with his product manager and team members. One of the products meant for its first release in January was buggy and unstable. That was the first version of the product on Windows 95 operating system and it included several user interface elements that can be operated with mouse clicks. And it has to support the computer keyboard too.  The CEO had announced the release date to the industry and potential customers.  For the product management team there was no other option to deliver a quality product on time. And this meeting was to come up with a plan of action to improve product quality and meet the release timelines.

The product manager suggested a contest in which all team members would participate. The contest was to do a ‘Bug Bash’ – or test the product as much as possible and find as many defects.  It was going to happen over a weekend so that defect fixing can happen over the subsequent weeks.
Those days, working from home was not common because of lack of infrastructure.  Computer users were learning how to browse the internet using one of the world’s first browsers released less than a year ago.  The term Virtual Private Network (VPN) was getting familiar in pockets.

My friend saw that as an opportunity while many of his colleagues decide to find as many bugs as they can by spending some hours per day.  He was passionate. He wanted the customers to win. He wanted his quality assurance manager to succeed. He remembered what his CEO had committed to the world. Everything else became the next priority to him.

He had known basic concepts and functionality of this product but he was not well-versed in the new version. That did not deter him. He grasped it in couple of days and went on to test it over the weekend. He stayed long hours and tested the product.  He found more than one thousand bugs.  He was the topper. His manager awarded him a gift voucher and a citation.

I remember him telling me this story.  He was thrilled about the number of bugs he found and how it helped them release the product.  He did not do it for the gift. He did it to make winners out of his customers! He grabbed that opportunity.  He delivered the right thing.

When is your next opportunity to deliver?


*-*-*-*-*

83. Understanding the Edges

You can make a difference to what you deliver when you understand the notion of edgecraft.  In his book Free Prize Inside, Seth Godin presents the concept of edgecraft. In everything what we do and deliver there are edges.  Find an edge and go all the way to the edge and make a difference.
Here are some examples.  When you deliver, create a remarkable release note that can help your customers.  When you deliver, create an impressive demo kit or a video that can make the lives of your consumers simple and easy.  Or go with your deliverable and deliver a training session that stands out as a differentiator. These are a few simple examples.

Read Seth Godin’s book. His book is a great source of information on how you can differentiate what you deliver by ideating and implementing simple things.

When you understand and practice edgecraft you are noticed.  You get an opportunity to identify the right free prize to your customer.

In project teams, an effective and efficient knowledge transfer process enables smooth delivery. Writing a clear and concise bug report can improve efficiency. Being there for customer can add value to what you deliver.  List all the edges and think how far you can go and demonstrate your skills in edgecrafting.


*-*-*-*-*

84. Communication Woes

We were in a project-kick of meeting of a large mission critical maintenance project in US. In his concluding remarks the vice president of our customer said, ‘One thing is very important to succeed in this project. In fact, it is essential for every project. It is communication!  Communicate well to improve efficiency. Good luck!’

Our team returned to India. Couple of months after this meeting we were moving into steady-state operation. Our team members were capable of identifying and fixing software defects.

That is when this email interaction started.  Rahul, one of our team members in India wrote to John. John was the tech lead working with our customer in Cincinnati, US.

From: Rahul
Sent: Monday, February 11, 2002 6:19 PM
To: John         
Subject: Database Trigger Issue – 3456

Hi John,

Today I tried to fix the db trigger issue 3456 for order_details table.  However, when I recreated the trigger I got an error that needs to be resolved by the database admin.    Hence this will take two more days to complete.  I will update you tomorrow.

Regards,
Rahul

The next day morning, Rahul saw a response from John.

From: John
Sent: Tuesday, February 12, 2002 10:00 PM
To: Rahul        
Subject: Re: Database Trigger Issue - 3456

What is the error number?  Have you raised a help desk ticket to the DBA team?

Regards,
John

Rahul was busy working on another issue throughout the day.  The next day, he responded to John few minutes past six in the evening.

From: Rahul
Sent: Wednesday, February 13, 2002 6:19 PM
To: John        
Subject: Re: Database Trigger Issue - 3456

It is Ora-3412.  Helpdesk ticket:  234598

Regards,
Rahul

Probably John was busy with something else. He wanted to know the status and responded the next day.
From: John
Sent: Thursday, February 14, 2002 10:00 PM
To: Rahul        
Subject: Re: Database Trigger Issue - 3456

What is the status on this?

Regards,
John

Rahul responded on the same day!

From: Rahul
Sent: Thursday, February 14, 2002 6:19 PM
To: John         
Subject: Re: Database Trigger Issue - 3456

The help desk ticket got resolved today. I fixed the issue and included it in the build.  It is working fine.

Regards,
Rahul

John verified if the issues was fixed and wrote to Rahul.

From: John
Sent: Friday, February 15, 2002 10:00 PM
To: Rahul        
Subject: Re: Database Trigger Issue - 3456

Pl verify if the issues is fixed.  I am not seeing the expected behavior.

Regards,
John

When Rahul received this mail on Friday, he was too busy with two other issues. He did not respond until Monday and his response was very crisp.

From: Rahul
Sent: Monday, February 18, 2002 6:19 PM
To: John         
Subject: Re: Database Trigger Issue - 3456

I fixed the issue and tested it.  It is working.

Regards,
Rahul

This did not help John as he could not understand when this issue was fixed. Rahul’s response was not detailed enough. John responded to Rahul.
From: John
Sent: Monday, February 18, 2002 10:00 PM
To: Rahul        
Subject: Re: Database Trigger Issue - 3456

What was the error? Did you fix it yesterday? Or just tested it again?
Can you please send me the details?

Regards,
John

Obviously with frustration, John did not stop there. He wrote this mail to Amit - Rahul’s manager.
From: John
Sent: Monday, February 18, 2002 10:30 PM
To: Amit       
Subject: FW: Re: Database Trigger Issue - 3456

Hi Amit,

Could you please call me to discuss this?  I think there is a violation of CM process & I am concerned about the clarity of emails as well.

Regards,
John

Amit tried to reach Rahul on his mobile phone but he could not. Obviously it was half past ten in the night.  Before calling John, he wrote this email to Rahul.
From: Amit
Sent: Monday, February 18, 2002 10:32 PM
To: Rahul  
Subject: Database Trigger Issue – 3456 - MEET ME IMMEDIATELY

Hi Rahul,

I understand that there was some CM issue and your email to John was not clear enough.

We need to discuss this. Meet me.

Regards,
Amit

This week-long email interaction resulted in customer escalation.  Amit had to intervene and work with Rahul in setting things right.  In a team meeting Amit put forth the following three points to avoid such communication woes.

In all forms of communication including written forms such as emails,
  • Ensure 3Cs.  Be Clear, Concise and Complete.
  • If the issue is not solved even after 3 hops, talk over phone to resolve the issue.
  • Use the bug tracking or issue tracking system so that pending issues are visible to everyone in the team.

I am sure you can relate this with something similar from your experience. Some of us are techies. In doing multiple things, we lose customer focus. We did not ask enough questions to understand why something needs to be fixed and at what time-frame. We perceive that email conversation between two people indicates progress. We forget to realize what needs to be delivered. With all these and several other reasons you may think of we embrace inefficiency.  At end, when we deliver, do we deliver great customer experience?

What are your proactive measures to avoid such communication woes in your team?


*-*-*-*-*

85. Three Things You Can’t Do Without

Delivering in IT industry is different from delivering in other industries.  For example, in manufacturing industry, a vast majority of professionals need to have adequate competency to work with machines to deliver.  The need team skills too. It is okay if they don’t read, write or speak enough to master their skills because the level of automation and stereotyping are very high in manufacturing industry.  Of course, in manufacturing industry those who specialize in design, simulation and modeling, and research and development need to focus on reading, writing and speaking – at least two of these with a varying degree of importance from time to time.

If you want to deliver in IT industry, you cannot constrain yourself to learning new programming languages, tools and technologies.  You need to focus on reading, writing and speaking.  As you grow from the level of a junior programmer to lead a small team of engineers, you need more than your alacrity and confidence in solving technical problems or expertise in writing complex programs.  Reading is mandatory to begin with and you can choose either writing or speaking or both.  These skills help you build self-confidence and deal with teams.

No doubt, leaders need to be great observers, readers and thinkers. That is not enough. Those who go beyond these and communicate well through writing and speaking become powerful leaders.

How do you share or plan to share your knowledge or give back to your community of professionals? There are several ways.  You can become a mentor or coach. Also, you need to be able to express your knowledge by speaking in forums or writing knowledge snippets, blog posts, articles, papers etc.
In order to deliver great products and services, keep in mind that there are three things we cannot do without - reading, writing and speaking. 


*-*-*-*-*

86. Dark Processes, Dark Documents and Dark Patterns

Jim Sinur, Vice President, Gartner said, ‘Dark process an unofficial process used to deliver results and not visible to management.”’  Jim specializes in BPM (Business Process Management).  What he said applies to delivering software too.

Dark process is a process that helps you deliver results but it is not visible to your management and it is unofficial because it is not part of your process repository.  Dark document is a document that helps you deliver results. It is a document you shared with your stakeholders. It can bind you legally and have consequences. You are unaware. You have not got it approved by your manager and legal department.  That is scary! Isn’t it?

Every organization has dark processes and dark documents.  ‘Dark processes result in lost efficiency. Dark documents result in legal exposure.’  This is what Leonard DuCharme mentions in his article ‘Beware of Dark Document’.

Let me elaborate.

Let us assume that you are following a dark process. You do this because, it helps you deliver results. It improves your efficiency.   You are not sharing it with it anybody.  Nor do you take the initiative to institutionalize it by partnering with the right teams.  The result? Lost efficiency!  Should I extend to say that it will result in lost knowledge as well?

Let us assume that you are using a dark document.  You do that because, it helps you deliver results. It keeps your customer happy.  You are unaware of the legal consequence. May be it is about someone’s IP. May be it is about something else that you are not supposed to reveal.  You are not sharing this document with anybody. Nor do you take the initiative to review that document with your legal team. The result? Lost reputation, litigation, penalties, brand erosion and much more. 

‘First of all, we should think about why dark processes come in to play.’  Is that what you are thinking?  Can there be an organization or business without any dark process? The answer is no.  There will be dark processes.  How about identifying them and making them mainstream processes?

How about dark documents? Don’t keep them in dark. Go and review those with your legal team!

I learned about dark patterns sometime in 2013.  Dark pattern is a type of user interface that appears to have been carefully crafted to trick users into doing things, such as buying insurance with their purchase or signing up for recurring bills - that is how darkpatterns.org defines it.  Every time I do online booking of air tickets, I do the math and see the sub-totals. In most cases, travel insurance is included by default and I have to go and disable it.   That is a trick played on users like you and me.  After all, as I mentioned in the first chapter, we consume what we create.  And the entire user community consumes what we create. Can we afford to create these UI anti-patterns?  These are dark patterns as they trick end users and make them spend and consume more than what they intend to do. By the time they notice what happened, it is too messy or late to correct it.

Do you know of any dark patterns? Submit it at darkpatterns.org. Let the world know what you know.

*-*-*-*-*

87. Heard about GDD?

GDD stands for Google Driven Development. Sadly, that is how many software engineers develop software these days.  They rely on internet search heavily.  For everything from trivial programming tasks to technical problem solving, they are dependent on Google search, content posted at StackOverFlow or other web sites.  They copy and paste program snippets into their code and attempt to make it work.  They make it work somehow!  And they make it work however sub-optimal the code may be. Because they don’t know if their solution is sub-optimal or not.  The habit of reading programming instructions or documents on application programming interfaces is never a proactive practice for them.

With this habit, when there is no internet connectivity, GDD programmers are handicapped. They don’t make progress.  And these days it is hard to find several programmers who write programs from start to end without having to do internet searches.

Obviously, this approach, no doubt, is a time waster. This happens with a false belief that there is a solution – a right solution, out there for everything available at ease and all you need to do is a Google search to find answers to your problems. Will this approach make you a better professional?  Won’t it make you lose focus and spend numerous hours in searching and backtracking to deliver what you want to deliver?

Here is the truth. One cannot live away from gaining strong fundamentals.  Judicial usage of internet search is okay to increase the speed of problem solving. That will enhance efficiency. Google search cannot be the only means to start programming and end with compiling your code.  When you don’t accept this fact, your knowledge will continue to remain shallow.  The cut-and-paste culture cannot lead to good programming practices, sound knowledge in this complex industry.

Think! There are GDD practitioners in this world.  They may be in your team. They are productive when the corporate network is super fast and Google is efficient. They take a coffee break when the network is down. For every program of twenty lines they do at least five internet searches before they resolve all compilation errors.  They think that it is heroic to do internet search while programming.  They cannot refactor their code because of obvious reasons.  They think that books and manuals are for dummies!  When you don’t notice it or ignore it or improve the situation, you deliver crappy products, sub-optimal solutions late in the game!  That is not a winning strategy.

Mindless cut-and-paste does not help you deliver. I am sure you don’t want that to happen.


*-*-*-*-*

88. What Do Testers Deliver?

One of the primary pursuits of software testers is to verify if the application under test conforms to system specifications.  In this pursuit, testers create bug reports whenever test cases fail.  This is how the professional life or journey of a typical software tester starts.  At some instance in this journey a realization strikes.  It is a voice from within and it says, “The quality of bugs matters more than the quantity.”  This is when a software tester understands the true meaning behind the purpose of testing. This article presents a real life story to illustrate this phenomenon.

Anita, a software test engineer joined our project team several years ago.  That was her first project on her first job.  She held an undergraduate degree from a well-known college.   She was very fast in finding failures.  She would find failures against test cases and raise bug reports.  She topped in doing this.  She was happy with this progress. However, her interaction and relationship and rapport with developers became unhealthy.  Every defect she found involved not only additional research and debugging but also a great deal of conversation and negotiation. Sometimes more than five out of ten defects reported by her would end up in categories such as ‘Not a Bug’ or ‘Duplicate’.   Eventually developers started seeing no value in her bug reports.  She was demotivated.   When we analyzed this situation we understood that she was not collaborative enough and did not think through before creating bug reports. Somehow she was passionate about maximizing the number of defects but not paying attention to the quality of defects.  This episode turned out to be an unpleasant experience for her as well as the developers. One of the senior members in our team coached her and she was willing to learn and improve. It took her several weeks. She was getting better.

One day she was extremely happy because a bug she reported was fixed on the same day.  The developer who fixed it was impressed too.   I appreciated her and asked, “This is awesome. How did this happen?”  She retorted, “Thank you! I know, I did my homework before reporting this bug.  I discussed it with our developer, understood the context, did additional testing by considering related scenarios and created a better report. This approach helped us reduce debugging time.”  I smiled at her with a sign of satisfaction.

Gradually she become a successful professional and started contributing to large projects.
Several years have passed.  Nowadays, I am not playing the role of a full time developer or tester or project manager. I am a specialist. I work with organizations and teams. I write, speak, coach, consult and do several other things.

In 2013, I was using an online application that facilitates conference management and includes features such as attendee registration, speaker submission and so on.  This is a new system developed by an enthusiast who is a hardcore techie. Sometimes he works with one or two developers supporting him. Otherwise, he does it by adding features, resolving issues and making it better.  As a member of program committee of an upcoming conferences, I use this system daily.  All of us in the program committee are aware of the known issues and one among them is a pagination issue – we had to refresh the web page couple of times to get the right number of records.

The other day, I observed incorrect number of submissions under a specific category in spite of multiple attempts to refresh a page. I was reluctant to relate it to the pagination issue. I thought it could be due to some issue with the browser cache and went on to complete my tasks of the day before I investigate it further.  That issue did not leave my mind.   I did not react either. I remembered Anita’s happiness when she did it right and got that bug fixed efficiently. I asked myself, “Is this a bug or issue worth reporting?”  The answer was not affirmative.  I wanted to get back to the system and explore it further so that I can help the developer with my bug report.

Late in the evening, I went back to the system. Even though I was able to reproduce that defect I started examining the corresponding behavior under various scenarios and compared it with similar features.  To me, the ability to reproduce is a necessary but not a sufficient condition to report a bug and this bug was not worth reporting yet. I wanted to narrow it down and isolate it so that I can write an informative bug report. 

After multiple attempts, I started getting some clarity. I isolated it to a specific scenario across screens. It appeared to be a programming error or configuration error. I reported it with all my findings.  And the bug was fixed within an hour!

Looking back, I find that these are the small incidents worth sharing as they leave behind some takeaways. Test case failures are most probably the leading indicator of defects.  However, a test case failure need not be defect itself.  It is the responsibility of a software tester to do additional probing or research to isolate the failure in order to write a meaningful bug report.  Next time when you come across a failure, ask yourself, “Is it a bug worth reporting?”  Also, attempt to analyze it further and write a great bug report.  When you do this you will enjoy your work and become a valuable contributor in your team.


*-*-*-*-*

89. Leading to Deliver

Do you play the lead role? How do you lead to deliver? What is your style? What do you believe in? Who is your favorite lead? Why? 

Some of us play the lead role or look forward to becoming a lead soon. The rest of us have been there and done it.  Moving up in the ladder and becoming a lead is an event of pride. It is a promotion. It is an enabler. Does that provide one superiority or authority?  Before this promotion was announced you were part of the team. What are you part of now?

Leading to deliver is what matters.  In your lead role you are part of the team.  This role does not give you any amount of superiority or authority.  You are special. You continue to do what you are good at and you take up extra things as well – some of them will be non-technical.  That is what you do to enable your team.

You care for your team members irrespective of their specialization.  You appreciate your team members in public and credit them for all the good work. You own failures and deal with negative feedback in private.  You don’t take the path of command and control. You become a servant leader.  You don’t attack your team members. Neither do you display the signs on anger or other negative emotions.  You admit when you are wrong.  You practice fair play and honest feedback. You welcome new ideas and never do you believe or act as if you are indispensable.

You live the act of leading to deliver.

*-*-*-*-*

90. The Delivery Trap

Manish met me during my evening walk that day.  That was my routine fifteen-minute walk at work.   Manish was the project manager of our large project. I was the program manager.  All of us in our team decided to stay little longer that day to ensure release readiness and deliver the final build of a large application we had developed.

Manish said, ‘Our team had spent several weekends and long work hours on weekdays.  Let us go to the cafeteria and get them some chocolates and other goodies.  That should motivate them to complete the work today.’

We went to the cafeteria and bought lots of goodies for our team.  We had done this more than ten times and our team members were used to it. They needed genuine support more than anything else. That is because we were in a trap.  Some months ago, we were driven like a herd from one crisis to another. There were unplanned tasks, unexpected priority changes, unmanaged requirements creep and employee turnover.  Executing a fixed project with distributed teams put us thorough this trap.

We, the senior leaders were upbeat with impressive stories, experience sharing and systematic analysis of different situations.  All these steps helped us improve some of the intermediate checkpoints or milestones but we failed to control the crisis.   Crisis management and timely delivery happened because of a small bunch of star performers or heroes.  We had a team of skilled engineers with great intentions. 

During the initial months, I observed was most of the days our team members were busy and stressful.  Some of the openly claimed that they were busy because of over-commitment and unrealistic estimates. It was like traveling in a moving ship.  There was no time to stop and introspect.  Our first and probably the only priority was to deliver on schedule. That blind folded us from everything else.

One of our top performers in our team left us after five months from the start of this project. And it created a ripple effect before we could contain attrition of team members.

Our customer tolerated this, because there was no alternative.  The only strategy that worked was ‘push-and-get-it-done’.

We fell into this trap because of two reasons. First, we, the leaders were yielding to pull factors from all directions.  Next, we were able to sense the bad smells without knowing how to deal with them.
 
When the next phase of the project was about to start we planned for a team meeting to reflect on how we can improve and avoid falling into that trap.  We had several ideas, suggestions and tips on what to avoid.  We realized that lack of effective teamwork will potentially put us back in to that trap. We embraced simplicity and clarity in what we do.  Simplicity in designs, scripts and tests. Clarity in our vision, goals, plans, roles, responsibilities, communication, participation, ground rules for team behavior and so on.  In the following months, we could experience effective meetings, understanding, interactions, decisions and action on the ground.  That was a rewarding experience.

One day, some of our team members came with a box of chocolates for us.  That was the outcome.  Later years, I accepted that we could not do much to motivate our team members. Motivation is the result.  Motivation is something that the individual needs to initiate. It has to come from within. For that, all we need to do is to inspire.  Inspiration fuels energy around us and results in motivation.

It is okay to share goodies and treat your team members. It is good as long you are genuine and show action on the ground. However, there is no guarantee that distribution of goodies is going to work all the time when there is lack of caring and appreciation.  There is one thing that can work all the time in this world. That is incorrigible optimism coupled with an inspiring character.  When you believe in these and become an inspiring leader, you can motivate your team to ensure effective teamwork.

Find an inspiring leader and seek mentoring.  You will minimize the chances of your team getting into the delivery trap.

*-*-*-*-*

91. Delivering the Impact

Delivering it right at the right time.  Else, you may miss the opportunity to delivering the impact.  Terry Weissman delivered Bugzilla to the world.  That was the first-ever open source bug tracking system delivered to global users.  That was the time when IT organizations around the world were floundering to build or buy tools for bug tracking – many of them were managing their show with spreadsheets or home grown and buggy tools.

Hotmail revolutionized the way we communicate.  Sabeer Bhatia and Jack Smith delivered Hotmail to the world in 1996. They wanted to revolutionize and democratize communication. They wanted to build something that was never built before. And they did it. Within six months, one hundred thousand registered users flocked Hotmail.  This count scaled to 20 million users over the next sixteen months. In 1998, the impact delivered by Hotmail resulted in a $400 million acquisition by Microsoft.  That was the hot news among the IT and business communities all over the world.  Post 1998, Hotmail continued to be one of the popular free email service on the Internet.  By 2014, it had 350 million registered users.

Deliver before someone asks for it.  Create a market. Create your customer segment.  Those who deliver to create the impact, create the impact. And others just follow.

*-*-*-*-*

5.1 The Silver Bullet                        Table of Contents                   7. Delivering the Bad News

Comments

  1. Excellent work and Useful tips for all professionals either IT Professionals or Non-IT professionals

    ReplyDelete

Post a Comment

Popular posts from this blog

The Deliverable

Prologue