Wednesday, June 28, 2006

Problem solving or solution building?

What do we at IT people really do? Do we solve problems? or Do we build solutions?

Put it another way - 'Should we provide IT people problem statements (or) ask them to build a specific software?"

What would be ideal to provide as input into an IT project?
* Customers are unhappy with support provided (Pain point)
* Build me a website that will allow customers to search a Knowledge base (Constrained -- pseudo solved requirement)

So, now the question is do we state the pain point or just the requirement? What will yield a better piece of software?

Well, its getting late here at I write this blog entry -- so let me get to the point. ..

A lot of software is often built so specific requirements, which often yodel on and on by providing a lot of detail about the requiremed functionality. Sometimes we get lucky and the Quality criterion is also provided. There are models galore to go with all this stuff too. I only wish that they clearly state in simple words things like "Current customer pain points are...". Is this information really needed? Ofcouse it is -- because a clear problem statement goes a long way to help the developers check that they are building a product that will get used, i.e. it solves the core problem.

For many years, I have used a simple technique to help me before starting off software development projects. Take a requirement spec. and classify the information provided inside taht into two chunks -- "Problem space" and "Solution space". If there is nothing stated about the 'problem space', the project will most likely fail or stay in the dazed state. Why? Most likely it will not be built because it has no purpose, even if it is built, then the customer will either not accept it (or) worse still, say lovely words about the software and then ignore it.

The bottom line ... Do you want software that works? or Do you want a lot of software?

Sunday, June 25, 2006

Will Ruby on Rails take off big time??

The Ruby on Rails bandwagon is moving at quite a pace. Looking around on the blogosphere, it almost looks like it will replace Java and .NET for web application development. Now, is this likely? Will it really happen? Well ... here is my take on it.

Background: Rails is a web-app development framework that is about 15 months young now. So, as frameworks go, it is a baby. The interesting bit is the momentum that it has gained in such a short timespan is amazing. Given, the fact that it is competing with a large number of frameworks that have been around for quite a bit longer. Not to mention that this has no 'commercial' marketing machine supporting it. Shows what a dedicated few people can achieve.

So, will it replace ASP.NET, JSP, J2EE? Short answer -- unlikely. Why? Universities are not teaching Ruby + Rails yet, and they do not seem to be in a hurry to start replacing their Java/C/C++/VB programming streams in any hurry.

Of-course, some of you may contend with an argument like "professionals will learn Rails if it will save them time", "IT people will invest a few weeks of their time learning new things because it is cool". Ofcourse, both arguments assume (incorrectly) that full-time professionals will be able to dedicate 2-5 weeks full-time learning a new framework, and then attempt to build something with it. This is the big problem with something totally new, radically different. Java worked because it built on top of C like syntax which is already used widely, so it cuts the resistance curve. The other thing with professional developers is their skills are incremental, i.e. they have picked up bits and pieces of new things over a period of 3-5 years. This eventually makes them quite good even with a monster like J2EE. Learning Rails means we need to invest a large pool of time in a short burst, and this is quite hard for full-time professional developers.

Rails is well thought out -- and it will take time to learn. Ruby will take time to learn -- developers need assigned free-time to be comfortable with its API, the IDE's, the tools and its bugs/workarounds. And, we need books like "Rails for Java developers".

Then there is the chiken-egg problem, for a framework to take off big time, we need a large pool of people that know how to use that framework. People will invest time if something is already popular (or) looks likely to take off.

After having played with it a bit, I really hope that something like Rails becomes available for Java/C# soon (with the same power). It certainly makes developing web applications easy, and I'm starting to appreciate the power behind the idea 'convention over configuration' -- which is really what underpins the UNIX way.

Friday, June 23, 2006

Predictions for operating systems...

I've completely removed all traces of Vista for now. Well on my rather slow machine was not exactly running that fast under Vista (AMD 3200, 1Gb RAM, 128Mb GeForce). I guess when the base operating system needs about 400-500Mb of RAM just for itself, it leaves very little for other apps. It does slow down once you have a few apps running at the same time ... [iTunes, Eclipse, Tomcat, Firefox, Office, PDF Viewer]. The weird part is that the same set of apps. all co-exist quite happily on XP, and under Ubuntu you almost forget how many apps. you really are running.

As a whole, Vista does have a nicer UI compared to XP, Explorer took a while getting used to. IE7 is actually usable (the only weird bit was having to endure ads. on the internet -- Firefox+Adblock ensures a practically ad-free browsing experience). I'll certainly give it a go once they are out of Beta and into the final releases. Assuming I do not have to upgrade my hardware to get the Vista experience.

