We had a workshop of experts in the coolest place (tavern) in town. And we came with the following recommendations to all software companies operating out of India. For the benefit of the larger community, I am posting this here.

Career progression for developers

  1. Get rid of performance rating systems for developers
  2. Link pay-hike to promotions and inflation-rate and not performance
  3. Give behavioral feedbacks to developers on a continuous basis and record them for future reference
  4. Promotions should be based on required competencies and behavioral skills for a position
  5. Create special positions for knowledge experts – Technical, Domain, Process, Management for which behavioral skills are not important

How to treat employees

  1. Knowledge should be accumulated and shared across the organization
  2. Cool people are as important as hard-working people (Cool = convenient/balanced/Aware, Hard-working=Getting it done irrespective of obstacles)
  3. Do not give a share-holder attitude to technical employees
  4. Motivate employees by giving a fair pay and an interesting work environment
  5. Get trust-worthy employees, and if trust is breached, be prepared to fire
  6. Have flexible working hours or pay for overtime
  7. Identify talent or special skills with each individual and exploit it
  8. Set clear expectations on what is expected out of an employee

Working culture

  1. Be flexible with documentation and reporting
  2. Use transparent communication to make decisions
  3. Get buy-in from concerned people including developers for the decisions taken
  4. Allow complete freedom over what process will be followed, and follow it rigorously
  5. Have a clear strategy for measurement and analysis and use the right techniques
  6. Identify risks and issues and make handling risks as the most important part of execution
  7. Monitor and record product (not project) risks and issues in a place where it is easy to retrieve and confidential
  8. Any initiative should be justified with adequate benefit analysis

The role of senior management

  1. Eliminate bureaucracy or inaction or referring to company policies
  2. Create a learnable organization where employees can quickly learn something either in a structured or unstructured way
  3. The organization’s objective is more important than managing the perception or career
  4. Managers should enforce the desired process and culture in an organization
  5. Do some of the above cultural changes in the organization using experts