“At some point, you take a step back, and you realize you have an awful lot of siloed systems that are limiting transparency across strategic projects.” Development Director, Temenos, Inc.
Back when I was making my career decision, I chose to avoid the medical field. Software, I thought, was safe. I wouldn’t harm anyone if I made a mistake.
Today software is everywhere. It’s powerful, complex, and fundamental to business. There can be serious consequences to failure. Some failures can result in significant human harm, others, like security breaches, violations of regulations, or product recalls can have catastrophic business implications. We need strategies for delivering software that not only “do no harm” but add real value.
We’ve developed the “Five Imperatives for Application Lifecycle Management” to demonstrate how you can overcome the high cost of organizational silos.
Here’s an overview animation on YouTube:
To see the full whiteboard animation, please see the Rational Everywhere page on ibm.com.
Application Lifecycle Management (ALM) is the discipline of overcoming organizational silos to realize a whole-team, whole-view approach to the software delivery cycle by coordinating lifecycle activities across requirements, design, project planning, change and configuration management, build, and quality management.
Use the following five imperatives for Application Lifecycle Management to break silos and improve your overall team productivity:
- Maximize product value with In-context Collaboration to create a collective intelligence by collaborating in the context of your work, capturing discussions and decisions in single source of truth
- Accelerate time to delivery with Real-time Planning by riding the waves of ever changing project demands using real-time planning that encompasses the entire team’s work, integrated with team execution
- Improve quality with Lifecycle Traceability by surfing the web of linked lifecycle artifacts with lifecycle queries to align teams, drive quality, prevent gaps and missed work
- Refine predictability with Development Intelligence that helps you steer teams to successful, ontime delivery using information radiators that broadcast team trends and late breaking issues
- Reduce costs with Continuous Improvement supported by a solution that inspires breakthrough and incremental improvements by unleashing teams to reuse best practices and customize team views
The key to Application Lifecycle Management is collaboration and transparency among all of the stakeholders, which is supported by an open, extensible, integrated platform. In the coming weeks, Monica Luke will blog on each imperative with a short video highlighting how the IBM Rational solution for Collaborative Lifecycle Management (CLM) can help you improve your team’s productivity by incorporating any one of the imperatives into your culture. In the meantime, below is a summary of the imperatives which are designed to work with any process, whether you’re applying agile practices, waterfall, or working toward your next CMMI level. Or, you can read a more detailed article on jazz.net
Maximize product value with In-context Collaboration
Collaboration increases the value of your software by delivering on stakeholders’ vision. When all team members can access information in the context of their work and teams effectively collaborate on and review software development artifacts, a collective intelligence emerges.
In-context collaboration maximizes product value by:
- Making product information immediately accessible to all team members as it applies to their work
- Facilitating team reviews so feedback is incorporated early and often
- Providing a single source of truth for team members to collaborate effectively around the globe
Accelerate time to delivery with Real-time Planning
Real-time planning is a constantly evolving activity, where collaboration and traceability features help teams respond to changing events. One of the main purposes of planning is to ensure knowing when the project is complete. To be effective, the plan must be integrated with project execution and kept up-to-date automatically.
Real-time planning accelerates time to delivery by:
- Providing a single plan that spans requirements, development, design and test efforts
- Integrating planning with execution to ensure that the entire team understands the project status
- Providing teams with the real-time data needed to respond to the unexpected
Improve quality with Lifecycle Traceability
Lifecycle traceability helps your team answer the harder questions about project status by creating associations between related artifacts, such as requirements, plan items, source code, test assets and builds. With lifecycle traceability, project managers can ensure the development team is meeting the needs of the business and that there are no gaps in testing. Quality improves because everyone shares the same view regardless of their role.
Lifecycle traceability improves quality by:
- Identifying and closing artifact gaps for all disciplines.
- Providing practitioners with access to related artifacts so they can make fully informed decisions.
- Providing a clear view of completeness from requirements all the way to release.
Refine predictability with Development Intelligence
Development intelligence is the application of business intelligence to software development. Using reports, dashboards and metrics teams can refine their ability to predict whether they’ll hit a release date, meet quality objectives, improve stakeholder value, or reduce costs. Using live and trend data in dashboards and reports, teams can track their progress, diagnose problems, identify bottlenecks and determine corrective actions.
Development intelligence refines predictability by:
- Applying business intelligence techniques to development
- Enabling fact-based decision-making about status, progress, problems and corrective actions
- Steering projects and programs so delivery is on time
Reduce costs with Continuous Improvement
Continuous improvement supports ongoing refinement to ensure that you are providing the right data to guide a team. The key to successful continuous improvement is a solution that supports both incremental improvement during each project as well as facilitating breakthrough improvements with automation and reuse of best practices.
Continuous improvement reduces costs by:
- Ongoing adoption of best practices and automation to reduce manual, non-creative and error prone tasks
- Helping your teams establish a working rhythm that cuts down on unexpected problems
- Promoting incremental improvement that unblocks the team right now
- Shortening development cycles and improving productivity
Program Director, Strategic Offerings for IT and Jazz team member