Deciding between spending development time working on flashy new features, paying back technical debt, or implementing so-called "nonfunctional requirements" can be a source of tension between developers and business managers. Some authors suggest ways to argue in favor of paying back technical debt.
Of course, sometimes it's appropriate to take on technical debt or defer working on nonfunctional changes. Architects can do better than just being ready to counter arguments against spending time on these issues when they come up. Well-managed technical debt is part of a software design. A good architect needs to consider technical issues in light of business needs. Not surprisingly, visibility and communication are the keys to doing this successfully.
On Tuesday, June 1, at 6:00 p.m., at ICC, 2500 Corporate Exchange Drive, Suite 310, Columbus, OH 43231, we'll examine this issue in more depth. How can a team leader bridge communication gaps between developers and business management? What are effective ways of managing nonfunctional requirements? When does it make sense to take on technical debt, and why?