Software Engineer’s Blog

Software Engineering weblog

All too familiar management myths

  1. The Myth of 100% Utilization
  2. Management Myth #2: Only ‘The Expert’ Can Perform This Work
  3. We Must Treat Everyone the Same Way.
  4. Don’t Need One-on-Ones.
  5. We Must Have an Objective Ranking System.
  6. I Can Save Everyone.
  7. I am Too Valuable to Take a Vacation.
  8. I Can Still Do Significant Technical Work.
  9. We Have No Time for Training.
  10. I Can Measure the Work by the Time People Spend at Work.
  11. The Team Needs a Cheerleader! 

 

January 2, 2013 Posted by | Agile, lessons learned, Management | 1 Comment

Making of a professional software developer!

I came across an interesting lecture on professional software development by Robert Martin, a promotion part of video lecture series on clean code. I would recommend every software developer, and aspiring ones, to listen to. I believe that you will find this as quite thought provoking, and inspiring, just as his many other lectures are.  You would find it gently nudging you out of comfort zone into challenges of evolving into a true professional

Head count of manpower involved in software development has multiplied manifold from the time I started my career in software development more than two and a half decades back. Technology involved has changed, and software development environment has changed as well. World of software, and its role in the world, too has changed quite a lot since then…. and, as software reached out to every walk of life,   complexity and expectations too has increased manifold.

As we have reiterated many times over, software is essentially a construction in mind in first before it is executed in computer. It gets created in the minds of users, customers, developers, testers, … and often these do not connect breaking dynamic equilibrium of balance as software evolve. Making it still harder, complexity and disconnect increases exponentially with increase in the number of minds involved. It does not make any sense to wish these complexities away. These are here to stay. It can only get more complex and challenging, as we depend more and more on software.

Key to being a professional is to get on top of these. That is, a true professional would stand up for what he believe in, what he likes to do, take up the initiative, own up the commitment and deliver to the commitment. A true professional will see commitments as extremely important, not a casual word. We work as we work as a team, and a whole chain of commitments depends on your commitment. Many business, and many lives, depends on it and if commitments are not honored all of them are affected. It is your responsibility to see that commitments made by you are honored within time, budget and quality expectations.  That is, you are absolutely in charge of the situation, rather than its victim.

Note: Video of interviews with a super star from Indian film industry and another one with a master batsman from Indian cricket embedded here, both worked their way up fighting many odds. Both are involved in a profession which calls for individual excellence and team work for success. Both are professional who made indelible in their space, and are reflecting back on their rich experience. I believe spirit of professionalism cuts across many disciplines. It may differ on details but fundamentals remain the same. It is about conviction, self belief, working hard for what you believe in, working as a team and and winning against many odds, in the right spirit

I believe, technologies, processes, methodologies and tools have evolved to a great extent by now and these can help us address the key challenges, if we can put these together in the right way, as people/team enabler. Well, it is important to get it right.

Also, it is important to stay clear of dogmas, and realize that when we direct attention towards moon by pointing in that direction, the pointing finger is not moon. It might sound trivial but it is common to see finger being confused as moon. What do I mean by that?

I have seen process quality standards like CMMI degenerating into a compliance ritual. Insistence (by whom? It is interesting to know) on excessive documentation leads to outdated, and even lack of (gets postponed as it is time consuming), documentation. Later documentation is done purely to satisfy auditing needs. That is, an initiative intended to help you manage collapse on its own weight. The real problem is not with CMMI but in its adoption

I have also seen free and honest communication getting compromised in so-called ‘agile’ environment with regular meetings turn into witch hunting and ‘save my skin’ interactions. That is, the term ‘agile’ gets stripped of its core values and gets used as a matter of convenience rather than any good. Again, what fails is not ‘agile’ but its adoption

Automation initiative, that starts with purchase of a commercial software for software development, get stuck in learning some esoteric aspects of the tool rather than addressing true automation needs. Again, problem is not automation rather how automation is approached and implemented

It is curious to see the patterns of wrong adoption repeating itself. While technologies, processes, methodologies and tools can help us in addressing key challenges, often, it is the related technical details grab attention through advocacy of vociferous loyalists and marketing machinery, rather than applying them right. The fact that these are enablers in the first place is conveniently forgotten

Looking around, it look forward to a phase in software development, a phase that physics had gone through between Galileo Galilei and Isaac Newton … a phase of consolidation, period of drastic and intense changes with far reaching impact. We have seen some of these continuing even into early 20th century through Albert Einstein, Werner Heisenberg , et al…. and as an industry, we continue to deal with more unknown factors than known ones, till the dust settle

