Presentation is loading. Please wait.

Presentation is loading. Please wait.

Getting Started with StarTeam Enterprise Advantage

Similar presentations


Presentation on theme: "Getting Started with StarTeam Enterprise Advantage"— Presentation transcript:

1 Getting Started with StarTeam Enterprise Advantage
Preconference Tutorial

2 Agenda Software Configuration Management Concepts
StarTeam Concepts and Architecture Basic StarTeam Configuring a New StarTeam Server Customizing Alternate Property Editors Customizing StarTeam Web Edition Layouts Customizing StarTeam Workflows Custom Dynamic Tools Integrations

3 Software Configuration Management Concepts

4 Software Development Lifecycle
The period of time that begins when a software product is conceived and ends when the software is no longer available for use. SDLC typically includes these phases Concept Requirements Design Implementation Test Installation Maintenance Retirement

5 Capability Maturity Model
A conceptual framework consisting of five levels: Initial: Ad hoc, chaotic and heroic Repeatable: Basic project management control Requirements Management, Project Planning/Tracking, and SCM Defined: Organized software engineering process Clear responsibility, training, reviews and intergroup coordination Managed: Quantitative process measurement Software metrics and quality management Optimized: Continuous process improvement Defect prevention, Technology and Process Change Management

6 Capability Maturity Model

7 Business Value Category Median Costs Benefits
Total yearly cost of Software Process Improvement (SPI) activities $245,000 Costs Years engaged in SPI 3.5 Productivity gain per year 35% Early detection gain per year (defects discovered pre-test) 22% Yearly reduction in time to market 19% Benefits Yearly reduction in post-release defect reports 39% Business value of investment in SPI (value returned on each dollar invested) 5.0 Source: Software Engineering Institute, CMU/SEI-94-TR-13, page 15.

8 Business Value Business Value Ratio of
Software Process Improvement for 5 Organizations Business Value Ratio (Years of Software Process Improvement) (3.5) (6.0) (6.0) (5.0) (3.5) Source: Software Engineering Institute, CMU/SEI-94-TR-13, page 14.

9 What is Software Configuration Management?
SCM is the art of identifying, organizing, and controlling modifications to the software being built by a programming team. The goal of SCM is to maximize productivity by minimizing mistakes. Benefits of SCM include: Increased development productivity Improved project control Reduction in defects Faster problem identification Greater customer goodwill

10 Configuration Items An object within a computer environment that can be uniquely identified and individually manipulated. Configuration Items include: Requirements Specifications Designs Change Requests Tasks Tests Source Code Any digital asset used to develop and maintain the software system

11 Baselines The configuration of a set of configuration items at a discrete point in the software development lifecycle Typical baselines: Requirements baseline The basis against which the software is authenticated Design baseline Allocation of functionality to different parts of the system Product baseline Completed software product delivered for system integration

12 SCM Plan Roles and responsibilities SCM Management Change Management
Relationship of SCM to SDLC Identification of Configuration Items Change Management Change Request Change Control Board Configuration Accounting Reports Audits

13 StarTeam Concepts and Architecture

14 Who approved this change? But it works on my machine!
The Need for Control Didn’t we fix this already? Did we update the model? Do we have that build? How much is left to do? What was fixed in this build? Who approved this change? How do we know when we are finished? Why are they working on that? Didn’t we test for this? Building better applications requires better control over the development process for many reasons: <click> Are these comments familiar to you? These are typical pains that we experience in developing software How many times does a fix not get tested – or not even get into the deployed build? How many times are changes done that no-one – other than the developer – knows about? How many times do we develop the wrong thing or don’t know what we should be working on? Why is it taking so long – because it was badly designed architecturally. We need to fix all these things to gain more control Lets talk about how our technology can help. Who made this change? But it works on my machine! Is this code documented? Why is it taking so long?

15

