Software development is an abstract process. Envisioning the exact functionality of an entire application proves to be quite difficult before the development process begins. While the client may have a general idea of what types of tasks their application should perform, he/she never fully imagines the requirements necessary to perform each function.
Before development, an experienced programmer would carefully consult their client, breaking down each requested function, until all possible details are uncovered. During the development process, a series of milestones would be scheduled where input may be received from the client. Typically, at these points, the client will have a clearer grasp of how they would like their application to be structured. After gathering the client’s input, the developer will make the necessary adjustments. Correct scheduling allows the developer to make time to perform these adjustments.
Because of software’s abstract nature, a definitive completion point becomes difficult to pin down. The client may realize an infinite amount of functionality which they would like to include however, it is unfeasible for the developer to make an infinite amount of adjustments to the clien’t software. As a result, the need to nail down the major requirements of the requested software, before development begins, must be emphasized. This way, the completion of the application may be considered as the completion of each major requirement.
Content management systems and automated web page builders provide simple interfaces which allow everyday individuals to develop full scale websites. These applications seemingly eliminate the need to hire a web developer to create a professional online presence.
These applications usually do a decent job formatting the overall look and feel of each web page, however, they do typically produce very poorly structured code. The overall HTML, Javascript, and CSS produced by these programs does not come close to following W3C standards (W3C is the organization which develops and specifies web standards and guidelines – http://www.w3.org/). This fault is easily overlooked since the audience which utilizes these applications is not exposed to the web page coding and would never be able to make any sense of the script.
A website with poorly produced script cannot develop into a successful online identity. While most web surfers are concerned only with the appearance and content of web pages, search engines are concerned only with the code and content relevance. Search engines are tripped up by ill-written code and are likely to ignore the web page or website as a whole.
I am currently working on a 4 page website previously developed by a Yahoo content management system. The client is interested in Search Engine Optimizing their webpages. As a result, I will begin by cleaning up the code. Each page seems to require several hours simply to disect its original diluted script. A great deal of time and money could have been saved if an experienced web developer was consulted before website construction began.
Content Management Systems do allow everyday individuals to produce presentable websites, however they greatly reduce the websites visibility to the online community.
My current (short-term) goals are as follows:
1. Get a job.
2. Become a Wordpress expert.
3. Write a simple, useful application.
4. Become a social networking expert.
5. Finish the book ‘A Place to Stand’.
6. Finish the website for Bali Construction.
7. Complete an iHOG e-book.
8. Become an email marketing expert.
9. Catch up on web trends.
10. Finish out Summer quarter at school.
These are my short-term goals in no particular order.