Sunday, July 19, 2009

Should we pay for all the bells and whistles

Do software makers give features to end users of the system because they need it to do their job easier or is it done to give an intellectual programming challenge to the developers and architects of the software. If we look at the bells and whistles provided by the Microsoft Office family, does anyone really know or use all of them. Finding out a feature itself is no simple task. Unfortunately software prices include all the bells and whistles which people really do not use. All documents need not be shiny, for example documents for internal circulation.

Software vendors should have a minimum of two versions one which gives the essential features at a low price and the one will all the shiny bells and whistles at a higher price.

Monday, July 13, 2009

How similar are Software Engineering and Engineering

The principles that apply to Engineering have been extended to Software Engineering. Is this really the right thing to do? The principles of Engineering have made Engineering products reliable, their delivery times reliable and of consistent quality. However Software products have yet to reach that level. Engineering products are made with human and machine effort, a larger part being machine effort while in software the greater effort is from the human side. Machines are predictable in nature and two identical machines will perform very similarly, while humans are very unpredictable even twins will not give the same output. The same human being's output itself is inconsistent the same task done by the same human being may give different results on two different occasions. Is it really right to apply the principles of machines to human beings or we need to create a new model?

Wednesday, July 8, 2009

Is the complexity of software development becoming more

As we have moved from 3rd generation procedural languages to the an object oriented world and larger language sets I find that the amount of complexity has increased and the time to get the software out of the door has increased. Due to the largeness of the newer languages, it is difficult to master or even be aware of the available constructs. Both these I think have a role to play in the unreliability of software.