| This
article meant for small, web application and web site development
companies which need some formal guidelines in their development
activities toward success. Written in a simple format. For suggestions
and clarifications contact the author at
Creating
Software for Personal Computers and making it available for a single
user or a small group of user is becoming outdated. In this Global
village if anyone creates an application, it should be web based so
that the user can, just not only run the application from his office
PC, but also while he is away on vacation from his home. To attain
this the application should be web based. These applications are called
as web applications.
But many of the Web Application Development projects fail to meet
the user's requirements or to be implemented within budget. In this
article let us briefly discuss some of the success factors that can
make a development effort standard and significantly success.
Finding the scope
Before starting the development of a web application project, the
development team should understand and document, the scope of the
application. Particularly, who are the users, does they have Internet
access in their home and what are the advantages does the user get
if the software application becomes an web based application.
Compare with some sample Applications
Before
starting the application designing review as much as applications
possible, and list out their features and drawbacks. They can give
you the dos and don'ts and that can lead you to make your application
to overtake your competitors. Moreover you can think about various
aspects that you can add in your application. For example you competitor's
applications may be in MS Access as a back-end database. You can
add facilities that can support MS-Access as well as MS-SQL server.
Let your plan be realistic
Estimating (not guessing) the time and letting
your developers to work under a realistic plan is a must for your
application success. Always estimate the development time in man-
hours and not in man-days or man-months. To estimate the time in
hours, you should document your micro parts of the applications
and all complexities involved. Now you can give your people to work
in a stress free environment and a low bug factor in your application.
Meeting the agreed modules
Before winding up each module there should
be a verification, that ensures that all the agreed things in the
planning meeting and the commitments given to the customer are present
in the module. For example if the application needs load
balancing should provide the necessary load balancing mechanisms.
Pushing your schedule up
Unless you have a reasonable justification,
do not prepone your development time. Just for marketing reasons,
changing the schedule may lead to lots of bugs and that may cost
even more than the estimated. Urging your programmer to finish the
modules before the time estimated for that, can not help the application
development a success. If you are managing the project keep the
original estimated time and the development plan and not the exigency.
Managing the configurations
When you build web or software application,
there happen always some changes. So that, we need have control
over that. Configuration management is a set of activities that
are designed to control change by identifying the work products
that are likely to change, establishing relationships among them,
defining mechanisms for managing different versions of these work
products, controlling changes that are imposed, and auditing and
reporting on the changes that are made. If you are working as a
team with same source code you need to have a proper configuration
management system established for your firm to have good control
over the changes. Find one like Clearcase
or WinCVS.
Formal milestone reviews
Conduct milestone reviews whenever you need
to check you web application development progress. Milestone review
is a formal review of management and technical progress of a project.
This kind of review meetings can accurately tell you the project's
stand.
Conduct short time meetings
Even if you are not following extremeprogramming
standards, you can still follow standup
meetings at everyday morning. This can check with your team
about the status and to in form short notices. You can finish the
discussion quickly and move your work. Everyone in the team can
understand about what each other is doing in the standup meetings
and there will be a good coordination between each other.
Testing ...Testing...
Allot at least 25% of the development time
for testing. Intensive testing is needed in this competitive product
world. Use good testing tools and methods that can match with your
applications. You can find good FAQs and resources at softwareqatest.
Achieving Quality
Quality control is not just Testing. Establish
a Quality control procedure list, for your company with your present
setup which the company affords. Everybody in the firm should learn
the standards and procedures that the company follows. Refine your
process according to your procedures. If you are a small company,
try to create the standards and quality control measurements at
the earliest, because its easy to do and improve. If your team does
not have a good stand on Quality you can not achieve quality web
application.
References:
1. C. Jones, "Patterns of Large Software
Systems: Failure and Success," IEEE Software, Vol. 12, No.
2, Mar. 1995, pp. 8687.
2. Books such as Tom Gilbs Principles
of Software Engineering Management (Addison Wesley)
3. Standup meeting at Extreme Programming - http://www.extremeprogramming.org/rules/standupmeeting.html
4.
Internal Quality Assurance Guidelines from State of Texas : Department
of Information Resources
5. Software Engineering - A Practitioners'
Approach by Roger Pressman
About the author: Benny Alexander is a web developer,
having more than 5 years of web development and web marketing experience,
worked for various web development companies. He is basically a
Visual Basic, ASP, MS SQL server programmer, and also a freelance
writer, writing technical articles and other content for fortune
500 company intranets and extranets.

|