For over 3 decades, my career has centered on identifying and dealing with business problems. With the migration toward internet based and wireless technologies since the dawn of this millennium, my focus has shifted from large, mainframe platforms to distributed systems, networks web applications and, primarily, website development.
Whether building a website as a software system solution for a problem or an improvement over an existing process, the phases of building any system, large or small, entail all of the following aspects to some degree:
Discovery & Analysis –
This is the phase that get’s the proverbial “ball rolling” and could even determine whether the project is even necessary. Determined by size and scope, time spent in this area will have a huge impact later down the road.
Planning & Design –
With good discovery and analysis, the prerequisites for an optimal design are met. The design is as important as the previous phase. Quality time spent in this phase will show a big payoff in that a good design can be ported to any platform in any environment.
The development process should be the least time consuming of all phases. With properly laid ground-work and the choice of developmental resources an arbitrary matter of preference, laying down the code should be a snap.
Once the test site has been approved, it only takes a matter of seconds to migrate it to live status.
Maintainance & Support –
Bugs may likely surface for a time after the site has gone live, but eventually they will subside. Maintenance issues will arise periodically as well, as business needs and preferences change.
Equally Important –
It is unfortunate that security is a necessity, but it is, especially this day and age. One aspect of the old mainframe days was the solid security it boasted. Many of today’s hackers have the most technical savvy and expertise. By constantly changing counter-measures, we can keep the bad guys at bay.
Resource Management –
Project management is an industry unto itself, though for most website projects, there is no need to hire a dedicated PM. By following a few guidelines, we can adequately manage all of the resources of our project.
Quality Assurance –
Monitoring the performance is important in making sure that the functionality of the software is efficient with optimum resource utilization. There are many tools available to aid in QA.