Defining complete, accurate software requirements has long challenged organizations, and those challenges have grown exponentially, particularly in large organizations delivering sizeable projects in complex environments.
The business environment has become increasingly urgent as new customer demands compel organizations to innovate quickly to capitalize on fleeting opportunities. Business needs IT to deliver faster than ever.
At the same time, delivering software in an environment filled with legacy technology and complex integrations slows teams down, as does the need to deliver audit-ready products in an increasingly complicated regulatory environment. Moving fast puts quality at risk. It has the potential to do more harm than good.
To make matters worse, organizations also need IT to reduce costs.
Deliver faster and cheaper, while maintaining quality and mitigating risk? Teams delivering software have tough jobs, particularly those working in large, complex organizations, where these challenges are magnified.
The Solution: Agile?
Agile is mainstream, and most organizations have adopted it to some degree and with a good deal of success. From a requirements perspective, its use of just enough documentation in the form of user stories and visual models has helped deliver quality software faster, but it has its limitations in large companies executing sizeable software projects:
- Teams are large and distributed, often globally. They’re composed of numerous people from multiple departments and organizations, including consultants and outsourcing providers. Organizations can’t implement Agile’s concept of small, dedicated, collocated teams collaborating continuously.
- The technology environment is complicated. While Agile works well for new development or development in small, simple environments, teams in large organizations face many challenges. They have to define and accommodate requirements for legacy systems, many of which are largely undocumented. They have to consider integration with other systems, some of which are managed outside their organization.
- Complex regulatory requirements drive the need for rigor. Teams must develop formal documentation to define requirements, establish traceability, and understand the impact of regulatory change. They also need to be able to prove to auditors they’ve done their due diligence.
- Non-functional requirements grow in importance. Agile methods don’t define a mechanism for managing the definition and testing of non-functional requirements, like those for security, availability, and performance. These requirements, however, are critical to developing high-quality software that delivers customer satisfaction, and they’re tough to get right on a large-scale project.
- Large teams need more robust tools to collaborate and exchange information. Small, collocated Agile teams can use lightweight, nimble tools to define requirements and communicate them to developers and testers. Often a white board and post-it notes is all they need. Large, distributed teams need added support for communication, collaboration, and change management. They need enterprise-level integration between the purpose-built development productivity tools commonly used for requirements, design, development, and testing to keep teams in sync.
Requirements on Large-Scale Projects: Melding Agile with Traditional
Agile has its place. Its concepts are strong and its benefits are clear, but it’s not enough for the large-scale projects organizations must execute today. It can play a role, however. Organizations are combining Agile and traditional requirements methods on complex projects, enabling them to deliver value faster while still managing risk.
In these scaled Agile projects, teams define high-level solutions and identify which components are new and which already exist. They break out the new features and assign them to Agile teams to define requirements in the form of epics, themes, and user stories. For parts of the solutions that already exist, teams leverage existing business requirements, modifying them as needed to deliver enhanced functionality using more traditional requirements practices.
They use robust requirements tools to manage requirements holistically, whether defined in traditional the system shall statements or user stories. These tools help them analyze, collaborate, and communicate requirements. They enable them to establish needed traceability and define reusable requirements. They integrate their requirements tools with other development lifecycle tools, like those for development and testing, enabling team members to exchange information easily while working in their familiar toolsets.
These features help product owners and business analysts develop strong requirements in an integrated environment where communication, collaboration, and change management are critical to success.
Learn More in Our November 17th Webinar
Tasktop, the leader in Software Lifecycle Integration, has partnered with Blueprint provider of a best-in-class requirements platform that provides robust capabilities for requirements definition, analysis, traceability, and reuse, along with the flexibility to tailor information and processes for differing methodologies.
Tasktop Sync enables integration of Blueprint’s powerful requirements platform with other leading software development lifecycle tools, providing a fully automated, enterprise synchronization among the disparate tools commonly used to deliver software, including:
- Requirements management tools from IBM Rational, iRise, Jama, Polarion, and Serena
- Agile planning tools from Atlassian, CA, IBM Rational, Microsoft, Rally, ServiceNow, Thought Works, and VersionOne
- Test tools from HP, IBM Rational, Microsoft, and Tricentis
- ALM suites from Borland, HP, IBM Rational, Microsoft, and Polarion
We see the Tasktop/Blueprint integration and partnership as a key enabler for developing quality software based on strong requirements.
Register to attend a joint Tasktop/Blueprint webinar on November 17th to learn more about this game-changing partnership.
About The Author
Tony Higgins, VP of Product Management at Blueprint Systems
A leading expert on all things software application lifecycle related, Tony Higgins has amassed a broad base of skills and experience in software and technology marketing, development, delivery and enablement. Having worked with both start-up and enterprise-level organizations over a 30 year career, Tony offers a comprehensive perspective on both the technical and business requirements that drive successful implementation results.