I'm looking to start working on a web application and I'm almost done with the functional specification:
Where do I go now?
Is there a best-practice order to these things?
Thanks!
Okay, you've created a great spec. Now it's time to expand that "description" into functional user interface mockups.
Why?
A spec says what an app "should" do. It can even be very detailed about it. But complete user interfaces say exactly what an app "really does". After all, do users really care what is under the hood?
In our experience, we find that projects that have the user interface designed and refined (valid html for example) BEFORE the functionality is applied go together several times faster and more efficient than the others.
Once the client/stakeholder is pleased with the UI, then it is a quick route to plugging in the functionality.
And a functional UI is not a small job. Maybe even 20-40% of the work could be spend doing that.
--
All that being said, don't waste time making everything pretty -- just focus on highly usable interfaces. A graphics person can come by later and make it pretty while you are busy making it work.
The answer is: all of the above. (e.g. HTML/CSS, server-side, database, client-side scripting, etc.)
However, only the smallest possible amount of each of those required to get the simplest single feature actually working.
Based on your question, it appears you've never done a web application before. That's OK, and your question is a good one, as I recall finding my first web app quite daunting.
To get started using this best practice I recommend short/tight iterations, where each iteration yields finished working code.
Here's a simple description of this process, per my experience:
Each cycle described above is an iteration, keep them short and always finish with working code that you could potentially ship, if your app required only that small feature.
I didn't invent the process above, it's called Scrum. Although you don't really need to know anything more than what I have described above to get started, you can read more about it (in your spare time, or perhaps not until you've completed 5 simple features) here:
wikipedia entry on scrum
Note that each iteration will likely require you to learn a little bit and create a little bit of each of the component parts you describe above: HTML/CSS, server-side code, database, etc.
Thus, what you will do "first" is implement the simplest possible feature, using the least amount of coding required to get that feature working.
Good luck.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With