State of Current Software Development
Design & Development of software is most labor intensive activity in the world today. In spite of advances in technology. the way software is developed as changed very little over last 30 years. Oh, yes there are new tools, faster hardware, more users and more resources (human, financial and time) have been spent in trying to develop software solutions to complex problems (or we can say user requirements). But fundamentally how software is being developed is only changing at snails pace.

If some of the other marvels technologies that humankind has invented have gone through same pace of change as the software development, we would still be traveling in steam engines, take weeks to travel from continent to continent, be very expensive to communicate over long distances, and polio could have still threatened to wipe out our dear humankind instead of nuclear weapons. This is not a forum to discuss whether the technological change is good or bad, but we would like to just say that the incremental change that is happening in the way software is developed is very slow. By this day and age all software should be designed and developed using software engineering principles, reusable components and other engineering principles. Software should be highly reliable, with reasonable development cost and high predictability of completion. In our opinion today's software development techniques do not meet these standards.