| 0 comments ]

The office had a day long powercut today. They were testing the floodlights in the Mohali Cricket Stadium, in preparation for the Champions Trophy. And Mohali doesn't have enough power for both the city and the stadium, apparently. So we ran through hoops trying to keep our service up for customers, while the lights shown on the already bright grass.

If that's the situation in day time in test, what will it be like when the lights are on at night during a match? Chirag Taley Andhera? People all over the world watch the match, but someone with a home across the road can't?


powered by performancing firefox

| 1 comments ]


Animesh » Blog Archive » Who is your employee?
Animesh has an interesting post on it. I've added my thoughts here:

I think the family model is very well suited to a startup, mostly
because it is almost a necessity: in a startup, the boundary lines
between work and home and not well defined. In my experience, it is
true even if not all employees are white collar workers.


But keeping the same model as the company evolves into a bigger
organisation is probably not suitable and not feasible. You *want*
people to clearly delineate their professional and personal lives for a
better balance. And the returns to all stakeholders from the family
model become much lower.


Treating employees as customers is definitely the way to go. To me,
there is no other option. At least for the support functions, it should
be obvious that the rest of the organisation is their customers,
because, well, what else are they supporting?


Unfortunately, at least in India, that is often not the case.
Support functions often run as their own fiefdoms, and I think that
often goes on because the executive team doesn’t pay much attention to
them. I think the way to resolve this is to measure performance based
on customer feedback, as for the ‘core’ function. (But that’s
digressing…)



| 2 comments ]

We did some bits and pieces automation on one of our projects over the last few months. It impressed some managers at our customer, who then asked to start a separate project to do end-to-end automation.
We just finished the first iteration. Now, once you have stuff set-up and configured, the following things happen every night:
  • the application is built and packaged.
  • The install elements: war, database dump, sql scripts, install instructions, release notes get copied to a release folder. The release is named by the timestamp.
  • The application is installed and configured on a remote machine.
  • The application is started on the remote machine.
  • Some automated code review tools are run, and reports generated in a nice consolidated format.
  • Junit tests are run on the deployed application, and code coverage reports are generated.
So, the next morning, when the team comes in, they know if some things broke. They can also spend 15 minutes running through the code review reports and test the application for sanity.

If a formal release needs to be made, that is also a single command : you just specify the tag name, and all of the above happens. In addition, source also gets tagged.

What's next: integrating canoo web test or some other similar tool with the deployed application, so that the nightly build can also do the sanity tests.

Finally, we are getting close to becoming the cool dudes of automation!

| 1 comments ]

Just read the cover story of Business World of 6th Feb. They have rated the top 25 places to work at in India. Across industry sectors. Here are some excerpts I found interesting ( in that I've been trying to get some of these through at my workplace.) Here's some validation that these things do happen in India.

Many of the organisations in our list have unlimited sick leave, no attendance recording system and self-supervision as the norm.

True collaboration goes beyond employees setting the menu for the canteen… It requires an ability to share 'real power', as is reflected in RMSI's decision to empower employees to calculate their own performance bonuses.

Sasken prides itself on its 'single status' policy… All employees, including the co-founder, and eligible for the same travel benefits.

Amex… shares details of the salary ranges, how these were evolved and what comparator companies were used to determine them.

There is a direct relation between great places to work and superior financial performance…. During the period 1998-2002, an annually updated index of Fortune's 100 best companies to work for would have yielded a return of 9.86%, compared to -0.56% from the S&P 500.

(This one, of course, is US data)

At RMSI, when negotiating with those who leave, managers are forbidden from offering higher salaries as an incentive to stay back. At best, they can offer a different assignment or more responsibilities.

At JW Mariott, revenue and profit and loss figures are shared with all employees across levels, eve dishwashers.

At Aztec, to engage employees, CEO… sends out regular emails to them that are presonal, inspirational, and at times, even philosophical.

Sapient's senior-most bosses, its two managing directors, do not have their own rooms. Seriously. They do not even have their own cubicles or work stations.

At PSI Data Systems, employees were constantly kept updated of the company's true financial picture, orders that were in the pipeline and stragies that would change the company's performance. ( Even when the company was in the red.)

| 5 comments ]

Really.
What IS it ?
People all over the place keep throwing it at you.

