February 4, 2011

Traceability Enables Closer Collaboration with Customers

Requirements Management
It used to be that users, or product management, submitted a set of features and requirements to the development team and waited patiently while development constructed exactly what they asked for. Six months later, when users saw this new application for the first time, they realized that what they asked for wasn’t really what they needed. Something had been lost in the translation from what they needed to what they told development to create, to what development ultimately created. “No problem,” development would say when told the existing software didn't meet a specific need, “we can change that in the next release.” And six months later, it would indeed be changed! This long delay between understanding and actually meeting user needs is a key driver in organizations adopting Agile practices. Successful businesses and IT departments are looking for ways to better understand, and respond more rapidly to, their customer's needs. Whether they call it "Agile" or just "good business sense," the goal is the same—get closer to customers to more quickly deliver products that better meet their needs. Unfortunately, users and developers haven't gotten much better at translating needs into working software. Techniques like UML have improved that process, but fundamentally the user needs to "use" the software to gauge it's effectiveness. As users, we don't always know exactly what we want. That's why we still test drive cars, try on new clothes at the store, and evaluate software for 30 days. And therein lies the challenge; how to support frequent change from your customer without blowing up the schedule, abandoning quality goals, or driving the team mad with rework? The short answer is traceability. Traceability is about connecting related development and testing artifacts, enabling targeted and timely communication across the team as change happens. When the customer tweaks the user interface requirements at the next usability lab, those changes can be immediately communicated to the developers and testers responsible for the UI. When the customer realizes that their entire team, not just a few super-users, will need to access the web application you're building, updated performance and load requirements can be communicated to the development and testing teams. My colleague Peter Varhol, a Solutions Evangelist here at Seapine, will be talking more about traceability and how to effectively handle requirements change on Thursday, February, 24. If you're struggling to increase the pace of software delivery without sacrificing quality or schedule, take a minute to register for this webinar to learn more about traceability and how it can enable closer collaboration with your customers!