A Hacker's Guide to Project Management, Second Edition

Patterns are one of the most powerful weapons in your armoury, not just for the design process, but also for most other stages of a development project. Patterns are simply pieces of re-usable knowledge, documented in a standard way to be easy to find, understand and apply. They describe known, repeatable, proven solutions to common or recurring problems.
Patterns grew out of studies of building architecture, but they have been enthusiastically embraced by the IT industry. There are now all sorts of patterns: for analysis and business modelling, software architecture, design, programming, user interface design, the IT organisation and team structure, to name but a few!
Whenever you have a problem to solve, or you re trying to confirm that your solution is a good one, try looking at pattern books and web sites to see if anyone else has a pattern you can use. A pattern isn t a pattern until the solution has been shown to work three times, so a pattern-based solution comes with a strong recommendation.
You can also create your own patterns. They are powerful tools for communication, especially describing your design to other people. You may be able to show your design being composed of parts, each of which follows a named pattern, or your design may have a recurring feature which you want to explain to programmers or users. Patterns are an excellent way of doing this.
Patterns describe your system s architecture at a larger scale than individual...