After having fiddled with it for a few weeks, most sys. admin. types will need to spend quite a few months getting into this O/S. Given the number of changes and issues that are likely to crop up, the uptake in the corporate (managed) environment will be very slow. My guess is that it will get a solid uptake around 2008 by which time most of the hardware companies would have caught up, SP1 will be out, training material/books will be available. So, if you work in a corporate environments where they love SOEs (Standard operating environments), then be very patient .. this is not a roll-out that they will be willing to undertake very fast. Bottom-line: Vista does not offer a lot of new features that are 'needed', then again it has the best looking Solitaire I've ever played -- so you never know... they may just have the killer app. to convince most management.

Here is my predictions for the O/S land:
1. Vista will be released in Dec/Jan timeframe to the world, with SP1 in around middle of 2007. (Yes, I'm probably in the 0.00000001% of the population that belives that M$ can pull this off)

2. Linux will gain popularity slowly and probably will get about 10-15% of the O/S market over the next 3-4 years. I'd love for Linux to be 20-30%, but sadly Windows is what most people know and like -- that kinda builds up a massive resistance to change. The one strong upside for Linux is the fact that the $100 PC project is using Linux and a lot of device makers are using Linux in their product lines. If you count these into the picture.....

3. OSX will continue to gain market share as well. They may be able to get upto 10% or so as well over the next few years. My confidence is not that high for this one though.

4. Vista will be about 30% of the O/S market in the next 3 year timespan. So this will really mean that in 2009/10 .. XP will most likely still be the dominant O/S. Sad, but that is the most likely outcome. Ultimately, this means that the funky new technologies that Microsoft has built into Vista will not take off very fast.

For good or bad, the future looks very fragmented indeed.

Thursday, June 22, 2006

Microsoft decoded...

So what does Microsoft (M$ from now on .. or should it be M$$ .. M$^$?) do? I am (was) fairly certain that it is an O/S company that also makes a nice Office suite. Then again, maybe they are a Music company .... scratch that -- I mean they are an Internet portal, nah .. they are a search company.

Just off the top of my head M$^$ are into .. an O/S, Office suite, E-Mail, Internet search, Mobile phone software, iPod killers (yup that one has been announced), Firefox killers (IE8?), PS2 killers, Gameboy killers (I'm sure that is next), Input devices, Web cams and that list keeps getting longer and weirder each day. Add to this the fact that they also want to compete with (or kill off) Oracle, SAP, IBM, Google.....

The rationalists/analysts will offer silly (logical) explanations like "M$$ has forgotten what it is that they do". Baa-humm-bug, my 'conspiracy theoritical explanation' is that they are not really a software company at all ... M$ is in fact a large charity focused on helping out C/C++ programmers.

huh? Well, think about it ... they employ about 60,000 developers. They lose money on just about product-line except Office and Windows. Given that about 10,000 developers are working on these two product-lines. They effectively are looking after 50K C/C++ developers. There you go ... this is the truthiness behind the world of Microsoft.

-- Rajesh

Monday, June 05, 2006

Office 2007, Office 12 ...

Still not sure what M$ will decide to call the final version - 12 or 2007. Either way here is my initial thoughts after using it now for a few days.

The basic Office apps come in a 450Mb install file. Install is fairly quick and as things go fairly straight forward --- esp. since I installed everything.

I've played around with Word/Excel and Powerpoint mainly. I belive there is something deeply wrong with an email app. that needs 100Mb, so Outlook never got a serious look.

All of the apps. have been given a bit of a makeup, with a new UI. To start off, my first 20min. with the UI has not been very enjoyable. After using it for a few days, I must say that the Usability people working at M$ have been doing a great job. The UI is very very responsive (even for a Beta), and the ribbon thing actually does work.

The downside is the first few hours of getting used to the changes are not very plesant (to put it mildly), but once you get over that short term pain -- things start to look up. I like the work esp. in Powerpoint. Working with Tables and Pictures is now very easy - esp. giving the images nice effects that just make it look it that much nicer.

Word-2007 is unfortunately a bit of a memory hog now [beta?], still after persisting with the new interface - I'm starting to see the whole point behind the changes. There are a lot of tasks that are now a bit more accessible (actually you now know they are available).

Excel has a number of minor tweaks to its Usability. Charts and scrolling are much much better now. The Excel charts can be given that 'pro' look without too much effort :)

Bottom line: If you plan on moving to Office 2007, invest a few hours into the new UI and it will slowly start to grow on you.

Business case: This is a much harder .... I just cannot see enough new features in the product that will make businesses move to the new product line. The UI will most certainly require users to undertake some level of training, the hardest bit to get over is the complete lack of a menu-bar. Habits are hard to change, my feeling is that the final version will most likely have the menu-bar put back in just to make users feel a bit more at home. A lot of companies are still using Office-10, some have moved to Office-11 fewer still will move to Office 12.

-- Rajesh