This action might not be possible to undo. Are you sure you want to continue?
Agile Development: Meeting the Enterprise Challenge
Dominic Tavassoli, Telelogic Version 1 February, 2007
This document contains information that is proprietary to Telelogic AB. Use of the information contained herein or copying or imaging all or part of this document by any means is strictly forbidden without the express written consent of Telelogic AB.
l . . wc e ®t teoow io lg a r d fewom e si e m lc .Table of Contents Overview Introduction Streamlining Agile Development Task-based Configuration Management Workspace Management Concurrent and Parallel Development Bringing the Agile Team Together Task Status Reporting Peer Reviews Refactoring Combining Quality with Agility Working with Consistent Change Sets Round-trip Traceability Agile Power Tools for Managing Complex Configurations and Releases Content Control Feature-driven Release Management Managing and Coordinating the Agile Project Real-time Status Reports Compliance Management Dashboards Remaining Customer Focused Prioritization and Assessment Traceability from Needs to Code Conclusion About Telelogic Products for Agile Development About Telelogic 3 4 5 5 6 6 7 7 7 8 9 9 9 10 10 10 11 11 11 12 13 13 13 14 15 16 Ti i rear e . lc e d a lg t g o g r k s Ti e c l e .
Adding to the complexity at the enterprise level is the fact that organizations adopting agile software development approaches still need to address issues of governance. enable organizations to realize the benefits of agile methods at the enterprise level. In this paper we discuss how the use of software solutions. Agile Methodologies Survey 3 . Agile development has an excellent track record for small projects where the team involved are in close proximity. and agile requirements capture and management. 93% measured an increase in productivity" 1 1 Source: Shine Technologies Pty Ltd. and are working on multiple parallel releases and variants. use different languages. dashboards. as well as meet diverse customer needs and business objectives. and at the same time deliver valuable content that meets their customers' needs. such as advanced change and configuration management. and regulations. It emphasizes real-time communications between the developers and their customers – the end users. The challenge is how to apply this approach in an enterprise setting where the development team involved might be scattered across multiple sites and time zones. "88% of organizations having adopted agile processes found an increase in the quality of their applications. compliance. These organizations are hoping to bring more efficiency to the development process by keeping costs and schedules under control.Overview Enterprises are increasingly interested in the agile development approach for handling complex software engineering projects.
and testing. Agile development isn't new.to late 1990s. Since then. coding. Agile methods are based on a different assumption from the traditional "waterfall" development approach – a predictive methodology that locks steps through a rigid pre-planned sequence of requirements capture. co-located projects. the agile approach realizes that: Requirements. such as parallel releases and variants? Can organizations use agile approaches on a critical project or in a compliance situation? can management maintain control of agile projects? How can teams ensure their focus is correct when they must address multiple customer requirements and various How business objectives? Although software products are not the main concern of small-scale agile development teams. design. particularly those for innovative projects.. a number of activities are taking place in parallel and products are being delivered at a very fast rate. In this paper. agile approaches have helped development teams increase their efficiency. and architectures are used organizations cannot afford the investment and overhead of large scale process improvement (such as the Many Capability Maturity Model [CMM]) Given that agile development methods have an excellent track record when applied to small.Introduction Many of today's larger organizations are investigating agile software development approaches in order to control costs. a good configuration management implementation is essential for controlling tasks and products during the development process. we explore the role of advanced configuration and change management solutions in supporting agile software development at the enterprise level. Scrum dates back to 1986 and many other methods such as Extreme Programming (XP). time zones. and How languages? Can large-scale projects continue to focus on quality without sacrificing time-to-market? Can teams remain agile even when managing complex configurations. and DSDM were introduced in the mid. Adaptive Software Development.g. and deliver applications that meet both their customers' needs and the enterprise's business requirements. customer focus. in a large agile development project. are generally not fully understood at the beginning of the process No system or software is built perfectly in the first try – change is inevitable Traditional processes become unpredictable when new tools. The Agile Alliance was formed in 2001 to identify common principles and the canonical definition of agile development. and ability to deliver high-quality software while remaining responsive to change. For instance. Instead. at the enterprise level. Under these circumstances. We also discuss how management dashboards and linked requirements management solutions help organizations realize the full potential of the agile approach. the question is how to ramp up these successful recipes to the enterprise level. shorten development cycles. software solutions can help organizations keep their development efforts on track and reap the full benefits of agile methodologies. technologies. analysis. 4 . Specifically: can a large number of developers – e. 20 or more – work together in an agile fashion? How can you ensure communication and collaboration across distributed projects with multiple sites.
he can switch to the urgent assignment and automatically back-out the work in progress. requirements. and enhancement requests. and conversations in a corridor. unfinished edits with a simple click. To deliver changes to the rest of the team. Developer tasks are stored in the CM repository. ideally with a configurable workflow and a Web interface to ensure that objectives and priorities are recorded and analyzed in a consistent. customer and business stories. Also. without losing data or traceability. he can retrieve the previous. When teams need to rapidly deliver quality software. Figure 1 – Traceability from change request to task to impacted objects Advanced configuration management systems provide invaluable functionality for agile developers. This provides full traceability while minimizing overhead. if a developer has been assigned an urgent task while half-way through another task. 2 Note: In this document. advanced configuration management solutions reduce team downtime and rework effort by giving developers the means to quickly identify problems early on. Task-based Configuration Management Once priorities have been agreed upon and features and fixes assigned to releases. Once the urgent work is delivered. a developer can drag and drop a task from another team member into his project for immediate conflict detection and compatibility testing. enterprise change management is integrated with configuration management by linking tasks to the change requests. a much better solution than the unreliable mix of emails. The developer simply selects the task in his to-do list and all work is automatically grouped in a consistent change set. phone calls. bug reports. and change requests2. To limit overhead and guarantee traceability. 5 . repeatable fashion. the developer just checks-in the task. stories. scalable repository. This provides a consistent mechanism for communicating among team members. For instance.Streamlining Agile Development Agile development at the enterprise level implies using a robust change and configuration management solution as complex large scale developments can include distributed projects with compliance requirements such as traceability and documentation. the development team can start working. sticky notes. "change request" is used to refer to designate requirements. All these elements need to be captured in a central.
which Provide enhances communication and coordination each team member to see which edits are being made.3 3 Based on customer surveys conducted at the Telelogic user conference 2006 6 . no more time was spent recovering from unwanted/unexpected changes.. displaying not only a list of all the object changes. developers need access to stable workspaces where they can make changes and perform unit testing. advanced configuration management functions help reconcile these changes. allowing a colleague to make changes to an object that has or is being edited. When members of the development team are geographically dispersed. This visibility gives the developer a better understanding of what has changed and why. These workspaces are typically updated on-demand.Workspace Management As the number of team members and the rate of change increases.to increase speed of development. check-in) an object. Concurrent and Parallel Development Agile development teams generally accept one of the trade-offs of concurrent (or parallel) development – i. the time spent by each developer on unproductive activities was reduced to an insignificant amount. if necessary the time to complete a task resulting in a faster process that lessens the time it takes to reconcile two parallel Shorten versions Time spent by development team Hours/ week 5 4 3 2 1 0 Recovering from unwanted change Managing parallel development Before Synergy With Synergy Documentation and traceability Figure 2 – Streamlining development with a task-based CM solution Task-based CM Boosts Productivity An ISV using agile methods found that after moving to an advanced change and configuration management system and taskbased CM. allowing team members to work in insulated – but not isolated – environments. the CM capabilities: notification of parallel versions as soon as a developer tries to check-out (and later.e. but also the entry or removal of tasks and change requests. Managing parallel development required little effort. Each developer may have multiple workspaces in order to validate edits against multiple environments before delivery. as well as the reason (since the edited object is linked to a Allow task) by checking the history view – also provided is who to contact for more information. and then merging the changes later . and eliminates the downtime due to unwanted edits or lost changes. Writing change documentation and establishing traceability was also streamlined. Questions the developer may consider include: do the modifications work with the different customer variants and for each platform. For example. Specifically. and are they compatible with the parallel releases the team is producing? Advanced configuration management solutions provide this workspace support.
This ensures that no changes are lost. After implementing an advanced task-based configuration management solution. USA 7 ."4 If a resource is unavailable (on sick leave for instance). the peer reviewer may create and assign a "fix task" before further distribution. Completed tasks are first transferred to the reviewer for check and approval in an intermediate control area before they are distributed to the rest of the team. working on the same product. In essence they have a 15-hour project working day. paperwork. Creating a Global Collaborative Environment A global manufacturer of analytical laboratory products needed a way to create a worldwide collaborative development environment and leverage distributed team member expertise across the organization. or even if the task has been assigned to a resource who has just called in sick. no matter what its source. and then finish the work. An alternative is to have the task reviewed before it is even completed – an approach that can be combined with large scale pair programming. Collective ownership and flexible roles are only possible if team members can immediately view the status of all tasks in the system. it is necessary to move beyond face-to-face contact. Task Status Reporting Task-based configuration management solutions allow agile teams to assign tasks in a consistent. 4 Source: Telelogic User conference 2006. United Kingdom. can also be facilitated. Germany. If necessary.Bringing the Agile Team Together As the number of developers increases. This instant access should be available no matter what the circumstances – the team member's location. and have different languages and cultures. Real-time task status reports provide the high-level insight required to stay in control of change. whether or not the task is being worked on or ready to be pulled into a build. and sticky notes. At this point. with the same process. and existing changes. even across continents – the new assignee can easily view the full history. accountable fashion. emails. traceability. in the same team. A recent series of mergers and acquisitions had resulted in development teams being located in the US. inevitably they are distributed across multiple sites and time zones. the manager in charge of global software development noted that "[Task-based CM] really helps bring together all our developers based around the world. Peer Reviews Peer reviews. tasks assigned or in progress can be swiftly identified and reassigned to a different person. phones calls. in order to assign tasks and provide status updates. treated with tasks. and Romania. Denver.
This activity should also be carried out inside a task and tracks code changes. Time spent by Team Leaders Hours /week 30 25 20 15 10 5 0 Task assignment Status update tracking Before Synergy With Synergy CM admin Figure 3 – Bringing the team together with a task-based CM solution Time Saver Organizations measured the time spent by team leaders keeping track of assignments. This ensures all the development team members understand exactly what has happened to the code structure and can refrain from applying the refactoring task until an appropriate time – for example.Refactoring A key agile activity is keeping the code base clean and lean.5 They found that: spent on assigning and explaining tasks to the development team was cut by a factor of five Time Collecting status updates became effortless Virtually no time was spent on tool administration activities 5 Source: Based on customer surveys conducted at the Telelogic User Conference 2006 8 . before and after the use of an advanced task-based configuration management solution. and renames. when a stable personal build is completed. for instance through refactoring. directory modifications.
This throttled innovation and stunted the company's growth. they needed a solution that guaranteed change set consistency without creating extra work for the developers. Reverse Revenue Loss A US-based provider of multi-service HR business process outsourcing. and run the build process with an application like the open source CruiseControl. These include very frequent builds that pull in all the latest changes. or releases. The team can clearly see the real progress status of the project. allowing resources to be spent as efficiently as possible. such as fixing broken builds. This resulted in an increase in development productivity of over 18 percent. and conflicting modifications. distributed projects are able to build efficiently. Continuous integration strategies are the heartbeat of the agile process. "Task-based configuration management provides this capability and allowed us to reduce 90 percent of the resources dedicated to unproductive efforts. Figure 4 – Comparing the contents of two iterations (baselines) Testing teams appreciate easily seeing exactly what changes should be tested for. 9 . check for conflicts. change requests. agile development requires rebuilding and testing early and frequently to ensure high quality across the lifecycle. incomplete changes. bringing in numerous changes from all over the world can be challenging.Combining Quality with Agility Although the rate of change may be high. These included builds that were frequently unstable because of missing files. or even stories and requirements have been added or removed between two builds. iterations. bug fixes. 6 Source: Customer interview 2005. recently identified issues that were causing major loss of revenue for their organization."6 Round-trip Traceability The most advanced change and configuration management solutions provide round-trip traceability. Large. and running automated tests. Working with Consistent Change Sets By applying task-based configuration management. On large scale projects. avoiding one frequent source of broken builds. checking for conflicts and errors. agile teams benefit by always working with consistent change sets. Agile teams can automatically pull in all completed tasks. as thousands of modified objects are pulled in each day. with repeatability and consistency. which limited the speed at which they could deliver new applications. To increase build quality and control. baselines. According to the organization's CM team leader. for example. Because developers are delivering tasks instead of individual objects. They can do much more than identify which files have changed between two builds – they can indicate which tasks. they never forget to check-in a file.
Agile Power Tools for Managing Complex Configurations and Releases Content Control The round-trip traceability provided by advanced change and configuration management solutions are also invaluable for helping organizations manage complex. "The main benefit we gained through [our advanced configuration management solution] is the ability to do 24 x 7 development for fast-track projects. features or fixes to produce a desired release even late in the process. Feature-driven Release Management Feature-driven release management is one of the most important power tools for organizations that wish to embrace change while staying in control. while powerful algorithms check consistency and dependencies across the configuration. This agile method allows team members to: and confirm which features and change requests have been added or removed between two builds View which changes are only partially present Identify that no unwanted changes are present Check Roundtrip traceability provides compliance reports that reflect the accurate state of configuration content."7 7 Source: Customer interview 2005. Because these projects took longer to deliver. team members can build new project configurations simply by indicating which tasks or features to include.and customer-specific variants. a leading UK-based financial services group. With round-trip traceability and feature-driven release management. distributed. These include: building customer-specific patches Swiftly Managing multiple platform. features or fixes to isolate unwanted behavior and analyze broken builds. agile teams can tackle some of the most complex challenges across the enterprise. drag and drop). providing the agile team with the means to embrace change throughout the lifecycle On the Development Fast Track To cope with a highly competitive market. The tools and processes that this solution provides helped us get a new e-commerce offering out to market in a few months. 10 . while keeping the code footprint lean Validating development changes across parallel releases (or streams) early in the process. By displaying common and different contents. making it faster and easier to produce quality software Backing-out or adding tasks. time-to-market and increased responsiveness to change requests was key. and projects are being delivered on time. Unwanted or destabilizing changes can be backed out with a simple click. the group is now able to control change across multiple releases. or critical projects.g. agile teams know exactly where content is in each stage of the process. Aided by this functionality. and integration effort Backing-out and moving back suspect tasks. rather than the year it would have taken. limiting rework. moved to an agile DSDM process to help them produce complex projects for their e-business platform. With appropriate tool support (e.
Compliance These capabilities dispel one of the myths about agile development – that the methodology's low level of documentation makes it unsuitable for critical projects or meeting compliance requirements. countries. 2005 11 .Managing and Coordinating the Agile Project Agile development leverages constant and frequent communication as a key factor for success. USA. for instance. By implementing automated change reporting across the organization. Now it responds more quickly and efficiently to FDA audits. all activity is automatically logged in a central repository.8 8 Source: Telelogic User Conference Presentation. noting suggestions directly in the change request or task Team description Automatic reports display which tasks remain to be worked on. A daily Scrum meeting. a best practice that is challenging to implement when the team grows and is distributed across sites. Pharma Efficiently Meets Compliance Mandates An international pharmaceutical and medical device manufacturer needed to improve communication of change across the enterprise and enforce process. those being worked on. Powerful reporting improves both developer and project team collaboration. the levels of reporting and metrics automatically ensure the team is in control and has all the backup documentation required by the compliance mandates. During the meeting: Automatic reports display what each team member has done since the last meeting discussions focus on what has impeded work. The team can make on-line decisions during the meeting. saving approximately $1 million in annual costs. and in production) can also be displayed in an actionable Web-based interface. the company realized a return on investment in just five months. is easily set-up and expedited across the enterprise. If the team works with appropriate solutions. helping debug as well as confirm project progress (percent of Build desired features added to build) Delivery reports automatically provide the release notes of a project. The change request status in the lifecycle (i. Hollywood.e. system testing. helping focus test resources reports indicate the functionality added to a build. instead of deferring actions until later. For example: Test reports indicate exactly what has changed between two baselines. Agile teams can view real-time reports on finished tasks. Real-time Status Reports When teams work with task-based configuration management. integration. and time zones.. as well as their priorities Resource assignments can be accomplished online. and those in the queue. a list of all features. and bug fixes or enhancements included in a given release or iteration. At the same time it had to comply with FDA regulations that specify that all documentation relative to any application/process and/or manufacturing change must be captured and maintained for audit purposes.
from senior executives to developers.e. analyzed..e. A dashboard allows all team members.. They need this data throughout all stages of the agile development cycle as part of their normal due diligence and in order to reassure all stakeholders that the project is progressing according to plan. and manage by exception. identifying and responding rapidly to abnormal metrics and trends. to view precisely the level and scope of data they need. senior management needs feedback to confirm that projects are on track. showing both current indicators (i.Figure 5 – Viewing real-time project progress Management Dashboards When agile methods are deployed at the enterprise level. and summarized as metrics. If there are a large number of projects involving numerous developers and changes. The data inside configuration management and enterprise change management systems can be extracted. 12 . cross-referenced. number of open bugs. there is always the risk that too much feedback will hide important issues. and trends (i. build stability over time). These may be displayed in a dashboard. and percentage of requirements implemented).
This bi-directional traceability and impact assessment helps agile teams adapt to changes in priorities. assembly. build. Development time had to balance the value of adding the lifestyle features their customers expected against the resources it would take to build the new features. which content should you focus on? An executive decision should be based on business objectives that take into account cost. This allows the organization to capture. "Shortening the lead time by a week can increase sales by several million. strategy."9 Traceability from Needs to Code Once the agile team and the customer have allocated features and bug fixes to releases. we make better decisions. and the competitive landscape. analyze. 13 . the project's requirements should be associated as early as possible with verification and validation tests. and ensure they deliver the right product. These solutions enable agile teams to swiftly leverage both quantitative and qualitative information from a single repository to determine the scope of a project and its probable impact on the business. and prioritize customer needs in order to make the right decisions. it also increases the overall quality of the project. and delivery. the next step is to create requests for the development team covering implementation. Shorten Time-To-Market A global cellular phone manufacturer needed to add innovative new features to their product in order to remain competitive. This saves valuable time and has a positive impact on our bottom line. during the entire development process. and capturing good requirements in the form of stories and use cases. acceptable risk. accelerate product launches. Not only does this help guarantee the quality of the requirement. at the right time. increase pricing freedoms. In addition. They decided to implement an integrated product portfolio and requirements management solution. and lengthen the time that a product remains profitable. But when multiple customers present their needs. Figure 6 – Identifying the ideal contents of a release plan 9 Source: Customer interview 2006. Prioritization and Assessment Integrated product portfolio and requirements management solutions can provide a Web-based interface for project stakeholder collaboration. With support from [our integrated product portfolio and requirements management solution]. at the right place. The organization's overall goals were to shorten lead times.Remaining Customer Focused Agile development stresses the importance of dialog with the customer. faster.
14 . geographical distribution of human resources. customer-focused development. and responsiveness to change – can be achieved at the enterprise level with help from modern software solutions.Conclusion The benefits of agile development – such as efficient. project criticality. and compliance requirements. despite challenges presented by scalability. These out-of-the-box agile processes and templates greatly increase the likelihood that the enterprise development process will move along quickly and smoothly. Particularly effective are: Task-based configuration management solutions Enterprise change management solutions that are integrated with configuration management dashboards Metrics requirements management solutions Agile Using a combination of these tools and following the fundamental premises of agile software development can help ensure successful enterprise development. increased quality.
Telelogic Dashboard™: A decision-making dashboard for project management that gives project managers quick insight into project risk.About Telelogic products for agile development Telelogic products that enable enterprise-level agile development include: Telelogic Synergy™: A task-based configuration management solution that helps development teams work faster and easier by accelerating the release management and build management processes. Telelogic Focal Point™: A Web-based decision support platform that enables organizations to manage agile requirements and make better product development decisions. Synergy offers a flexible and powerful distributed repository and a proven. maximizing the efficiency of limited development resources and uniting distributed development teams. its processes and techniques. It supports the market-driven product management model. It increases quality by reducing the risk of unwanted or unauthorized changes being implemented and increases accountability by comprehensively tracking all change requests. Telelogic Change™: A Web-based. team-oriented workflow approach to software development. 15 . status and trends by automating the collection. analysis and reporting of measurement data. fully integrated change management and workflow solution for request tracking and reporting.
BAE SYSTEMS.l. Alcatel.About Telelogic Telelogic® is a leading global provider of solutions for automating and supporting best practices across the enterprise — from powerful modeling of business processes and enterprise architectures to requirements-driven development of advanced systems and software. Deutsche Bank. xxxx_x_xxxx_xx .com © 2007 Telelogic AB. Headquartered in Malmö. systems. Box 4128. and AUTOSAR. and software development lifecycles with business objectives and customer needs to dramatically improve quality and predictability.telelogic. Motorola. please visit wom w io wc . To better enable our customers’ drive towards an automated lifecycle process. Lockheed Martin. CA 92618 USA P:+ 1 949 830 8022 F:+ 1 949 830 8023 Offices across Europe. Boeing.com www. NEC. Asia and Australia. info@telelogic. . Philips. ITU-T. Telelogic Synergy. As an industry leader and technology visionary. headquarters in Irvine.O. Telelogic’s solutions enable organizations to align product. the TeleManagement Forum. California. Samsung. Sweden. General Motors. General Electric. Sprint. Customers include Airbus. Telelogic supports an open architecture and the use of standardized languages. BMW. DaimlerChrysler. Distributors worldwide. The Open Group. Eclipse. Thales and Vodafone.S. All other trademarks are the properties of their respective owners. Telelogic is actively involved in shaping the future of enterprise architecture. application lifecycle management and customer needs management by participating in industry organizations such as INCOSE. with U. America. Sweden P:+ 46 40 650 00 00 F:+ 46 40 650 65 55 Americas Headquarters 9401 Jeronimo Road Irvine. For more information. Siemens. Telelogic Dashboard and Telelogic Focal Point are trademarks of Telelogic. ETSI. while significantly reducing time-to-market and overall costs. SE-203 12 Malmö. Telelogic has operations in 20 countries worldwide. Telelogic Change. t g e c l e Global Headquarters P. OMG. Ericsson.
This action might not be possible to undo. Are you sure you want to continue?
We've moved you to where you read on your other device.
Get the full title to continue listening from where you left off, or restart the preview.