Archive | February 22, 2007

Application Development Process

Application Development Process

To some, application development or software development is as easy as asking a developer to create a program for their business and that’s it. The client will simply tell the developer what they need and what they want to happen and leave the other parts to the developer. More often than not, the technology appreciation of the client does not meet with the
business appreciation of the developer. So the end result – an unfinished project, a frustrated client and an unpaid developer.

Although project success is something that cannot be guaranteed, there are some standard and proven steps to follow to ensure a higher rate of successful system
deployment. Before we go to these steps, let me tell you the factors that often contributes to a failed application development project:

1. Lack of business planning.
2. Lack of top and senior management support.
3. Lack of design specifications.
4. Lack of functional specifications.
5. Lack of communication, coordination and
cooperation from various departments within the company.

Now as a general rule, a project always starts from a need or as an idea that requires a solution. Normally, this stems from meetings and brainstorming sessions. When this happens, make sure to include all parties involved – business division managers, technical team, senior management and others. Everyone who will be impacted by the project should be involved and represented. Leave one of them and problem will surely occur. So here are the steps that you should follow to ensure a higher application development project success:

1. Business Requirements
It is very important that you list down what your company needs, and write it down in a very
user-friendly format and language, avoid technical jargons. This will serve as your guide to ensure that all aspects are covered. This document will also help you determine the process, identify your hardware and software specifications and others.

2. Design Specifications
To explain this in its simplest form, let’s go back to the basic. Treat this as determining your input, process, output. Determine where the data will be coming from; what will the system do with the data, and how will it be reported or stored.

3. Database Design
This is one of the more important aspect of the development process, designing what and how your data should be stored. Each fields should be identified: name, type, and length. A well-defined database structure will bring ease to the development process.

4. User Interface Design
What the user will see and how it would interact with the system should also be carefully design. Ease of use should be given the highest importance, next is design flexibility for future changes.

5. Review Description
Before going to the next level, have everything reviewed. To make sure that every thing was
considered and included.

6. Functional Design
This is where you will create a reference manual that will contain everything that you have planned and designed. This will be used as a reference by your technical team that will be in-charge of development, integrate, test and released the completed application. This is where you also need to decide which software tool to use, hardware, performance, security requirements, policies, error-handling and system limitations if any. After achieving this
stage, you will have a more accurate timeline that will lead to the completion of the project. The timeline should be followed and a regular reporting should be done as well.

7. Development
Actual development begins. Everything that was planned will now be put into action. Each completed steps or modules should be reported to the entire team, so as any changes from what was planned.

8. Testing
Every module should be tested properly and the entire system should also tested as a whole. It is recommended that a parallel implementation with a manual or an old system should be done rather than a shot-gun implementation.

9. Debugging
Changes or improvements should be done if needed. Never rollout a half-baked system. Keep testing the system until it is almost near error free. If the desired result has been achieved then the system can now be introduced to the company.

10. Training
Training the users on how to use the new system is also important. You can assign division heads and assistants to learn the new system and they’ll be the ones to train their sbordinates. A regular meeting should be done with each division to assure a smooth
implementation of the system. Any complains or concerns should be addressed the soonest time possible.

The most important and critical ingredient of a successful project is communication and involvement. From the top level executives, senior managers, business unit managers and technical team – all of them should be inform of any developments and changes. Problems and obstacles will definitely arise which may lead to loss of momentum and support from the
members. That is why a cohesive team should always be maintained to avoid such from happening.