DevNewz News Archives About Us Feedback

Top Web News

Coke: Search Ads Drive Traffic
Paid search advertising has helped thousands of businesses reach consumers who may never know they exist; for giant international companies, search ads also work well at bringing customers to solutions they provide.

Stack And Swarm At The Digg Labs
User-contributed news site Digg has entered experimental territory, as founder Kevin Rose disclosed the debut of Digg Labs. A couple of projects call Digg Stack and Digg Swarm arrived online, as Rose revealed the Digg Labs today.

The Few, The Proud, The MySpace Marines
The United States Marine Corps wants to add you their friend's list. The demographic on MySpace.com matches perfectly the profile of potential new recruits. It saves the government some phone calls and allows the military branch to avoid visits to San Francisco.

Dabble.com Runs To Video Store For You
Broadband has fueled the explosion of online video sites to the point that bits of content lay scattered throughout the Internet. As users continue to generate video in a smattering of places, the clip connoisseur toggles between them to get his fix. Dabble.com wants the video junky to stay in one place.

EU Domain Grabs Lead To Lawsuits
The European Registry of Internet Domain names (EURid) suspended the registrations of over 74,000 dot eu domains and accused 400 registrars of warehousing names for resale.

Ajax Book Review
The first thing I should say is that this is a thoroughly enjoyable book. Ed Woychowsky is fun to read, and I could almost recommend this to you even if you have no interest in Ajax.

Mac OS X Ruby on Rails - Where to Go Next
When we left off with Mac OS X Ruby on Rails, I had Rails up and running but had not a clue as to where to go from there. It's not hard to find information and tutorials on the net, but as always, assumptions are made, prerequisites are brushed by or ignored entirely...

Local Live Makes The Call
Business listings on Microsoft's Windows Live Local search now display a "call for free" link, connecting one's phone with the business. Greg Sterling at Search Engine Watch highlighted the silent launch of Live Local's new Call for Free feature.


Learn More about our dedicated servers

07.26.06

Software Development Fallacies To Avoid

By 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.

Learn More about our dedicated servers

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.

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

About DevNewz
DevNewz has assembled experts around the world to deliver helpful advice to application developers. Our in-house news staff focuses on keeping you updated with the latest new software and trends in application development. DevNewz provides Knowlege For Application Developers.

DevNewz is brought to you by:

SecurityConfig.com NetworkingFiles.com
NetworkNewz.com WebProASP.com
DatabaseProNews.com SQLProNews.com
ITcertificationNews.com SysAdminNews.com
LinuxProNews.com WirelessProNews.com
CProgrammingTrends.com ITmanagementNews.com


-- DevNewz is an iEntry, Inc. publication --
iEntry, Inc. 2549 Richmond Rd. Lexington KY, 40509
2006 iEntry, Inc.  All Rights Reserved  Privacy Policy  Legal

archives | advertising info | news headlines | free newsletters | comments/feedback | submit article
Knowlege For Application Developers DevNewz Home Page About Archive News Downloads WebProWorld Forums Jayde iEntry Advertise Contact