Wednesday, April 2, 2008

How to build great software

In this article I will explain the 10 leading software development fallacies my company avoids. By avoiding these myths and concentrating on excellence, we are able to make high quality software.
Myth 1) Software must be designed in detail before development begins, so that a clear plan can be out of the truth layed.
The) The more complex a design, software design more as it is. By perfecting a design, then the software written for the design, which is written effectively work twice. Instead, with just a few simple sketches of design and data modeling rather than a book-like design, a good development team can create a shell for the software efficiently and to improve the finished product. This process of refinement creates natural prototypes, allows easy adaptation when it comes to unforeseen issues that arise for a design (or brought as fresh concerns about a client), and the whole process takes much less time. To pull this takeoff requires a close team, the skill and experience, but it is by far the best choice for the majority of situations.
Myth 2) There are programmers, designers, analysts, and the truth users.
The) By structuring development so that all developers get exposure to every part of the development process, you can share knowledge and greater knowledge can be acquired. If developers are encouraged to actually use the software then they can use the experience to think about the improvements that otherwise would not come to light.
Myth 3) A team is a happy productive team.
The truth) A team people with a wide range of Natural skills, experience and concern, criticizing others and argued vehemently in the smallest details, will appear and solve problems that otherwise would never be tackled. An oven relentless argument is the best way to build understanding and reach perfection.
Myth 4) It is important to understand our direction and not compromise with the truth it.
The) Life is a compromise, and compromise is not a weakness. There will always be issues (such as efficiency, budget, ease of use, power, scope and need for internationalization easy) that can not be fulfilled simultaneously without such compromise.
Myth 5) We know what the customer wants, I know that the issues are.
The truth) Without constant re-evaluation, it is easy to lose sight of the goal. Developers are often faced with problems they consider to solve the problems, when they are in fact separated from the real objectives of the market and can become totally irrelevant. The developers must always understand the market goals and be able to adapt to changing other things, or even own goals change.
Myth 6) Bigger is better. Features are cool.
The truth) Features can easily confuse users, and their actual value should always be considered against the cost of confusion. In some cases, it really sensible to remove from work due to features such concerns.
Myth 7 a) The customer is always the truth right.
The) Most customers try hard not to look ignorant in front of software developers, and therefore both their suggestions in a technical phrase. The effect is that often the suggestions are not really appropriate, because it was not founded on a solid understanding of the technical issues.
Myth 7b) The customer is often the truth wrong.
The) While the needs of customers often are not best served by doing literally what they say, you always know what they want and why they want it - and usually for very good reason. Understand and adapt to what they say, discuss with them, but never ignore them.
Myth 8) code a comment lot.
The truth) Good code needs almost no comment, because sensible names and uses of white space are better alternatives. Comments should only explain the non-obvious, or provide standard API documentation.
Myth 9) Such and such is necessary, just what is the truth great.
The) A bad worker blames his tools. Although some development tools aid development substantially, a good programmer can do great results in most of the things they served. There are some exceptions, like Microsoft Access, or assembly language, but generally speaking the difference in the quality of the results is much more due to the skill of the developers that the quality of their tools.
Myth 10) The customer will understand if there an efficient and easy to use interface.
The truth), the interface not only has to be easy to use, it must be navigable without a comprehensive understanding of the systems. The screens should be easily described. angela christy



Bookmark it: del.icio.usdigg.comreddit.comnetvouz.comgoogle.comyahoo.comtechnorati.comfurl.netbloglines.comsocialdust.comma.gnolia.comnewsvine.comslashdot.orgsimpy.com

No comments: