iSnare.com - Free Content Articles Directory
Authors Contents [Advanced Search][Add OpenSearch][Job Search]
Distribute your articles to thousands of article sites for only $2 and below! Read more...

Index  Computers and Technology
 

How To Build Great Software

 
[ Contact the Author] [ Send to a Friend] [ Article Publisher] [Make PDF] [ Print] [ Bookmark & Share]
 
Read our Terms of Service before reprinting this article. The submitter specified above has claimed the rights to this article.
Chris Graham

In this article I'm going to explain the top 10 software development fallacies my company avoids. By avoiding these myths and concentrating on excellence, we are able to make great quality software.

Myth 1) Software must be designed in detail before development starts, so that a clear plan can be out-layed.

The truth) The more complex a design, the more like software the design itself is. By perfecting a design, then writing the software to that design, you're effectively writing the work twice. Instead, by doing just some simple design sketches and data modelling rather than a book-like design, a good development team can create a shell for the software and efficiently refine it towards the finished product. This process of refinement creates natural prototypes, allows easy adaptation when issues that would be unforseen by a design arise (or brought up as fresh concerns by a client), and the total process takes significantly less time. To pull this off requires a close team, skill, and experience, but it is by far the best option for the majority of situations.

Myth 2) There are programmers, designers, analysts, and users.

The truth) By structuring development so that all developers get some exposure to each part of the development process, skills may be shared and greater insight may be gained. If developers are encouraged to actually use the software then they can use that expertise to think of improvements that otherwise would not come to light.

Myth 3) A happy team is a productive team.

The truth) A team of people with a wide variety of natural skills, experience and concern, that criticises each other and argues vehemently over the smallest details, will bring up and resolve issues that otherwise would never be tackled. A furnace of relentless argument is the best way to forge understanding and reach perfection.

Myth 4) It's important we understand our direction and don't compromise with it.

The truth) Life is compromise, and compromise is not a weakness. There will always be issues (such as efficiency, budget, ease-of-use, power, scope, and the need for easy internationalisation) that cannot be simultaneously met without such compromise.

Myth 5) We know what the client wants, we know what the issues are.

The truth) Without constant re-evaluation, it is easy to lose track of the objective. Developers are often faced with problems to solve that they consider the issues, when those are in fact separated from the actual market goals and can become totally irrelevant. Developers must always understand the market goals and be able to adapt when other things change, or even the goals themselves 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 is sensible to actually remove working features due to such concerns.

Myth 7a) The customer is always right.

The truth) Most customers try hard not to look ignorant in front of software developers, and hence phrase their suggestions in a technical way. The effect is that often suggestions aren't really appropriate, because they're not founded on a solid understanding of technical issues.

Myth 7b) The customer is often wrong.

The truth) Although customers needs are often not best met by doing literally what they say, they always know what they want and why they want it - and usually for very good reason. Understand them and adapt what they say, discuss with them, but never ignore them.

Myth 8) Comment your code a lot.

The truth) Good code needs hardly any commenting, because sensible uses of naming and white-space are better alternatives. Comments should only ever explain the non-obvious, or provide standard API documentation.

Myth 9) Such and such is needed, such and such is great.

The truth) A bad workman blames his tools. Whilst some development tools aid development substantially, a good developer can do great results in most things served to them. There are a few exceptions, like Microsoft Access, or assembly language, but generally speaking the difference in quality results is much more due to the skills of the developers than the quality of their tools.

Myth 10) The customer will understand if there's an efficient and easy-to-use interface.

The truth) The interface doesn't just need to be easy-to-use, it needs to be navigatable without an overall systems understanding. Screens need to be self-describing.

Important NoticeDISCLAIMER: All information, content, and data in this article are sole opinions and/or findings of the individual user or organization that registered and submitted this article at Isnare.com without any fee. The article is strictly for educational or entertainment purposes only and should not be used in any way, implemented or applied without consultation from a professional. We at Isnare.com do not, in anyway, contribute or include our own findings, facts and opinions in any articles presented in this site. Publishing this article does not constitute Isnare.com's support or sponsorship for this article. Isnare.com is an article publishing service. Please read our Terms of Service for more information.