16 RDDP Gives You Control Focus Development is for approved requirements only Traceability Specific versions of development assets are linked to each other Visibility Development assets are seen from the requirement perspective Everything needs to start from the perspective of the Requirement – we use this term to cover anything that causes design, programming and testing work to be done – an customer enhancement request, a defect, an architectural change etc. Our end-to-end solution ensures that you can FOCUS – development just on approved requirements – process and workflow controls in the products can enforce this TRACE – all work back to the approved requirement (for faster problem detection and resolution) and understand the impact of change before you make it! Asset-linking capabilities in the products enable, for example, a requirement to be linked to design model and the source code that implements it. With our combined solution, all development assets become more VISIBLE – not just requirements. E.G Graphical design models are built to fulfill requirement descriptions that are visible from the ControlCenter GUI – more about that later. A defined, repeatable RDDP will help improve control but the optimum gain will be using integrated tools that support and enforce the process (There are many choices of RDDP available. RUP is an example of a requirement driven process framework that can be customized to your organizations needs and supported by our end-to-end product solution.

17 Collaborative Process Repository
The combined solution automates the process and workflows supporting the entire development lifecycle. To understand the solution consider the three broad disciplines used in the development process: <click>Definition – this kicks of the whole process – by defining the business requirements and use cases <click>We then have to design and develop the system and <click>Verifiy that we have built what was defined! <click>CaliberRM and ControlCenter automate the definition process. Each requirement and use case are defined as individual objects so that they can tracked, versioned, tested etc – we’ll talk more about that next. <click>ControlCenter is the model, build deploy environment supporting UML design modeling, automatic code creation and deployment. <click>Mercury’s TestDirector automates the test management process <click>Automating the individual activity is not enough for implementing an end-to-end solution. Requirements have to drive development - they need to be readily available and traceable. CaliberRM requirements can be accessed via the ControlCenter GUI to help define use cases. <click>Requirement information is published into StarTeam for configuration management. <click>Requirements also drive testing to verify we have built the right system. The integration with testdirector ensures that testers know what to test, ensures that every requirement is tested and tracks where the requirement is in the process – tested? Passed? Failed? Etc <click>TestDirector published defects as StarTeam CRs, which can be accessed from inside ControlCenter and automatically linked to design and code changes for traceability. <click>StarTeam acts as a collaborative process repository for the development assets imposing workflow, configuration & change management across all relevant assets. Assets originating from Caliber and testdirector are replicated into the requirement and CR components respectively in ST. Tasks may originate from MS Project. Team discussion supports communication. Design models and source code from ControlCenter are stored in the file component. )) Collaborative Process Repository JBuilder, Eclipse & Visual Studio

18 Benefits of RDDP Definition Establish more consistent requirements gathering, modeling and management Potential 60-90% savings* Development Establish better processes for software version, configuration, and change management Potential 40-80% savings* Verification Create separate quality assurance control & strong testing processes Potential 30-90% savings* As you can see - Meta Group confirms the benefits of focusing on these disciplines As you can see the potential cost savings can be huge * Source: Meta Group

19 What is StarTeam? Requirement Publication Change Management
Team Discussion Task Allocation & Tracking File Management Customizable workflow Open Customizable Platform Web-Centric Architecture Secure Distributed Repository Automatic Linking StarTeam’s component architecture supports not just files – but change requests/defect, requirements, tasks and team discussions – all of which can be versioned! The requirement component stores relevant requirement information for the developer – this information is published from Caliber The change request component documents changes - enhancements/defects – can come from 3rd party products like mercury’s test director. The task component allows the project manager to assign individuals to specific requirements or change requests and notifies them that they have been assigned work. It also allows them to record their progress. Project plans in MS Project can be automatically updated. The topic component enables threaded discussion – records all discussion in the context of the project – a great way for new people to get up and running The file component versions documents, and models and code created in ControlCenter. StarTeam also has a customizable, graphical workflow to support the RDDP process St has an open API (Java/COM) for easy customization and 3rd part tool integration – all ST client interfaces – except the Win32 client – uses the API All remote communication is via TCP/IP – you can use any client interface remotely – not just a web browser – so you can use your favorite IDE with ST from home! High security support – we were recently selected by Internet Security Systems (ISS) as the only configuration management tool that they could not break the security. ST was designed to support large teams. Information can be accessed centrally or can be replicated to local servers All ST assets are versioned and can be automatically linked to other assets for traceability and impact analysis. Key for implementing RDDP!

20 StarTeam Architecture
Win 32 Client Secure Efficient Internet Command Interface StarTeam SDK - Java/Com based API StarDisk Explorer Web Edition Cross-Platform Client Command Line Dynamic Tools Notification Agent CaliberRM Import JBuilder Eclipse Visual Studio Delphi ControlCenter Together MS Project All communication via TCP/IP directly over the Internet! Secure Efficient Internet Command Interface Starbase Server StarTeam PVCS VSS Database Oracle, MS SQL Server or DB2/UDB

21 StarTeam Basics

22 The StarTeam Product Family
Major Features StarTeam Standard StarTeam Enterprise StarTeam Enterprise Advantage Configuration Management Change Requests Tasks Requirements Customization Workflow Dynamic Tools Notification Basic Customizable

23 Installers StarTeam Server StarTeam Extensions StarTeam MPX Server
StarTeam Clients Client for Windows Cross-Platform Client Web Edition StarDisk Command Line StarTeam Extensions Core Extensions Documentation Samples CaliberRM Import Utility Workflow Designer Layout Designer Notification Agent StarTeam SDK

24 StarTeam Object Model Containment Hierarchy Item Types
Servers contain Projects Projects contain Views Views contain Folders Folders contain Items Item Types Files Change Requests Tasks Topics Requirements

