short article (3o seconds read time)
I just completed the book “getting real”. The book promises a smarter, faster, easier way to build successful web applications, written by 37signals, the group that brought us “ruby on rails”. It is a book about web app design, covering the development process from idea (over marketing) to support. The proposed approach is agile development with a “keep it simple” attitude. It does not contain many new ideas, but is well structured and a quick entertaining read with tons of quality references.
details (5 minutes read time)
What is the “getting real” approach? The most emphasised point in the book is: Always strive early for “real things”. There is no good in discussing designs you can’t see, to discuss software that you can’t use. Build it early and than refine. Since you are always working on the real thing, developers are always motivated and customers are involved early. This is actually agile development 101. Another heavily emphasised point is: Think a lot before you put in a feature. Always weight the evident benefits of a features against the costs of a heavier app.
What was in it for me? Despite the fact that many of the ideas are not knew, it is good to have a comprehensive and easy to re-read compendium tailored for web apps. The presented design paradigms and ideas are important to anyone building web apps (or generally software). The book is thereby thin enough to be embraced by the open minded and thick enough to slap all others with it. If you have to deal with “not-knowing” colleagues, the book helps to communicate the ideas quickly.
Even if you are familiar with “agile and more” methodologies, there might be a few small points that you never saw so clearly before. Here are my personal blind spots:
- The build and refine approach fits web apps perfectly. Since it is a web app, it can be put online early on and there is no costs in delivering new versions.
- Think in terms of what you can do differently from competing products. Building distinctive characteristics a design paradigm.
- Three state solution. Always design for a regular, blank and error state.
- Do not obey the customer and clutter your app with unimportant features. In terms of clear design, even reasonable features might cost your app more than they sell.
- Take out the middle man and do your own support and feel customer pain first hand to stay “real”.
What is it not? It is not about programming languages, frameworks or css-hacks. Some points work especially well for web apps, but it is not fully web app exclusive. It is not a text book, it is practical.
What is next? The follow up book “rework” should be in my mail tomorrow.