I came accross this post on Planet.Termisoc.org:
10 rules I follow when building something new.
This is a list of rules I try and follow when ever I have to build, design or program something. Some are clearly inspired by things other people have said but they have been tweaked a little to meet my own goals and hopefully they’ll help you think of your own.
- Functional over flashy- Working perfectly is more important than looking amazing.
- Simple over complex - Keep it clear and concise. Don’t confuse people.
- Forget about profit - Create something with value instead.
- Try and solve problems that have yet to be solved -Building your own CMS isn’t helping anyone.
- Do something differently - use this opportunity to learn something new.
- Don’t reinvent the wheel - unless the wheel is broken.
- Do one thing really well- One perfect feature is always better than twenty mediocre ones.
- Use version control- you’ll thank me for it later.
- Take inspiration from others- don’t be afraid to see how other people have tried to do it before you.
- Test, test, test - because I always rush stuff out without checking it for bugs first
My comments on this list are as follows:
Functional over flashy
I endeavor to get the thing to function correctly before adding the aesthetics; Function over Form; also Form does not mean Flashy!
Simple over complex
While I generally agree with this; I think this should be expanded to “the most elegant solution over complexity” sometimes the Simplest solution is not the most elegant, and the most elegant should not be overly complex.
Forget about profit
I like to try and open all my workings up; so that it can be reviewed by any one, used as a basis for further Making; so far the projects I am playing with are all listed on here with the source code, build logs, and my random thoughts on the subject. but please take what I have done; make it awesome; share it with your mates; and let me know where you have taken my thoughts!
My Projects at the moments look like this:
Try and solve problems that have yet to be solved
While I may work on projects that look similar to ones I use as sources; and jump points, I like to carve my own path.
Do something differently
I would hope that I always do this
Don’t reinvent the wheel
I hope that in the doing something differently; and the sharing of both my methodology and results (weather works or not) that I can come up with a new way of doing things.
Do one thing really well
Most of my projects are finished first by getting the core working; then adding the form, I hope that through feedback that I get to the ‘Really Well’ level.
Use version control
Hmmm, I keep trying this. bma hosts my online GIT repositories at http://git.subvert.org.uk/skippy/ and when I am trying to use it I use SourceTree as my GIT client. However I find that it is sometimes more hassle than it should be I am sure it will be useful; however a simpler interface/paradigm for the loan worker with a single computer would probably make this less of a chore.
Take inspiration from others
I have loads of random clippings and files all over my laptop; and to a lesser extent my blog charting other people research and projects with a view to using them as reference points. although cool things I find also end up on my Twitter stream; oh and if you do take inspiration from some one else; Link back to them.
Test, test, test
Oh very much so; little steps, lots of testing with little steps. and debug!
I hope that the list of 10 rules to think about following when building something new is something that makes you think too.