25 Projects

26 Views

27 Folders

28 File Component

29 Change Request Component

30 Topic Component

31 Audit Component

32 Task Component

33 Requirement Component

34 Detail Pane

35 History Pane

36 Label Pane

37 Link Pane

38 Reference Pane

39 Process Items

40 Implementing RDDP Publish requirements from CaliberRM or enter directly into StarTeam Publish defects from Test Director or enter directly in StarTeam Link StarTeam automatically links the development assets Select a Requirement, Change Request or Task and check in all modified files Check out files to the local workstation for editing Let’s now talk about how we can track and control changes to the lifecycle assets. Specific process rules can be enforced in StarTeam that require that a change to a software component or a design model be linked to an approved request. This request can be <click> a requirement published from CaliberRM into StarTeam or <click> a defect published from TestDirector into StarTeam or It could be in the form of a task that originated in Microsoft Project <click>The design models or source code are checked out to Borland Enterprise Studio from StarTeam (via Rose and the Enterprise Studio IDE) for editing <click>StarTeam’s process rules require that you select the requirement, CR or task that is driving the change, before the file changes are checked back in to StarTeam. This can all be done from Borland Enterprise Studio - automatically links the assets together for traceability Process rules can be switched on – on a project-project basis. Local Workstation

41 CR Driven Development Mercury TestDirector StarTeam Change Request 58
Bug 89 Out of date logo on web site and all applications Out of date logo on web site and all applications File: Main.cpp Revision: 1.1 File: Layout.java Revision: 1.1 This diagram represents the Change Request Process Rule directly controlling the file change. This change request originated from a defect in TestDirector and the Starbase TestDirector Synchronizer automatically added it into the Starbase Server as new change request. TestDirector bug #89, ‘out of date logo on web site and all applications’, was created in TestDirector when the test case was run. Using the Starbase TestDirector Synchronizer, the defect information was published into the Starbase Server as change request # 58 and pinned to specific versions of the the Ration Rose UML diagrams and JBuilder or Delphi source code and any other files involved in the change. File: Logo.jpg Revision: 1.4

42 Task Driven Development
Microsoft Project Task 1:Change Layout StarTeam Task 1: Change Task2: Replace Logo Layout Revision: 1.1 File: Layout.java Revision: 1.1 StarTeam Task 2:Replace Logo The following diagram represents the Task Process Rule directly controlling the file change. The diagram illustrates the origination of the task in Microsoft Project which has been published from Microsoft Project into the Starbase Server using the StarTeam task export feature. In the diagram, task #1, ‘change layout’ and task #2, replace logo, were created in Microsoft Project by the project manager and mapped to two tasks StarTeam and pinned to specific versions of the the Rational Rose UML diagrams and JBuilder or Delphi source code and any other files involved in the change. File: Main.cpp Revision: 1.2 File: Logo.jpg Revision: 1.4

43 Requirement Driven Development
CaliberRM Requirement 128 User must logon to system StarTeam Requirement 5 User must logon to system File: Main.cpp Revision: 1.1 File: Layout.java Revision: 1.1 File: Logo.jpg Revision: 1.4 This diagram represents the Requirement Process Rule directly controlling the file change. Requirements in StarTeam can be created directly in the requirement component or can be created in CaliberRM and published into the requirement component in StarTeam. The diagram illustrates the origination of the requirement in CaliberRM. Using the Caliber ‘publish to StarTeam’ menu option, CaliberRM requirement # 128, ‘User must logon to system’ was published to the requirement component in StarTeam as StarTeam requirement #5 and pinned to the specific versions of the Rational Rose UML diagrams and JBuilder or Delphi source code and any other files involved in the change.

44 Configuring a New StarTeam Server

45 StarFlow Extensions Project
A Special StarTeam Project Specifically named “StarFlow Extensions” Custom Alternate Property Editor JAR files Custom Dynamic Tools Workflow engine GUI components Projects folder and subfolders Used to manage the scope of customizations StarTeam Security Used to manage component visibility

46 Configuring the StarFlow Extensions Project
Drag the StarFlow Extensions folder into StarTeam Drag operation only works with Windows client Only need to add the files in the Projects folder Minimum files needed for Alternate Property Editors starflow-extensions.jar guicomponents.jar DesktopIndicator.dll Additional files needed for Dynamic Tools cpc-extensions jar java-icons.jar tool.jar toollocator.jar StarTeam Tree control requires starteam-gui.jar Add the form JAR and Property Editor files For example: ChangeRequest.Jar and ChangeRequest.PropertyEditor.xml

47 Deploying Alternate Property Editors
Open Project | Property | Editors Enable Alternate Property Editors Locator is automatically deploys the resources used by the form Always installed with Windows client Launches the StarTeam Form Server for Windows Locator is not executed by the Cross Platform Client Syntax: Locator <propertyeditor.xml> For example: Locator ChangeRequest Also LocatorDebug All Resources are specified in propertyeditor.xml files All resources must be checked into the Projects folder Resources are automatically deployed to workstations.