I need two loadrunner resources asap.
The customer wants to see the plan asap.
What's the priority of this task ? "asap".

Well, OK, I know what they really mean. They mean to say that it is urgent and pressing. Maybe I'm just nit picking on language. But indulge my language issue for a bit: ( BTW, I'm no grammar expert)

Start Nit Picking:

As soon as possible. As if anyone ever plans any differently. Have you heard of any plans that use the as late as possible principle? Of course I'll do it asap. That's how I do all my stuff.

End Nit Picking

OK, understood. They mean urgent. But that's still little help. That helps little when planning stuff. If I have 10 things to do on my task list, maybe this will take away 3 of them, the 3 that are just nice to do. But what about the other 7 ? Should I just drop them and spend all my time on this one? Or spend half my time on it? Should I spend more money to get this done?

Well, yes, I can find the real urgency by asking the right questions, but doesn't it help if some are already answered ?

To end, here's a customer who regularly sends us tasks over emails that start with " This is urgent as well as important". :-)

| 1 comments ]

An excellent post on how to investigate these most tricky of bugs: ones that take place once in a while, and you cannot figure out how to reproduce them. Basically for testers, but very useful for developers as well.

| 3 comments ]

A few days back, in an internal management forum, we were talking about the increasing attrition and importance of retaining people. One of the PMs talked about how a few people in his team asked him " Why should we stay?"


That's really it. That's what we need to answer. If we don't have an answer to that (besides the nonsense about it being a challenge, and a fast growing oganisation etc.), then we don't have much of a chance.

What are the reasons for people to stay? Or, what do people look for? Here's the regular list:
  • Compensation: includes salary and stock options
  • Quality of work
  • Role
  • Quality of life ( relates to work life balance and the city you work in)
  • Brand
Let's consider a small services organisation that does not have the best pay scales, does not have much to offer in terms of work content, and where teams often come under schedule pressure. Is obviously not a recognized brand, and is located in Chandigarh ( Great quality of life, but not very relevant to most of the target employee group.)

What does such a company do ? Does it have no hope?

I think it does. It can do one thing that is relatively easy for a small organisation to do, and which can potentially make a big impact on employees, (although probably none on prospective employees.)

Try and be the best place to work at.

That's it. Everything else pretty much follows. I think one can start by putting together a few guiding principles. Use them to check each action and policy: if they don't fit into the principles, then they are acceptable. Here are some that I believe would be good ones:

  1. The small guy always wins: Whenever a decision can go both ways, err on the side of the employee. When creating a policy, use one that leans towards the employee.
  2. Believe in people: Create policies based around faith in people. Assume that people are honest. In most cases, they are, and the few dishonest instances will be far outweighed by the benefits of faith. For instance, don't count leaves from attendance on a daily level: just inform the manager on a monthly level, and let the manager take a call. If an employee asks for the ability to make business calls from home, accept that she needs it.
  3. Be pound wise, penny foolish: Don't bother with small expenses. A 200% hike in a shoelace price means nothing compared to a 1% hike in the shoe price. Don't put a tight control on RAM purchases while not controlling PC purchases.
  4. Don't always be an accountant: Not everything needs to fit exactly. If a team party budget is Rs. 300 per person per quarter, it is OK for it to go above 300 once in a while: it will balance out on the whole. (Other projects will use less. If everyone is using more, perhaps the budget needs to be increased.) If a little above 300 is not OK, people will ensure they never let it be a little below 300 either: they will use all of it!
  5. Communicate: Provide people information. Where are we, where are we going, how are we doing. Perhaps revenue and profit numbers. Definitely new accounts, new initiatives. Have executive management address people once in a quarter, send out mails regularly. Ask for feedback. Act on feedback. Keeping people informed encourages the belief that they matter.
  6. Empower: Involve people in decisions. Allow them to suggest and take ideas to completion. For a small company, having entrepreneurial employees is essential. You will keep them only if you empower them.
  7. Be open: Believe in transparency. If you have a cost constraint, admit it. Share with people the logic of decisions.
  8. What others do is not important: Don't look at what other companies are doing: that will at best make you the average. Do what fits in with your guiding principles. If you must compare, compare with the employers that top the employee satisfaction charts!