Write Articles A community of people who love to write

The easiest domain name (Note the .ORG) - Absolutely Free!
  

Home | Submit Articles | Login   
 
ALL Categories HEALTH EDUCATION FINANCE TECH WOMEN ENTERTAINMENT TRAVEL
 

Developing a Software is one Thing, Selling it is Another Story

BY: PolyvalentComputerGuy | Category: Technology and Computers | Post Date: 2010-01-10
 



•    Read Comments

•    Print This Article



   PolyvalentComputerGuy
Help others find this article:

ADD TO StumbleUpon ADD TO DEL.ICIO.US ADD TO DIGG Share with FACEBOOK
Show All Social Bookmarks


As a developer plans to build a software for both the general public or a specific need, it designs its product using specifications, a design template or sometimes even on the basis of oral instructions. Once done, it is tested under optimal or almost unreal conditions.

Things start to get complicated when either:

1. The user begins to change the computer hardware
2. The software is installed on another machine
3. The user updates or simply upgrades his version of the operating system.
4. The initial context changes
5. Or generally, the environment has changed.

It is true that it is impossible to build a software that can fully resist the alterations of the environment in constant development. But a good designer/developer will minimize to a certain level the disruption of its product during its expected life cycle.

Note one very important point. Our goal is not build a software without bugs. The bugs do exist and will probably always exist in softwares. But what we need is to build a workable finished product.

Remember the bug in 2000 in which softwares used two digits to store the year. On year 2000, these same softwares might be confused between the years 1900 and 2000 for example.

Not to be confused with a software developed on a PC with the latest technology for maximum performance. This software could not run on 90% of PCs on the market because it requires a huge amount of resources.

All this is fine but I'd like specific examples you might say.

EXAMPLE 1:

One day, a software publisher has delivered software to manage access to the company. He installed the software and after several attempts without success, he asked me to install Microsoft Office XP instead of Office 2003 and remove the English and keep only the French on the system so that his software works properly.
I told him that it's his software that must run and be adapted to the system and not the reverse. I can not change my configuration because of software among other or dedicate one machine for his specific tool. That was absurd!

This is not a bug, it's a bad design/build!


EXAMPLE 2:

Someone develops business management software. It incorporates the maximum possible functionality, good user interface, good performance.
Once completed, customers ask how to import the history of their management (sales, invoicing, deliveries ... etc. ..) they have in Excel or in an old DOS software.

Ooooops!

EXAMPLE 3:

A small company developing a utility for sending emails to a clients list and management of advertisements. Once done, they realized that this service is free for a while on some well known websites.



This is to say that building a software is only a step in the process of producing a software.

A software must necessarily go through a series of tests.

Checking the compatibility with different versions of the operating system (Windows XP, 2000, VISTA. ... etc.)
Test the functionalities of the software with or without service packs and updates.
Test the performance of software on different hardware (CPU, RAM, disk, BIOS, video accelerator cards. ... Etc.)
Check the appropriate functionality in single-user, networked, under Active Directory ... etc.
Test the software on computers running (not fresh machines) that already contain other software installed to ensure that no conflict exists.
There is a big difference between a branded and a clone PC. Make sure to test it on laptops as well as on the Desktop and clone PCs.


Other recommendations:

Try to put yourself in the user position as possible.
Comment your software as possible, do not say "I'll do itas soon as I finished the bulk of development", you won't!
Respect the essential foundations of development. It will take more time, but you gain much in the end.
Manage your versions properly (there are even tools to help manage source versions)
Avoid hardware dependency and low-level system functions. Especially if you have no guarantee that these features will be supported in the future.
Give importance to the generation of software installation. Over a quarter of problems arise during the installation of the software.


And do not forget the most popular softwares are not necessarily the most efficient!

Article Source: http://www.saching.com



About Author / Additional Info: K.Marouf I am a computer systems engineer working as project chief manager at COSIDER Algeria. I develop softwares, maintain computers, train people and all what is related to handy jobs.

Additional Articles:
* Do you have Diabetic Ulcer? Cause of loss of sensation on your feet
* Find Cosmetic Products That Fit You- Hair care & skin cosmetics
* Earn the Power to Change the Future of the Society with an LLB Degree
* What every person needs to know about India
* PROMOTE DOMESTIC TOURISM

Does this article violate or infringe on your copyright ?
It is a violation of our terms for authors to submit content which they did not write and claim it as their own. If this article infringes on your copyrights, then use our Contact us form with the detailed proof of infringement along with the offending article's title, URL and writer name. If you do not hear back from us then contact us again in another 10 days. Thank you.




Comments on this article: (0 comments so far)

* Additional comments are now closed for this article *
Comment Comment By Comment Date



Article Views: 2988

Page copy protected against web site content infringement by Copyscape
Copyright 2010 saching.com - Do not copy articles from this website.


Important Disclaimer: All articles on this website are for general information only and is not a professional or experts advice. We do not own any responsibility for correctness or authenticity of the information presented in this article, or any loss or injury resulting from it. We do not endorse these articles, we are neither affiliated with the authors of these articles nor responsible for their content. Please see our disclaimer section for complete terms.


| Home | Disclaimer | Xhtml |