48 Custom Property Editors

49 Creating a Basic Workflow Definition
Start the Workflow Designer Create a New Workflow for an Item Type For example: Change Request Add the Workflow Control Property Field Name used in samples: Usr_StarFlowStatus Add 2 values to get started For example: New and Open Make Open (or your equivalent) the default value New (the initial step) is only used when an item is being created Add 2 workflow steps to the diagram to get started Save <Item Type>.Workflow.xml For example: ChangeRequest.Workflow.xml

50 The StarTeam Form Server
Light-weight process to execute Java Virtual Machine Does not have to be restarted when forms are changed Unlike the CrossPlatform Client Double click on Sys Tray icon to shutdown manually Do not confuse with the “StarTeam Toolbar” Displaying the first form takes longer Locator and LocatorDebug may be called from the command line

51 Customizing Alternate Property Editors

52 Configuring JBuilder Libraries
StarTeam starteamNN.jar StarTeam Extensions Starflow-extensions.jar Starteam-gui.jar Guicomponents.jar

53 Documentation Add for StarTeam and StarTeam Extensions
There are a TON of methods in these libraries

54 Configuring the JBuilder Pallete
Add new page Add Components tab JavaBeans in jar manifest JavaBeans with BeanInfo

55 Manually Adding JavaBeans
AddAndLinkButton AttachmentEditor ItemPropertyLabel ItemsPaneComponent OpenLinkedItemButton PropagatingPanel RevisionCommentEditor StaticTextEditor TaskDependenciesComponent

56 Form Samples

57 Customizing Forms with JBuilder
Use JBuilder’s form designer Add a new StarTeam property through StarTeam’s Advanced | Customize menu Drop a new control on the form Enter the new property name into the control Check the new JAR into the StarFlow Extensions project

58 Enter the property name here to map the control to the StarTeam field
Adding custom fields Enter the property name here to map the control to the StarTeam field

59 Customizing StarTeam Web Edition

60 Web Edition Pure web browser interface
Supports multi-file check-in/out Customizable property editors Workflow enabled Does not support IDE Integrations MPX Server

61 Web Edition Form Designer

62 Customizing StarTeam Workflows

63 Workflow Designer Workflow is separate from the form
Defined in <Item Type>.workflow.xml Example: ChangeRequest.Workflow.XML Stored in the StarFlow Extensions project Automatically deployed when changed

64 Example

65 Workflow Properties Tab
General Item Type Workflow Responsibility Workflow Control Property Entry Step Workflow Extensions A place to store custom workflow information in XML

66 Workflow Step Tabs General Participants Exception Notification
The step name and exception time-out Participants Who can see and who can change when in this state Exception Notification Who to inform when in a step too long Step Notification What to send to participants when entering a step Form Options What controls are required, disabled or hidden Status Notification Who else to notify, in addition to the participants, and what to send Next Steps What steps will follow this step and conditions Dynamic Defaults Workflow Extensions A place to store custom step information in XML

67 Notification Agent Setup
Stores configuration in StarFlow Extensions project NotificationAgent.Conf.xml

68 Configuring a Test E-Mail Server
Sample: Setting up a standalone notification.rtf Free ArGoSoft server attached Instructions with screen shots Uses Outlook Express but can be used with Outlook Can be used with multiple user names

69 Running the Notification Agent
Can run the Notification Agent manually via Run Now

70 Example Notification

71 Custom Dynamic Tools

72 Dynamic Tools Cross-Platform Client custom toolbar Only available with the Cross-Platform Client Automatically distributes custom tools No need for separate installation for custom tools Integrates with the cross-platform client Makes using custom tools and utilities easy Toolbar buttons change based on component

73 Custom CR Tools Custom View Tools

74 Custom View Tools Custom Task Tools

75 Integrations

76 Integrations Rich StarTeam Integration Source Code Control API
JBuilder and Eclipse/WebSphere Source Code Control API Visual Studio, Delphi, C# Builder, etc. CaliberRM, Rational Rose, Together Control Center Special Purpose Integrations Visual Studio .NET Web Projects Microsoft Project Oracle Developer

77 Rich StarTeam Integration
Direct access to StarTeam from IDE Cross-Platform Client embedded Workflow enabled custom forms Dynamically deployed Supports all StarTeam types Dynamic Tools accessible through toolbar

78

79

80 Where to get the StarTeam SDK
Download the complete StarTeam SDK Includes complete API documentation and basic samples Download additional samples from

81 Questions?


Download ppt "Getting Started with StarTeam Enterprise Advantage"

Similar presentations


Ads by Google