I hope to see software development eventually settling down to become a profession, in its true sense… It has changed over years but still it needs to go a long way before it can truly be called a responsible profession.

April 21, 2012 Posted by | Agile, Business, Collaboration, lessons learned, Management, Sociology, software engineering, Software Engineering Career, Software Testing | Leave a comment

Lifecycle of a buzzword: A cynical perspective

In my tenure in IT industry spanning more than two decades by now, I have seen rise and fall of many buzzwords. Some of them are: Artificial Intelligence and Knowledge Base Computer Systems in 1980s, Rapid Application Development and Object Orientation in 1990s, Use cases and Stories in 2000s, … and the list goes on… debate goes on ‘object oriented or structured?’, ‘agile or CMMI?’, ‘agile or UP?’, ‘use cases or stories?’

I am not disputing the value of these but rather questioning the hype that comes around these as they emerge. These hype help business of promoters but adversely affect their proper interpretation and implementation. It is equivalent to percolating modern innovations and approaches in healthcare through marketing machinery, skilled in marketing than healthcare.

Hardly any scientific analysis can happen without demystifying buzzwords first, and that requires going to its very origin. I do this regularly, try to see through these hype, just as I am sure many others like me in the industry also do. In the process, I have also noticed a pattern to meteoric rise and fall these buzzwords, going through different phases as below. Quite often, this is carefully orchestrated for obvious reasons.

Discovery: Each of these emerge out of experiments in a relatively small group; some one or a team taking extra care to pull out key factors those helped and those worked against. Those helped soon are packaged into best practices, spiced up with adequate marketing masala .

Evangelization: At this point, it takes a curious turn that marketing machinery is now active looking for ‘nails’ for this new found ‘hammer’ . That is, inventing problems for new found ‘silver bullet’ is a business imperative to justify cost put into packaging the solution!

Adoption: This effort, in general, is richly rewarded, finding fertile ground in the minds of ‘managers’ looking for ‘quick-fix silver bullets’.

In most of the cases that I have come across, problems are project specific though might have some resemblance to problems elsewhere. Solutions from outside, based on experiences in solving similar problems elsewhere, can help providing objective assessment and guidance but cannot simply solve these problems, by themselves. It is so because problems, in their very nature, are unique, intrinsic and integral to the project. External agencies (consultant, contractor, methodology, tool, ..) can help to identify but uprooting must necessarily be internal act.

At Mount Everest: What follows is a war of buzzwords; at times, one winning over another at times in terms of mind share to become ‘de facto’ standard…. Curiously, this is beginning of decay and rotting starts within, largely unnoticed… Each buzzword acquire new meanings far away from its original form….Originators are now caught between dilemma of what they created or dumping it…They go about issuing clarifications and revisions, further adding to noise…

Big Bang: What follows is disillusion and decline. Horror stories of failure emerge out of cupboard and world is on the look out for a new buzzword … and the life starts all over again.

August 1, 2011 Posted by | Agile, Business, lessons learned, Management, software engineering, Unified Process, Value Based Software Engineering | Leave a comment

Outsourcing: sustaining business growth

Companies in India have been into outsourcing model, with reasonable amount of success so far. Many companies of recent origin has been shot to prominence, living standards of a section (yes, it is only a tiny fraction still but rest of India is still starving) has improved, quality of infrastructure is improving (of course, not yet how it should be but it is changing). Good but I think, it is not yet time for India Inc to rest on its laurels.

Why talk about it now? I came across an interesting write up ‘When will TCS become the next Accenture?’. It is an eye opener; it should be one. As per the write up, TCS ranks as #1 in software services/outsourcing and it is (but it is only) 9th largest software services company in the world; where are the rest? What is India Inc’s share in global business?

Being successful is one thing, sustaining and building up on earlier successes is yet another. if first part is hard, second is harder. I am not referring to packaging and marketing. They are required but that is not sufficient in itself. It is also about watching the ground we stand, it is about assessing the battlefield, and realigning strategies to evolving world.

What I find particularly interesting in the write up is ’employee utilization’. It brings hard questions on many intangible aspects of how business is functioning. What was ‘good enough’ for the past is not ‘good enough’ for the times ahead. It is not just about TCS. It is about India Inc

July 8, 2010 Posted by | Business, Management, Sociology, software engineering | Leave a comment

Be the change!

This blog post is inspired a blog from my friend ‘Are we losing a long term Vision

