Mike Williams, one of the three inventors of Erlang quoted the following as Erlang Philosophy:
- Find the right methods/Design by Prototyping.
- It is not good enough to have ideas, you must also be able to implement them and know [how|that] they work.
- Make mistakes on a small scale, not in a production project.
Read more here.
I really enjoyed it. I think what he said is all about a rapid creation process.
If it takes Long, something is Wrong
What he mentioned is exactly one of the best practices that experienced guys do with other technologies either. This is not just an Erlang rule. We almost start with modeling by developing the real instance. The model would play the role of a seed which we improve it little by little.
Experts also implement their ideas right at the time they are thinking about. Having a look on what famous geeks made is interesting. Linus Torvalds has made Linux and GIT each one less than a month. While at the same time other professional teams were working years to made something like what Linus made in a month. Mark Zukerberg and facebook are the same story.
Implementing ideas, trims them by facing imaginations with reality. If the idea is as much complex as you can’t implement it easily, there could be something wrong within the idea itself or the way you implement it. A problem that has been understood is easy to the problem solvers.
Keep it Simple, Make it Working
Good ideas come to be existed quickly. If your idea can’t touch it’s real instances very soon, it could be better to change your mind. I accept there are complex things, but the way you implement it should be the simplest one.
For me the period is two months per project. I break bigger projects into two months packages or less. Each package should be a representative/standalone product. Don’t follow complex business scenarios if you starting up something new. Just do the simplest thing.