Tuesday, March 03, 2009
Today I read an entry on Alex Miller's blog. I encourage all developers to read it. Too many times we get defensive about getting too many requests, late requests, requirements changes, etc. We have a tendency to label the requests as "stupid" or "clueless". Frequently the requests are lame, but often then are just worded poorly. As Alex mentions, we should listen and attempt to understand the root of the request. We should lean towards saying yes to the request instead of defaulting to no. Frequently we see the request as purely technical or architectural. We're thinking in terms of inflexible APIs, keeping a separation of layers, or reducing maintenance whereas the business is thinking in terms of pleasing users, clients, or sponsors. Many times a different solution to what was requested will fit both needs. We can at least entertain the idea even if it means redeveloping the entire application. However, that decision is theirs to make. It's our job to outline the cost and trade-offs. Everyone involved will become happier as the relationship becomes more team and less adversarial.