Planning for Success
Building a successful web or software application should be much like building a house.
In home building, before the first nail is driven, before the first load of concrete is
poured, and before the lot is cleared, the builder has a detailed plan. Without some
sort of a plan, the layout, the materials to be used, and the type and quality of
finish are not known. Just as importantly, there would be no way for the builder to
provide any kind of time or cost estimate. Obviously, no sane future homeowner would
let a builder start without a plan…
So why is it that so many web and software applications are attempted without a thorough, quality plan?
Far too many web and software development projects go over time and over budget, or just fail altogether.
In almost all such cases, the cause can be traced back to inadequate planning.
Step 1: Requirements Gathering
One of the reasons why we love what we do is that we get to learn about so many diverse businesses.
When you work with Electric Edge Systems, we will learn all that we can about your business, what your
needs are, and which solutions will serve you best. Learning all about your business process and rules
helps us to evaluate the impact of proposed solutions on your entire business.
The result of the requirements gathering phase is a simple plan that all parties can follow and understand.
Step 2: Data and Technical Design
For applications that require data to be entered, stored, retrieved, or modified, a database will be at
the heart of the system. Going back to the house building analogy, the database is equivalent to the
foundation. It is of great importance to get the foundation right before the rest of the structure is built.
Designing the database in advance and making it efficient and easily expandable for future needs is absolutely crucial.
Doing so will make the rest of the development process much simpler and will avoid potentially costly and time
consuming changes later in the development process.
A quality technical design is another important element of application development. This document will
list and describe the functionality to be provided and will define the scope of the project.
The technical design document is a roadmap for you and for us to follow. Furthermore, it provides
a definition of the project that can be referred to when evaluating the progress of development.
The level of detail in the technical design will vary depending upon the complexity of the project and
your time and budgetary limits. Please note however, that when more time is spent on the technical
design, the time and expense of the development phase is usually greatly reduced.
Step 3: Development
In the development phase of a project, the software programming starts and the system begins to
come together into something that you can see and use. For projects that are not properly planned,
this phase can be a disastrous litany of false starts and errors, resulting in re-working of major
components, missed deadlines, and blown budgets.
If a good database and technical design is in place, system development can be one of the smoothest
phases of your project. With a proper plan, the developers can simply follow the plans and build
your solution.
Of course, during development of any system, some degree of change is inevitable. For example,
some parts of our work may inspire new ideas for additional functionality that would be of great
benefit to you. In order to keep projects manageable, we use a change control process. Under this
process, a change request is written-up, the extra time and cost is quoted, and you and we sign-off
on the change. Even if a change involves no additional time or cost, a change request is created to
account for the final results of the project. A proper change request system is of benefit to all parties
as it increases clarity and accountability.
Step 4: Testing
During development, our people will test each component of your system as it is built. This is referred
to as "unit testing". For larger projects, you and your staff may be asked to perform
some of the unit testing.
Upon completion of initial development, the system is tested as a whole. This is called "integrated testing".
In the information technology business, it is widely understood that the programmers are not the best
candidates to test the system as it can be difficult for people to evaluate their own work objectively.
As the user and owner of the system, integrated testing is mostly or entirely performed by you since nobody
has a better understanding of your business and its needs. At the same time, we can produce a "test plan"
document for you. A test plan can list some of the potential situations that users may encounter, so that
you can be sure to test the system against these possible conditions.
Upon successful completion of testing, you can sign-off on that phase of the project and implementation begins.
Step 5: Implementation and Ongoing Support
Project implementation is when we "flip the switch" and you begin using the system in the real
world and with your real data. This may happen all at once, or in a phased approach.
For the first while after implementation, we stand-by to offer assistance if any unexpected
situations arise. Beyond that, we are pleased to make ourselves available to you for ongoing
support. This may include training of your staff, documentation of your system, and adding to
your system and making changes as your business grows and evolves.
|