One of the struggles that you hear time and time again is the one of management that wants software produced at an overly fast pace. I can of course sympathize with this; however, when the quality of a developer’s work is sacrificed in the name of speed things start to get tense. The outlook on any software project under negative tensions normally isn’t favorable.
Often development teams will loose the feeling of autonomy when management is asking for them to go below a level of quality that they are comfortable with. As this drops so does their motivation, which in turn often effects their speed. Potentially at some point a development team can even begin producing poorer code at slower speeds. This is the exact opposite of what management hopefully wanted!
As developers it is important to understand sometimes everything can’t be as perfect as we want it to be. At the same time we shouldn’t abandon our sense of passion for building quality products. With this is mind it is critical to communicate your team’s worries and focus your message on the product. Take these two different messages for example.
You want this all done by when?! There is no way we can get this done by then. Even if we do the technical debt will be crazy.
Notice how the message doesn’t really let others know your team is concerned
about quality. Talking about
technical debt touches on it, but often this is
lost with others that don’t understand development. Instead try to have a
conversation focused on your software and it’s users…
We’re concerned with the timeline you’ve given us to complete this project. With the speed we’ll be working at there is a high chance the quality of our product will potentially suffer, and we don’t want to risk giving our users less then our best.