Design Storms: a way to bring a group of people to consensus in 1/2 hour.
Possible Reasons Dynamic Languages are Helpful:
- They lower the barriers to experimentation
- They express clarity of intent
If you are going to shoehorn open spaces into the evening of a regular "eyes forward" conference, it might be better to have multiple shorter open spaces events spread over several evenings rather than putting them all in one evening. This might also raise the buzz level about open spaces for subsequent evenings.
The quality of a software team is set to the second worst programmer on the team (everyone is carefully watching the worst programmer).
Bad programmers can be far more productive in producing bad code than good programmers can be in cleaning up after them.
Programming "heroes" are people who provide business value by working in the core domain. Unfortunately, such "heroes" are often bad programmers who are smart enough to put themselves in the right place. Good programmers often have to clean up after them.
Instead of trying to rearchitect the whole system to begin providing business value in the third year (which never happens because you spend two years costing the company money while not providing any visible business value), you should situate yourself in the core domain. Create a facade to the underlying (bad) architecture and begin adding business value. Over time, you can change aspects of the underlying architecture when the benefits are clear.
Because of the demands of the web, we are seeing new kinds of databases and data storage techniques that are very focused on web issues -- distribution, speed, size. These are not relational because, for the web, the cost of the full flexibility of a relational system is too high.