Although some concepts seem easy to understand on paper, converting these concepts into software is a tedious work. An example of such a simple concept that failed to be converted to software was a personal task manager idea called “Chandler”. The development of chandler was a complete debacle even though an impressive team was assembled for the task. There are a lot of factors that need to be taken into consideration when creating software which mainly categorized under the initial design and planning.
Ansel Adams once said, “There is nothing worse than a sharp image of a fuzzy concept.” In disciplines such as civil and architecture engineering, clear standards are widely available to build houses, medium size buildings, and skyscrapers. However, software development widely lacks the basic standards or the blueprints to build applications. This follows the fact that software development is a mixture of art and science. Many software developers depend on the “trial and error” approach to build software. Most of the time, certain approaches are not known to work until they have been tried out. Nonetheless, there must be an initial plan that outlines the software features and the way they are going to be developed. The plan should cover the choice of programming language and how flexible it is for features implementation. According to Phillip Eby who is an experienced Python developer, the bad choice of programming language leads to: “much harder work than required in order to produce much more code than required and then performs much more slowly”.
Posted in: Software Construction– May 22, 2011