Interview Questions Headline Animator

Tuesday, June 27, 2006

I wish I wouldn't test...

Have you ever noticed, as a software project comes to an end, you will see all the developers in the same state. You will see long beards, long faces and long groans... All the developers would be in the same state for one reason. They would be doing the thing that they hate the most. Testing. The QA team would be breathing down upon their necks, the client would bebreathing down upon the necks of the delivery guys / engagement manager, there would be a lot of fatigue because all the developers have been working on the same project for a year or so depending upon the complexity of the project. Defects keep appearing on modules that were developed over a year ago… Some of the developers are even new who are providing maintenance to code that has been written by someone else… And they complain that the guy who wrote the code was an imbecile… And eventually everyone just keeps praying as to how you can get over this project, get released and start off something new…

What do you do about it? I have been wondering… how do you make the last couple of months’ experience interesting? Well most of the last few months of any project are dependant on QA. Now that’s what the developers hate the most. And that’s what they are expected to do towards the end. Wouldn’t it be great if all the dirty testing would just go away…? Well it wouldn’t go away, but we could surely automate it… when I say automate, I do not mean the automated testing tools that are available… that’s the QA’s work to use automated testing tools to test the build. I am talking about automating the testing that the developer has to go through before releasing it to QA… One thing that developers do not mind doing is code. So why not do something in a good way so that the entire QA Experience in the end becomes pleasant.

Build an NUnit framework right from the beginning. Doing this from the beginning is a very good idea. Reasons? The energy level is high, the deadlines are not very tight and everyone has enough bandwidth to just do it. Once we have completed 1/3rd of the project, things start getting a little tight… this is the time when the team lead should kick in some discipline. A module shouldn’t be considered complete until the test cases are written. The leads should also consider the time to write test cases in their estimates.

By the time 2/3rd of the project is done, most of the unit test framework is ready. Now where this helps is that once you have changed some code or added some component, you can run the tests and make sure that nothing that has already been written and was previously working has not broken. That way we don’t have to test every little piece of code that has been written since God created the heaven’s and the earth… well 10 months into the same code and it does feel like that…

Last 1/3rd of the project, three things happen… one people will realize the merits of writing tests. Second people will get habituated to writing tests and third the frequency of new tests would decrease.

There is more automation that can be brought into development. But this would involve writing utilities and using over the team… utilities which are custom… like to test a particular scenario you require a specific set of data in the database. And there are so many such “scenarios” that you need to test. We could broadly classify these scenarios, and write SQL Scripts to generate a set of data that would enable the testing. Write a simple crude utility that could give you a choice to choose a classification and create the required environment.

In fact I was thinking could I create a generic framework that would enable me to automate such mundane tasks across projects and make software development exciting… If work is exciting, quality would most definitely follow…

Friday, June 16, 2006

End of revolution...?

Last whole week I haven’t been doing anything much significant. The project status is pretty healthy. We have not had any slippages, all the modules have been delivered on time. There have been some small defects, but none of them have been major issues. We have quickly pinned the down and resolved them. I have set up a beautiful communication process between the onsite and offshore team and all the communication gaps have been filled. We have been successful in setting up the architecture at offshore and also the VSS connectivity. Previously the offshore team was sending in the source code in small modules and the integration was done onsite by me. But now they are working directly on the central code repository so the integration process has also been set up successfully and is efficiently operational.

I think I have displayed outstanding performance as an onsite coordinator. Initially we had some problems with resources. But I was successful in resolving them very quickly and efficiently too. Besides what’s a job without a couple of challenges.

But lately I have realized that my work as an onsite coordinator has been mostly accomplished. I am still involved in writing documents that are related to routine process compliance and code reviews and testing. But those are the things that are beyond my role as an onsite coordinator. Since the process has been set up so well, there is not much coordinating that I am required to do these days. But since I cannot sit around doing nothing, the engagement manager is keeping me busy by giving me this insignificant work, which even a fresher, would be able to do efficiently. In fact I think a fresher would be able to do this work much more efficiently than I can.

So I have started to think as to whether I am required here any more? Is there a point in sticking around doing nothing for another 4 and a half months or should I move? What are the options that I have in front of me? Wouldn’t it be better to get released from this project so I could be more productive somewhere else? Do something that is more significant than what I am doing? Well I could either join some other project in the US itself or I could move back to India.

Of course the down side is that if I move to India, I wouldn’t be able to save the money that I thought I would in the US… I would have to leave and I wouldn’t be paid in dollars. But is money that important that I linger around being managed by a junior just because he has more system knowledge? And for what? I do not mind doing it as long as I am doing something significant. But testing, code reviews and routine process compliance under a junior is not quite fascinating.

The up side is that I might not have to move back to India. After the Kanbay – Adjoined acquisition, there have been a lot of projects coming in and loads of onsite opportunities are there according to Henry (My manager). I had a talk with him and he was interested in keeping me here coordinating with off shore. But I haven’t talked formally about it. This just came up during a conversation I had with him once. He is pretty happy with my performance in my current project and the previous projects. It seems he has been monitoring me over the past few months.