I do not think this is a recent happening. This tendency used to there and will continue to be.

It takes conviction in oneself to be different; determination will follow. Conviction, determination, observation, and perseverance are critical to success.

I agree that there is visible mediocrity and lethargy even highest echelons in corporate hierarchy, just as with any other social segment. In my observation, it is intentional rather than accidental. It is a lack of application rather than a lack of skills. It is a matter of convenience, riding the wave created by some other leader in the past.

Well, it happens at the cost of the company. Is any one bothered? Patient is under close medical supervision while admitted into hospital, and under very close monitoring in the ICU. Routine sets in, after being discharged from the hospital. Do we take care even after that? How many of us do strictly follow medical instructions for healthy living? Personal health is one’s own priority and responsibility. If that is compromised, there is surprise that organization health is compromised

As many times in the past, this brings me back to Mahatma Gandhi to say ‘Be the change you want to see in the world’

November 18, 2009 Posted by | Business, Management | Leave a comment

What it takes to be a leader?

What it takes to be a leader? Is leadership a natural skill or an acquired one?

My take is: In Indian philosophy, we say ‘Tat Tvam Asi’. It translates to ‘that art thou’. God is in you; You are God. Difference between the leader and the rest is that leader is able to see the God in the self and the other is lost in the illusion. Once you start seeing the God in you, you start seeing God in others and everything else. You start seeing the potential for synergy and potential for making things happen rather than letting things happen. You move on, and take the team with you, come rain or sunshine

Therefore, I think it is natural that ‘A leader is neither born nor made but identified himself / herself’. It is a case of self realization and self actualization, or an approach towards it.

Who can be a better person than the one who rose from humble beginnings in one of the remote places in India to become the President of India. In a world that is desperately searching for success, there is a lot to learn from his experience and wisdom

November 11, 2009 Posted by | Business, Management, software engineering, Uncategorized | Leave a comment

Patterns of healthy business: Cash flow

Taking analogy between business and living organism further, cash flow is like breathing. An organization with problems in cash flow inwards and outwards indicates a very dangerous situation. Breathing also part of being in active relation with the ecosystem with continuous exchange.

Money is the oxygen for any business. Hardly anything can be done without exchange of money within and outside. Short supply of money can be fatal and impact is immediate. This situation is result of poor performance in sales or lacunae in management of finance, or both. Impact of failure in sales is immediate, resulting in a cash crunch. Also, resources may quickly be drained out with poor financial management, leaving the organization gasping. This demands quick action with both departments working in tandem.

Note that quick does not mean adoption of desperate, ad hoc measures. Desperate measures could be too visible from the market, revealing the rot within. This makes business even more vulnerable and such measures could set the business on a tailspin especially under weak health.

What is required, at this stage, is intensive care with quick remedial action and close monitoring.

Elementary, right? Are you surprised why I am discussing this here? Can a business man, an enterpreuneur, or a professional manager make such mistakes? Fact is, there are surprisingly many business which fiddle around in these areas. There are tell-tales signs visible to trained eyes.

Watch out before decide …. to invest or work with

October 9, 2009 Posted by | Business, Management, Patterns, Uncategorized | Leave a comment

Patterns of healthy business: High trust, process oriented work environment

Going ahead with my experiences of healthy business is importance of high trust, process oriented work environment. Does the title ‘High trust, process oriented work environment’ sound like oxymoron? Fact is, it is sometimes interpreted and implemented so but it does not need to be so.

Start up companies are generally driven by entrepreneurial drive, high team cohesion and intense passion about work and business. Work gets done in the best possible ways with extreme focus on execution and success in every sphere of activities taken up. Team is characterized by i) mutual respect and trust, ii) quick and clear communication and iii) continuous feedback and correction

Balancing trust and process

Balancing trust and process

Healthy business culture retains best of both worlds. In the attempt to move to a healthy business culture, companies of entrepreneurial business culture slips down to bureaucratic business culture as they grow bigger. This happens when process is introduced to “control” rather than to “enable”. This situation may be manageable where work is mechanical and mundane but drags down heavily when applied in the areas demanding creative and intellectual contribution. In an environment of mutual respect and trust, there is a lot that process can help in, when it is introduced as an enabler.

Such environments are characterized by professionals, they work with self respect, respect the peer and expect respect in return. They work not just for money but for passion as well. They are proud of their work products. Each one of them is aware of the need for checks and balances. Adoption of process is natural when process helps them do it better.

October 8, 2009 Posted by | Business, Management, Patterns, software engineering, Uncategorized | Leave a comment