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.
Saturday, August 30, 2008
Software Updates - How many of us use the new features?
All Software Vendors charge customers an annual maintenance fees for support ( read defects in the software) and updates with new features. The cost of these fees is pretty high anything from 15 % of the list price to as as high as 30 % of the list price. I find that most applications do not use the new features. For existing applications in production, using the new features means a regression test, for new applications it means undergoing a training and trying out the new features. Do production applications have the budget and time for this or even for new applications do people have time and budget for learning experimenting and implementing. Are we using what we are paying for?
Wednesday, April 2, 2008
How Much Do We Need to Repeat Code
With the new paradigms in Software , I find that the same validations need to be repeated over many of the tiers of the application software. The same validation is repeated in Javascript , Middle Tier and the database layer. This means more maintenance, keeping the n parts in sync and more hardware horsepower to maintain and run the application. Sigh!
Tuesday, March 11, 2008
Why are software installations so difficult
After paying a large price for software, one feels that it is all done with and one can start using it. But unfortunately it is easier said than done, if a person has not installed it earlier he either has to pay a charge for the installation to the vendor or go through an installation manual of over 500 pages and attempt to install it. After following the instructions in the manual, snags arise. To solve the snag, the product support site needs to be accessed and what is found that a patch needs to be downloaded to proceed ahead! The least a vendor should do is to provide self installing software without the administrator going through pages and pages of manuals and downloading fixes and rather unfortunately when the next version comes out the installation procedure changes. Sigh!
Sunday, November 4, 2007
How Much Ownership do Software Makers Take?
Cars have been recalled and corrected by the manufacturers, drug companies have paid through the nose, chemical companies have paid for their accidents, doctors get sued, airlines also pay when things go wrong. However software makers absolve themselves of any losses that may arise due the use of the software. This is very strange that there is no redressal for consumers who lose because of software.
Thursday, November 1, 2007
Is the knowledge of software developers shallow?
In the earlier days, software was developed using only a single language, the language stayed stable for 4-5 years, generally used a procedural paradigm, the language did not have too many constructs, so it was possible to master the language in a reasonable time. Today with multi tier applications the number of languages is increasing, with new versions coming out in shorter time frames, a person probably has to know three to four languages to write an application. HTML, JavaScript, JSP, Java and SQL. Has the depth of software knowledge become deeper or shallower? Most people know the languages to a shallow level, their resumes contain 20 to 30 different languages tools platforms, in a period of a year or two, does it mean they have mastered them. I have yet to find doctors who are able to master a plethora of disciplines. I would shudder to go to a surgeon who is an eye surgeon + an ENT surgeon + a cardiac surgeon + neuro surgeon.
But we do not shudder to use software developed by a single person using multiple languages
But we do not shudder to use software developed by a single person using multiple languages
Subscribe to:
Posts (Atom)