Why is Software Development Hard ?

Foreword:

I started to write this post immediately after reading Dreaming In Code. The book forced me to think why developing software is hard and I decided I need to write a post about it.

Frankly, even after reading that book I couldn’t figure out what really went wrong with Chandler. Was it too much up-front design ? Was it going for a desktop application instead of trying to develop Chandler as a web app ? Was it lack of initial time pressure? Was it some internal politics not documented by the book? I cant say for sure.  After writing a little on this I saved it for future elaboration. I wanted to collect my thoughts and analyze the data which I got from the book. After several weeks I still don’t have any additional point worth writing about. So I just posted it.

Here you go :

 Why is software development hard ?

I think it is a tad unfair to think that Software Development is the only thing that we don’t know how to do. A lot of people, mostly management assholes, seem to get all fired up when talking about software development. Why aren’t we delivering on time? Why are there so many bugs? Why isn’t our zero defect program not working? Why isn’t the CMMI process(or insert your favorite software development process here) helping us do better? Why is all this so hard? Haven’t we doing software development for years? Why aren’t we learning from our mistakes?

After working in the software industry for 5 years, I really don’t know why software development isn’t getting any easier. Certainly the tools have improved. But the increasing complexity of applications, security issues, the development model in a flat world, an increasing amount of people choosing to be developers just because there is more money in it, etc might be reasons why there is so much bad software out there.

People have been raising kids since time immemorial. Still we haven’t figured out the best way to raise our kids. Should we let them be or should we discipline them as we wish ? Should we let them make the decisions or should we make it for them ? Should we teach them life’s lessons or should we let them learn it on their own? A similar argument can be made for the field of personal achievement. What makes a person successful? His genes ? His environment? Can the traits of a successful person be cultivated? Can I copy a successful person and be successful myself? Successful people come from well-to-do background and also from ghettos. There are hard workers and then there are take-it-easy types. There are short ones and tall ones. There are PhD s and high school drop outs. If we really think about it, there are no easy answers and no reliable patterns for this.

If we cant figure out the answers to one of life’s most common happening repeating itself over every generation from the beginning of human life, then why are we so frustrated about being unable to know how to develop useful, quality software on time?After all, software development is only a few decades old.

If you think that the above mentioned cases are not science or engineering related, I should say that the most critical parts of software development are not really Science but Art. Team co-ordination, Estimation and Design are examples.

Senate votes to Hike H1B Fees

From InternetNews,

The U.S. Senate voted Thursday to increase H1-B visa fees for employers to $5,000 per application, $3,500 more than the current fee. Proceeds from the fee hike would be used to fund scholarships for Americans seeking degrees in math, technology and health-related fields.

The 59-35 vote came on an amendment to the current immigration bill being debated in the Senate. The new fee would be imposed on new applications and renewals.

Read the full article here.

Please continue to hold or write a blog

I bought a Sansa Sandisk MP3 player just before my trip to India so that I could have a little more entertainment than staring out of the window and eating the healthy and tasty food served on the plane. I found the player to be pretty good and I had got a pretty good deal on it. There was a free subscription to Rhapsody To Go, worth $14.99/month, for 30 days. This was a pleasant surprise and I immediately used the coupon to start an account with Rhapsody. They do have a brilliant collection of mp3 and worked flawlessly with Sandisk.

On my return from India, I decided to check out their collection. I like to listen to music at work, so I decided to try Rhapsody at work. Unfortunately they dont support Windows 2003 and I have Windows 2003 on my office machine. I did some search on Google and found that they dont support Windows 2003 because some Digital Copyright management components are not available on Windows 2003. Urrgh !

So I decided to cancel the Rhapsody account. I went to their website and clicked the “Cancel Account” link, which took me to a page where it said I should call a particular number to cancel the account. I hate it when they do this. Their aim is to try and do some brainwashing and persuade the user to continue the subscription. Why cant I cancel my account when I want it to? I find it very irritating when the Customer Service Rep tries to ignore your pleas to cancel the account and goes “But Sir, this is a very good option. You should not cancel it. Please try it got a couple of months before you cancel the subscription…. Pleeaaasee…”.

I couldnt find any other option to cancel the subscription, so I called the number and waited. I was put on hold saying that “we are experiencing unusually high call volumes currently. Please call at a later time or continue to hold”, followed by the crap, “Your call is very important to us…”. I think their strategy is to put people on hold until they quit and decide that keeping the account and paying $14.99/month would be less painful than trying to cancel the account.

Having nothing else to do, I started to write this blog. I am still on hold :-)

Update :

I was put on hold for approximately 45 minutes before I was able to talk to a Customer Service Rep who did the canceling for me, but not before trying all tactics to make me continue the subscription.

New Immigration Bill Amendment could be helpful for H1-Bs

Interesting article on Information Week.

Excerpt :

A bipartisan group of U.S. senators next week is expected to introduce to the immigration reform bill an amendment that proposes to retain a pool of 140,000 employer-sponsored green cards for foreign workers seeking permanent residency in the United States.

…..

The revised legislation also proposes the United States establish no limit on H-1B visas for foreign professionals with master’s or doctoral degrees in science, technology, engineering and math, or STEM fields.