As of now what I am thinking is that I am going to be a senior consultant very soon. And I should be doing things that designate me as a senior consultant. I went through an industry depression during the initial stages of my career and didn’t get enough significant work and every time I am wasting my time doing insignificant things, I remember how I wasted the initial stage of my career working on projects that either would never get implemented because of some reason like lack of funds or projects that didn’t have a good business model. I have to make up for that loss. And I think it is very important that I keep an eye on where I am going at all times.

Wednesday, June 14, 2006

Mens locker room...

I joined a gym here... the gym is pretty big... its expensive too... but I have to workout you know and that's the closest... Once I had a discussion with a friend and I was telling her about how I like to take a shower in Endurance (my gym in India) because it is so nice... that's when she told me that she doesn't like to take a shower there because she thinks that there is no privacy...

News Flash... people here take a shower in the open... There are no cabins... like we have them in Endurance... and they all take a shower in the nude... yeah in the nude... with there private parts hanging around... and it is disgusting... they roam around in the locker room in the nude with nothing on... I have even seen people covering their backs when they have a towel and leaving their penises hanging around in the open... I mean come on.. you have a towel at least tie it around the waste... they wouldn't do that... they would hang the towel on their back and leave their lower disgusting hairy parts hanging around in the open...

I have stopped taking showers in the gym here... and there is no point anyways because i go on the bicycle and sweat when i am coming back... so i would have to take a shower when i reach home anyways... so why bother... and besides who wants to see that sight out there.. I don't even enter the mens locker room here...

Tuesday, June 13, 2006

Microsoft...!

I think it is time that I start preparing for the next level... It has been 2 years and I have grown from the role of being a senior developer... (Development, design, unit tests kinda role) to Onsite coordinator (managing offshore team, requirement analysis, technology pioneering, process compliance)... I have had so many experiences… web services windows services, windows mobile, writing utilities that automate a lot of menial tasks, etc. I have hardly spent any time on the bench or doing nothing during the last few years. Come to think of it listing down all those experiences would take an entire separate blog…

It has been a fascinating journey… Kanbay is a great organization in so many different ways… I have realized this after I have come to the US… two main reasons… One is I have noticed many companies working here… and second reason is that I have encountered and had first hand experience with the acquisition of Adjoined. I have helped Kanbay in integrating Adjoined by being the onsite coordinator of the first Kanbay – Adjoined project.

I have learnt a lot working here… and truly realized how good the Kanbay culture is. It is quite difficult to maintain the culture when the environment is competitive and there are so many different people of different kind of mentalities involved… And I think Kanbay has done a commendable job in maintaining a good people culture.

But the question is? What next? Well I know that I would love to do something that is closely related to technology. And even after 10 years or 20 for that matter, I would want to see myself exploring new technologies, facing bigger challenges. I would love to work on a product based company on Microsoft Technology. In fact the best thing would be to hop on to the mother ship and make a bigger impact.

Monday, June 05, 2006

Entry for June 05 2006

The problems I am facing here… in the United States… the dream country for every other country in the world.

The company that was taken over by Kanbay has some funny people working here. A few days back the manager of the project made some funny comments about the Kanbay culture in public. The comments were so rude that he had some team members coming to me and asking me as to how really Kanbay was.

I had to take him into the “Kitchen”. Now a “kitchen” is a place where someone takes someone to give a thrashing. It is actually a kitchen here. And whenever someone wants to talk something personal, or give a thrashing of some kind one on one… he is taken to the “Kitchen”…

This manager has about 10 years of more experience that me and I had to take him to the kitchen to tell him not to pass rude and inappropriate comments in public.

The two days later I had another problem… Henry my manager told me that one of the good senior consultants offshore, Madhu is being released… Now resource was a problem right from the beginning… first we didn’t get enough resources… later we had then one of the guys had faked his resume and he was fired… and now Madhu… so that was a problem… Henry and I discussed and the resolution that was supposed to be suggested was that Madhu Stay and Prajyoth leave. The reason being Prajyoth is just billing half of his time and is not a technical guy… Prajyoth could shadow him for a couple of days while Madhu gets trained…

So the next day I talked to the manager… suggesting him regarding Prajyoth’s release… He sent out a mail to everyone making the same suggestion, and suggesting in the mail that it was his idea… and basically suggesting that the Kanbay management is slow and lousy with the resource management… Henry wrote a very simple single line mail to him telling him that this was already discussed and he didn’t understand where the confusion was…

Sunday I was coming back from a nice piano concert I switched on my cell phone and saw a voice mail… Kevin Moore had called me… Jonathan had written some really awful things about Kevin in the review that happens in Adjoined every year or so… awful and untrue… now Kevin asked some of the adjoined senior management guys to call me up and ask…

I called Henry to tell him the whole thing and ask for advice… well I didn’t get him… but left a very detailed voice mail…

All day I heard Jonathan talking with the senior management about stuff and nobody really called me up… I think Henry, Will Hardy and everyone in the senior management handled it and things didn’t come to me…

Damn I am facing some new problem every day… God knows what’s next…