Managing Director of ocProducts, a company specialising in software (ocPortal) to help people build a website.

Article Tags: developers [See Dictionary], development [See Dictionary], truth [See Dictionary]
Got a question about this article? Ask the community!
Article published on July 24, 2006 at Isnare.com
 
Rate this article:

Martin Yale 1217A Autofolder Review
Submitted by: Jeff McRitchie

For years the standard in paper folding machines, the Martin Yale Intimus 1217A is well-known in the small print industry for being a solid and flexible machine...

It’s a Mod Chip World!
Submitted by: Michiel Van Kets

No Nintendo Wii game console seems complete without a mod chip installation and with today’s latest mod chip innovations it’s easier than ever to buy and install your own Wii modification chip...

Martin Yale 400 Paper Jogging Machine Review
Submitted by: Jeff McRitchie

Any business that produces and binds a lot of documents on a regular basis should have a paper jogging machine on hand...

Laminating Film For Beginners
Submitted by: Jeff McRitchie

Roll laminators are awesome machines, but sometimes it can be difficult to know what supplies you need to use with your new laminating system...

PC200 Spiral Coil Binding Machine Review
Submitted by: Jeff McRitchie

The PC200 is positioned as a low-cost spiral coil binding solution for low volume users Here we take a look at this machine and examine its strengths and weaknesses...

Martin Yale 700E Paper Cutter Review
Submitted by: Jeff McRitchie

A commercial-quality paper cutter, the Martin Yale 700E is meant to be used in smaller print shops or in-house production floors for medium to large businesses...

Rhino Tuff CI 3000 Coil Inserter Review
Submitted by: Jeff McRitchie

Rhino's CI 3000 features a unique design that purports to make it easier to do spiral coil book binding...

Lamitek PhotoPro 13 Laminator Review
Submitted by: Jeff McRitchie

There are many laminators available and sometimes it is hard to know which one you should buy It is always a good idea to get a versatile machine, such as one that can do both hot and cold lamination, while also providing a crystal-clear finish...

Lamitek Photosmart 13 Laminator Review
Submitted by: Jeff McRitchie

The emergence and increasing numbers if digital printers has sparked an interest in laminating machines that can work with high-quality photos and/or glossier printed pages...

PC200E Spiral Coil Binding Machine Review
Submitted by: Jeff McRitchie

As the least expensive spiral coil binding machine that offers disengageable dies and an electric coil inserter, the PC200E is well positioned in the marketplace...

Be Careful When Buying Cheap Adobe Software
Submitted by: Adrianna Noton

When individuals are looking to buy software they always love finding cheap Adobe software However are these really great prices too good to be true...

What is the Difference Between Standard and High Yield Toner Cartridges?
Submitted by: Adriana N

There have been improvements in the manufacturing of printer toner cartridges Toner found in a cartridge is dry powder blended with a polymer that sticks on to the paper as printing takes place...

Inverted Microscope: A Great Tool For Studying Living Cells
Submitted by: Edison Rammsey

When you hear the term inverted microscope, you probably think of observing samples from under a microscope...

Digital Microscope: Eight Reasons Why You Must Have it Now!
Submitted by: Edison Rammsey

Welcome the Digital Age through a digital microscope With its eight benefits to be enjoyed, all other microscope will look small in comparison, pun intended...

Should Small Businesses Adapt to the Point of Sale System?
Submitted by: Adrianna Noton

In earlier times, a cash register along with a pen and notebook were sufficient means for processing and keeping track of transactions...

Isnare.com Footer Divider

© 2004-2009. Isnare Free Articles - An Isnare Online Technologies Free Articles Project. All Rights Reserved.   Privacy Policy