[helpdesk.centralmanclc.com]
HelpMeICT
Helpdesk Issue Manager
[tigger.centralmanclc.com]
CPDM-P
Primary School Management Application
Applications
Dynamism
Static websites of course are not the only form of web content. Web applications, whether they be public websites or private applications, are among the more interesting systems. Examples of web applications are: simple forums, online communities, corporate intranets / extranets, and indeed any software whose results are delivered via a web browser. There are many platforms and languages that can be employed when developing dynamic web applications, and the following are those I work with. Those with an asterisk (*) are those I prefer to use, both due to familiarity and technical considerations, though each are equally available to my clients.
- PHP*, Python, ASP, Java.
- Apache*, IIS.
- PostgreSQL*, MySQL, MS SQL, Oracle.
The free nature of my preferred platform is not a coincidence. The amount of work I have done using these systems has taught me not only of their technical competence (and indeed superiority in some respects), but that they can allow for much quicker and less expensive development.
Your needs...
... are of paramount importance to you. Because of this, it is essential that any website or web application you put in place has to be built with those needs in mind. The often mutual exclusivity between those who know your needs and those who have the technical knowledge to fulfil them is a major problem in any software development. Any software project should take this into account, and ensure that the specification of the system is fully known and understood by both parties involved.
I tend to follow the eXtreme Programming methodology, or at least take elements of that methodology to satisfy my development needs. You would expect to meet with me regularly and often. Constantly evaluating the current state of my solution within the confines of the original specification. An important problem this overcomes is the divergence of the specification and the solution that so often afflicts software projects.
Another vital part of any development I undertake, is a concrete and immutable specification. Whereas this will probably be after numerous consultations, once it is agreed upon, it cannot be changed without a new contract being drawn up and new deadlines agreed upon. This problem of "creeping elegance" that so often afflicts software projects is detramental to both developer and client, and such an agreement at the outset is important if this is to be tackled.
Your clients' needs...
... are of paramount importance to them. Not only must your IT solutions meet your own varied and complex needs, but you must also make sure that your clients' needs are catered for. Probably the most important party involved in software development is the users themselves, and this should be reflected in both consultations and testing. Regardless of how explicit a specification is, without the input of those who will actually use the system, your project is not likely to be a success. User interface design is one aspect of this that must be taken into account, but also a detailed description of the processes the system should implement is needed.
To some extent, the user requirements gathering is the most important stage in the development lifecycle, and so it is vitally important that this is done properly.