• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
The Benefits of Integrated Software Configuration Management ...

The Benefits of Integrated Software Configuration Management ...






Total Views
Views on SlideShare
Embed Views



0 Embeds 0

No embeds



Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

    The Benefits of Integrated Software Configuration Management ... The Benefits of Integrated Software Configuration Management ... Document Transcript

    • The Benefits of Integrated Software Configuration Management Solutions for Project Managers and Development Teams A Borland White Paper August 2003
    • The Benefits of Integrated Software Configuration Management Solutions for Project Managers and Development Teams Contents Introduction ......................................................................... 3 Project managers need powerful SCM solutions ...................... 4 Task-based status updates ..................................................................................................... 4 Giving control to a distributed team...................................................................................... 5 Managing complex business processes ................................................................................. 5 Accounting and understanding the need for changes ............................................................ 6 Assuring project integrity...................................................................................................... 6 Developers need straightforward SCM solutions ..................... 7 Introducing Borland® StarTeam® ............................................ 8 StarTeam® helps project managers keep on track and on budget........................................ 12 Integration means that StarTeam® helps developers ........................................................... 13 Choosing a Software Configuration Management solution ....... 15 Evaluating StarTeam® .......................................................... 16 2
    • The Benefits of Integrated Software Configuration Management Solutions for Project Managers and Development Teams Introduction A key component of every software development lifecycle is the process used to look after the files that make up the project. Software Configuration Management (SCM) solutions are designed to safeguard these assets throughout all stages of a project. The most basic version control features of Software Configuration Management solutions include security, control and audit, ensuring that only authorized developers are able to make changes to project files. Advanced SCM solutions support distributed team development and offer an integrated environment for managing requirements and changes, tracking defects and threaded discussions, and managing the tasks required by effective project management. Through proper use of SCM solutions project managers can track the status of an entire application in real-time and trace modifications back to a particular requirement. With the development of the Internet as a practical method for high-speed communication across cities, countries and continents, development teams are as likely to be spread across the world as be situated in the same room. Co-ordinating activity across separated teams is difficult and quickly reveals the quality of your SCM solution. Yet for SCM solutions to be successful, they have to be easy for developers to use. Without a straightforward way to retrieve and update project assets developers will find alternative ways of distributing files among their colleagues. Unfortunately, attempts to impose complex processes on top of inadequate version control systems are likely to fail. It is essential to have tight integration between the Software Configuration Management solution and all other development tools used in the lifecycle of the project is essential. 3
    • The Benefits of Integrated Software Configuration Management Solutions for Project Managers and Development Teams Project managers need powerful SCM solutions Project managers have a specific set of demands from Software Configuration Management solutions. Since project managers are accountable for the project’s success, they must have visibility into the complex development processes that are spread across hundreds of developers. Task-based status updates While developers may think in terms of project modules, database tables and program code units, project managers focus on the tasks necessary to meet the user requirements and other success metrics. In order to have a view of the development team’s progress, project managers will need to understand how each project asset relates to the requirements and tasks that make up the system. With traditional ‘version-control’ systems, there is no easy way of relating the progress of specific project components back to their requirements. This makes the reporting process time-consuming and prone to mistakes. With a real-time view of the development status, project managers can see directly where issues may be arising in the implementation of a project. This, in turn, makes it possible to identify where additional resources or time may be necessary. Less team management time is required of project managers when the SCM solution keeps project information accessible. Developers can refer to the project requirements and be assured that they are creating a system, which meets users’ needs. The quality assurance team can write efficient test plans and prioritize their work based on the project requirements.. Without effective requirements management, developers can become sidetracked into perfecting less important parts of the system leaving essential features to be deferred. 4
    • The Benefits of Integrated Software Configuration Management Solutions for Project Managers and Development Teams Giving control to a distributed team For a project to be successful, project managers must maintain control over project assets and the tasks followed by developers, sometimes following complex development cycles across distributed teams. Internet communication makes it feasible for organizations to make widespread use of consultants and out-sourced development teams, but without effective co-ordination between these groups, it’s likely that development will be slow and poorly co-ordinated. The symptoms of poor communication in these situations include duplicated work as a result of multiple developers addressing the same task. Conversely, tasks may be omitted completely, with two teams assuming that another will complete the work. A more subtle miscommunication occurs when a requirement changes, but the teams are not notified of the change and therefore must rework the system. Effective Software Configuration Management systems can work across multiple time zones, helping offshore development teams participate in the same processes as those under way in the head office and keep everyone aware of changes. Managing complex business processes A large, distributed development team can have a very complex set of rules to define who can work with what part of the project at what time. Each team member may have a different level of access to a distinct project asset at various points of the lifecycle. For example, a QA engineer may be able to see code after the development team consider it ready for testing but not after it has been passed to the integration team. The most powerful Software Configuration Management solutions include rule-based process management tools to cope with these complex situations. The capabilities typically include custom forms (for e.g. sign-off), actions that occur when a developer accesses a particular asset, triggers that execute when an asset changes status, and so on. 5
    • The Benefits of Integrated Software Configuration Management Solutions for Project Managers and Development Teams Without such a flexible way to manage the development process some teams may find they have to build their own tracking system using groupware such as Exchange or Notes. This can duplicate the effort involved in developing a system and lead to significant synchronization issues. Accounting and understanding the need for changes Besides their responsibility for promoting communication and establishing effective controls, team leaders may be called to account for the rationale behind a particular decision made during the development lifecycle. Indeed, in many industries there is now a legal or regulatory requirement to audit software development. Simple version control systems may keep a comment behind each change, but only a true Software Configuration Management solution can uncover all the changes made as a consequence to a particular decision. If the full discussions behind these changes are available then the team can learn from the amendment, adding to the corporate body of knowledge about the application. Without such traceability, project managers may find it difficult or impossible to establish the full consequences of a particular change. This can lead to regressions, delays, and even the introduction of new bugs in a previously tested system. This high degree of traceability also makes it simple to review a decision and the historical details surrounding it. Assuring project integrity If it is working correctly, the key features of a good Software Configuration Management solution—effective distributed asset management, a centralized, task-based approach, and powerful business rules—assure project managers that the entire project archive is accurate and reliable. In turn, this demands that the project assets are stored in a way that is reliable and fail-safe. The perfect solution is a relational database, as this can be managed using an organization’s 6
    • The Benefits of Integrated Software Configuration Management Solutions for Project Managers and Development Teams existing data management expertise. This includes providing backups, shadowed copies, redundant disk storage and so forth. If regular disk storage is relied upon, not only could performance suffer, but also power failures can render the archive unreadable. This is much less likely if a database is used as the backing store. A large software development project could cost millions to replace, so it is vital that Software Configuration Management archives are covered under disaster recovery plans. Including these archives alongside existing databases is often the easiest and most straightforward way to achieve a solid recovery plan. Developers need straightforward SCM solutions By contrast to project managers, who typically need the ability to manage complex systems at a high-level, developers demand simplicity so they can concentrate on the design, development and testing of the application. For developers, the ideal Software Configuration Management solution is one that transparently allows them to access the assets they need for the particular stage they’ve reached in the current development process. They should not have to navigate bulky add-on menus or run complex stand-alone applications. Furthermore, the SCM solution should integrate seamlessly with all of the development solutions that they already use. This may include design tools, integrated development environments, custom file editors, testing utilities, profilers, and build tools. Without such straightforward integration, it’s possible that developers will choose alternative methods for configuration management, either through simple file swapping via email or by shared storage on network drives. This should be avoided as it is potentially insecure and 7
    • The Benefits of Integrated Software Configuration Management Solutions for Project Managers and Development Teams loses the traceability of changes to the application as well as the assurance of a stable project state that can be restored. Even if there is integration into the development solution, it must be simple and straightforward yet cover as many SCM capabilities as possible. This will ensure that it is used on a regular basis, so the project status is kept up-to-date and the code base is secured. Introducing Bor land ® StarTeam ® The Borland solution for Software Configuration Management is Borland® StarTeam.® Designed for and proven by distributed teams across the Internet, StarTeam is a high- performance SCM solution that addresses the needs of the largest development groups. StarTeam is integrated into a broad range of development solutions from Borland, Microsoft, IBM, and others. Simple version control systems are able to maintain multiple versions of project assets, control access to them and keep a simple log of changes. More advanced version control systems can support branching, allowing multiple versions of a project to exist simultaneously. As a software configuration management system, StarTeam goes beyond these simple systems. Because it can associate changes in project assets with tasks and the relevant requirements requests, Borland StarTeam can track change requests from initiation to resolution, create audit reports and provide comprehensive project monitoring. StarTeam doesn’t just manage file assets, it also manages tasks, requirements, and change requests. Each of these can be linked to any project asset so progress can be tracked as the project advances. StarTeam can maintain threaded conversations between members of the development team. Not only are these automatically archived as part of the corporate knowledge of the project, 8
    • The Benefits of Integrated Software Configuration Management Solutions for Project Managers and Development Teams but they can also be linked to project assets so everyone on the team can quickly become familiar with discussions regarding a particular implementation. To be useful, this power has to be easily available to developers: and through integration StarTeam helps developers become more productive. The close integration with popular development solutions means that project assets are easy to access, no matter where the developer may happen to be. The intelligent processing of business rules by the StarTeam Server ensures that complex development processes are streamlined and do not interfere with the developer’s work. 9
    • The Benefits of Integrated Software Configuration Management Solutions for Project Managers and Development Teams Client Desktops ALM Applications Windows® •JBuilder® •CaliberRM® •C++Builder™ •Together® technology •Eclipse •TestDirector® Linux™ •StarTeam® •Microsoft Project™ StarTeam® Server •Browser •SDK Solaris ™ •Defect Tracking SCM Archives •Requirements Management •Task Management Java™- •StarTeam Native •Contextual Messaging Enabled •PVCS® •Microsoft®®Visual SourceSafe 10
    • The Benefits of Integrated Software Configuration Management Solutions for Project Managers and Development Teams Figure 1: The integrated StarTeam architecture can be used from a broad range of clients StarTeam stores the project assets in a relational database. Client software is provided to check out assets from the database, check them in, and to manage the configuration – for instance, to create branches and subsequently merge them back into the main development flow. The software can work securely and reliably across either corporate networks or dial-up Internet connections using a choice of network protocols. StarTeam uses a central database server, but it is not tied to any one particular type of database, storage is supported on each of the leading enterprise-class databases, helping StarTeam fit alongside existing corporate database infrastructure. Because StarTeam uses a central server, it’s possible to define rules that can be executed when particular actions occur. This gives a considerable degree of flexibility to the project manager, helping them set up a software configuration management system that directly matches the needs to the business. For example, a large team may only wish to automatically promote a particular configuration to ‘release’ status once it has been signed off by two independent QA teams. StarTeam can easily do this, and also send additional tasks (perhaps to deployment) notifying that the sign- off has been completed. Email can be integrated into the project workflow to ensure that all relevant parties are kept up-to-date, even if they are merely observing the progress of the project. As well as this customizable business workflow, StarTeam can be integrated into just about any existing process. Different client interfaces are available for technical and non-technical users. Open APIs for Java™ and COM support the development of custom solutions, adding even more flexibility. The combination of a relational database server with the powerful rules engine means that StarTeam can be used for very complex projects. It’s especially suitable for 11
    • The Benefits of Integrated Software Configuration Management Solutions for Project Managers and Development Teams managing distributed teams across the Internet, even where network access is through dial-up connections. StarTeam helps project managers keep on track and on budget The close integration between StarTeam and other development solutions means that every step of the Application Lifecycle can be managed effectively. • Borland StarTeam integrates directly with Borland® CaliberRM,™ the leading requirements management solution for enterprise development. This ensures that specifications and changes can be associated directly with the initial project requirement, helping prioritize requests and understand the impact of changes. • By direct integration with Borland® Together® technologies, system architects and designers can use Borland StarTeam as the central repository for project design documents. This, in turn, can be the source of tasks for the development, testing and deployment teams at later stages in the project cycle: Borland StarTeam can effectively communicate these tasks to those team members. • Integration with Microsoft® Project ensures that schedules can be maintained and updated based on the actual completion of files that are associated with tasks. • The integration of StarTeam directly into existing development solutions that support the Microsoft Source Code Control (SCC) API, and other application-specific integrations such as Borland® JBuilder®, Borland® C#Builder™ for the Microsoft .NET™ Framework, Borland® Delphi,™ and Borland® C++Builder® means that developers can centrally manage all their digital assets, including source code. Additional levels of integration embed the StarTeam user interface directly into the IDE for maximum productivity and provide a complete, up-to-date list of project requirements and their associated tasks. Each individual change can be associated with these tasks without fuss. 12
    • The Benefits of Integrated Software Configuration Management Solutions for Project Managers and Development Teams • User acceptance testing is an essential part of good software engineering discipline. With an effective way to associate the delivered software to the initial business requirements, the testing and QA team will understand the actual needs of the users. Taken together, this means that project managers can rely on StarTeam to be used as a secure, reliable repository for managing all components of a project. StarTeam capabilities enable a common process and workflow to be established across the team, facilitating control and traceability of all the development project’s assets. As the project evolves, the comprehensive reporting available in StarTeam helps team leaders identify potential bottlenecks. The reporting includes charts that can be used to visually show the overall progress of the system. Integration means that StarTeam helps developers One of the great advantages of Borland StarTeam is that the integration with many lifecycle tools helps developers focus on development rather than managing project assets. A range of different integration capabilities is available. The most powerful is from Borland JBuilder and Borland C++Builder, each of which offers embedded integration. This directly displays all available StarTeam tools inside the development solution IDE, so operations such as merging two files together or viewing a change request are performed in the user interface. This not only saves time, but also makes sure that the developer is aware of the StarTeam features and can take advantage of them. 13
    • The Benefits of Integrated Software Configuration Management Solutions for Project Managers and Development Teams Figure 2: StarTeam embedded integration in Borland JBuilder 9 When using embedded integration, the developer also sees other vital project data such as the status of each of the project assets and can update tasks and requirements directly from JBuilder. Other development solutions such as Borland C#Builder and Borland Delphi offer touchpoint integration. This provides a set of menu options that can be used to pull projects from the archive, place the project into the archive, and manipulate individual files. Direct access to the StarTeam client is also available. 14
    • The Benefits of Integrated Software Configuration Management Solutions for Project Managers and Development Teams Because StarTeam integrates into development solutions, and gives powerful customization features, processes can be designed so that they support and help developers instead of hindering them. Choosing a Software Configuration Management solution Increasingly, Global 2000 companies are improving their application development life-cycle processes to increase IT project efficiency by: ! More consistent requirements gathering and management - potential 60%-90% cost savings ! Creating separate QA control and strong testing processes - potential 30%-90% savings ! Establishing better processes for software version, configuration, and change management Bottom Line: Organizations should target life-cycle process change for highest pain points and adopt automated tools to improve efficiency and cut costs. Meta Group, June 2001 Software configuration management is at the heart of any development process. It’s the central point where all files that make up a development project are stored and controlled. Development managers need a tool that can help manage these assets across widely distributed teams with flexibility, security and reliability. The solution, also, must be easy and straightforward for developers to use. At the very least, a software configuration management solution for use in enterprise applications must: • Allow business requirements and project tasks to be associated with project assets, permitting tracking by tasks 15
    • The Benefits of Integrated Software Configuration Management Solutions for Project Managers and Development Teams • Include the ability to manage multiple branches of development, permitting authorized developers to check out previous revisions of assets if appropriate • Support and integrate smoothly with the development solutions used by team members • Work alongside existing database management systems Borland StarTeam exceeds these minimum requirements, giving all teams a powerful and flexible platform for configuration management. The exceptional integration with other phases of the Application Lifecycle means that StarTeam can be the central repository for project assets from the point where the first requirements are gathered to the final deployment of the system. Evaluating StarTeam ® To evaluate Borland StarTeam, contact your nearest Borland office or download a trial edition from the Web. Details are on the Borland Web site at http://www.borland.com. Made in Borland® Copyright © 2002 Borland Software Corporation. All rights reserved. All Borland brand and product names are trademarks or registered trademarks of Borland Software Corporation in the United States and other countries. Microsoft, Windows, and other Microsoft product names are trademarks or registered trademarks of Microsoft Corporation in the U.S. and other countries. Linux is a registered trademark of Linus Torvalds. All other marks are the property of their respective owners. Corporate Headquarters: 100 Enterprise Way, Scotts Valley, CA 95066-3249 • 831-431-1000 • www.borland.com • Offices in: Australia, Brazil, Canada, China, Czech Republic, Finland, France, Germany, Hong Kong, Hungary, India, Ireland, Italy, Japan, Korea, Mexico, the Netherlands, New Zealand, Russia, Singapore, Spain, Sweden, Taiwan, the United Kingdom, and the United States. • 20917 16