Wednesday, November 12, 2008

Software Productivity, Quality and Innovations

--This article is compilation from different source embedded with my views.--

In old days programs are written in C and C++ (you can imagine how hard it must be) of course for controlling systems, Defense applications and automatic logic inside tools and appliances. Now the purpose of software crawled to new heights. Most of the development is happening on WEB or client applications. We have very good editors for programming languages, good tools for testing, source control, deployment etc., still Quality and Productivity in Software industry is a question. WHY ???

Besides maintaining quality and productivity how many major innovations happened in Software. Few of the impressive innovations are email, search engine, messengers, social community sites, ecommerce, TV on Internet, etc.,
Microsoft is working closely with a innovative firm in India to develop software for a robot, which can unharvest coconut from coconut trees. Research is going on. If it succeeds it will be a millions of dollars business and raises curtain for billions of innovations.
I strongly believe Universities are the places where the seed of innovation starts. we need to encourage R&D at universities especially in India. Though 30%+ employees in Microsoft are Indians no Indian entrepreneur was able to capture this market !!!

How many options are available at different stages software development:
the software industry has more than 600 programming languages in use. We
have more than 40 different methods of designing applications. We have 38 different
kinds of size metrics. We have some 26 named development methods. There are about
25 international standards that affect software. There are at least 18 different kinds of
testing, and four different kinds of review and inspection method.

How many methodologies Software has:
Agile development, the capability maturity model (CMM), the
capability maturity model integration (CMMI), CASE tools, clean-room development,
CRYSTAL development approach, dynamic system development method (DSDM),
extreme programming (XP), incremental development, ISO 9000-9004 standards,
iterative development, object-oriented development, pattern-based development, personal
software process (PSP), rapid application development (RAD), reusability, SCRUM, six sigma
for software, spiral development, team structured process (TSP), total quality
management (TQM), and the unified modeling language (UML).

Software Engineering Issues that have stayed constant over years
Initial requirements are seldom more than 50% complete.
Requirements grow at about 2% per calendar month during development.
About 20% of initial requirements are delayed until a second release.
Finding and fixing bugs is the most expensive software activity.
Creating paper documents is the second most expensive software activity.
Coding is the third most expensive software activity.
Meetings and discussions are the fourth most expensive activity.
Most forms of testing are less than 30% efficient in finding bugs.
Most forms of testing touch less than 50% of the code being tested.
There are more defects in requirements and design than in source code.
There are more defects in test cases than in the software itself.
Defects in requirements, design, and code average 5.0 per function point.
Total defect removal efficiency before release averages only about 85%.
About 15% of software defects are delivered to customers.
About 5% of modules in applications will contain 50% of all defects.
About 7% of all defect repairs will accidentally inject new defects.
About 5% of software outsource contracts end up in litigation.
About 35% of projects > 10,000 function points will be cancelled.
About 50% of projects > 10,000 function points will be one year late.
Development costs about $1200 per function point in the U.S.
Maintenance costs about $150 per function point per calendar year.
After delivery applications grow at about 7% per calendar year during use.
Programmers need about 10 days of annual training to stay current.

Hope you had fun !!!

1 comment:

web counter
Download a free hit counter here.