http://qs1969.pair.com?node_id=650572


in reply to Large Web Application Ponderings

The first thing to do ... the very first thing! ... is to determine exactly what you need to do, and to lay out an approximate timeline for doing it.

This is not simply a "technical" task. In other words, "MySQL" and "clusters" and so-forth are merely parameters of the project's implementation. Their presence creates yet-another requirement that you must schedule for, namely: determining how you're going to deal with those issues. That will mean research, and you can't just "seat of your pants" any research-related issue. You must formally investigate them and formally come up with an answer to every one.

In any web-application, it's axiomatic that "the user neither knows nor cares how it's done." The user, and therefore your custome, cares only that it does or does-not meet their expectations for the site. An "unspoken" expectation can kill you.

As you proceed through first the planning-stage of your process and then its execution, make definite milestones and then hit them. Don't allow change to come into the project willy-nilly: if the executive vice-president wanders into your office one day with a new starry-eyed idea that he just lifted from iTunes or Google or what-have-you, don't let him or her "swish!" that into the project or your schedule.

Many open-source projects swear by the maxim "build early and often." Ditto: "test." That's a very good principle to adopt and stick-to.

Insist on weekly detailed meetings with your boss or client. What you view as "being well-compensated" is, to someone else, "bloody expensive!" Whatever you do, always remember that! Review your progress, discuss any and all issues, and keep them thoroughly in-the-loop. You will be judged, and you will be paid or not-paid, more by "expectations" than by "results."