Perforce ARIS Development Stefan Mller IDS Scheer AG

  • Slides: 19
Download presentation
Perforce @ ARIS Development Stefan Müller IDS Scheer AG 22. 06. 2004 (C) 2004

Perforce @ ARIS Development Stefan Müller IDS Scheer AG 22. 06. 2004 (C) 2004 by IDS Scheer AG. All rights reserved. © IDS Scheer AG www. ids-scheer. com

Agenda 4 ARIS CM Philosophy 4 Requirements for the version control system 4 Migration

Agenda 4 ARIS CM Philosophy 4 Requirements for the version control system 4 Migration from PVCS to Perforce 4 Codeline-Roadmap 4 Integrates 4 IDEA Plugin 4 Summary & Prospect 2 © IDS Scheer AG Business Process Excellence www. ids-scheer. com

ARIS Configuration Management Philosophy Keep away overhead work from developers to make them work

ARIS Configuration Management Philosophy Keep away overhead work from developers to make them work as much time as possible on their source code Produce software like other goods in a „software plant“ and automate as many processes as possible Have a suitable version control system that covers all requirements of our development process 3 © IDS Scheer AG Business Process Excellence www. ids-scheer. com

Requirements for the Development Process 1 major release 2 bugfix releases 4 language releases

Requirements for the Development Process 1 major release 2 bugfix releases 4 language releases 7 releases per year 2 years support (including hotfixes) for every release Localization into 5 languages in 4 steps to minimize “time to market” 6. 2. 0 (de) 6. 2. 0 (de-en) major “de” language “en” + hotfixes 6. 2. 0 (de-en-es-fr) language “es” + “fr” + hotfixes 6. 2. 1 (de-en-es-fr-ja) bugfix + language “ja”+ hotfixes 4 © IDS Scheer AG Business Process Excellence www. ids-scheer. com

Requirements for the Version Control System 1. Support parallel work on many codelines 4

Requirements for the Version Control System 1. Support parallel work on many codelines 4 language releases 4 bugfix releases 4 major releases 4 hotfixes for older releases 4 development branches 4 preliminary releases 2. Support integration of changes 3. User acceptance 5 © IDS Scheer AG Business Process Excellence www. ids-scheer. com

Migration from PVCS to Perforce parallel work integration acceptance PVCS yes no no Perforce

Migration from PVCS to Perforce parallel work integration acceptance PVCS yes no no Perforce yes yes (they even like it) 1 month intensive evaluation (December 2002) 2 months from Kick-Off (January 2003) to go alive (March 2003) Migration 3 weeks before ARIS 6. 1. 1 Release migration without risk and downtime nightly master-builds and daily controller-builds have to run 6 © IDS Scheer AG Business Process Excellence www. ids-scheer. com

Continuous Data Migration The problem: PVCS: Perforce: daily changes in Ant build scripts for

Continuous Data Migration The problem: PVCS: Perforce: daily changes in Ant build scripts for ARIS 6. 1. 1 daily changes to prepare and test Ant build scripts and build machines The solution: continuous data migration to Perforce Trunk Perforce integrate add incoming check Trunk PVCS 01. 02. 2003 03. 2003 time 7 © IDS Scheer AG Business Process Excellence www. ids-scheer. com

Codeline-Roadmap: Basic Structure Codeline-Roadmap describes branch relationship between codelines structured according mainline model 8

Codeline-Roadmap: Basic Structure Codeline-Roadmap describes branch relationship between codelines structured according mainline model 8 © IDS Scheer AG Business Process Excellence www. ids-scheer. com

Codeline-Roadmap: Hotfixes Release branches for hotfixes 9 © IDS Scheer AG Business Process Excellence

Codeline-Roadmap: Hotfixes Release branches for hotfixes 9 © IDS Scheer AG Business Process Excellence www. ids-scheer. com

Standard Integrates Codeline-Roadmap describes branch relationship and integrate relationship between codelines standard integrates: integrate

Standard Integrates Codeline-Roadmap describes branch relationship and integrate relationship between codelines standard integrates: integrate all language changes into the next bugfix release integrate all bugfixes into the next major release allowed integrate direction is always from top to bottom in the Codeline. Roadmap 10 © IDS Scheer AG Business Process Excellence www. ids-scheer. com

Hotfix Integrates hotfix integrates: direct hotfix = integrates based on a „direct“ branch relationship

Hotfix Integrates hotfix integrates: direct hotfix = integrates based on a „direct“ branch relationship indirect hotfix = integrates based on a „indirect“ branch relationship 11 © IDS Scheer AG Business Process Excellence www. ids-scheer. com

Integrate-Controller Who keeps the overview with all these integrate paths ? the Integrate-Controller 4

Integrate-Controller Who keeps the overview with all these integrate paths ? the Integrate-Controller 4 knows the codeline roadmap and all integrate paths 4 reminder forgotten integrates checks per integrate path per user per changelist if ( changelist not yet integrated ) { send e. Mail to user } how much will this be covered by p 4 interchanges ? 12 © IDS Scheer AG Business Process Excellence www. ids-scheer. com

Integrate-Controller Experiences Language and bugfix releases often have added files whose integration does not

Integrate-Controller Experiences Language and bugfix releases often have added files whose integration does not make sense add “dialog. c” special workaround for a japanese dialog size problem branch “dialog. c” branch + delete ? refactoring of the complete dialog handling solves all dialog size problems how to deal with these files ? could these files be resolved in future versions of Perforce ? 13 © IDS Scheer AG Business Process Excellence www. ids-scheer. com

Intelli. J IDEA Plugin Powerful java IDE, supports refactoring Java characteristics 4 class name

Intelli. J IDEA Plugin Powerful java IDE, supports refactoring Java characteristics 4 class name attached to file name com. idsscheer. aris 4 package name attached to directory name com/idsscheer/aris Refactoring in java 4 renaming classes 4 changing the package structure = renaming files = renaming directories Perforce plugin tracks automatically 4 add / edit / delete 4 renames (delete + integrate) during refactorings developers doing extensive refactorings don’t have to worry about “how to submit this into Perforce” java refactoring is transparently mapped to Perforce 14 © IDS Scheer AG Business Process Excellence www. ids-scheer. com

Refactoring Experiences Refactoring is very important for our development process 4 Extreme Programming: iterations

Refactoring Experiences Refactoring is very important for our development process 4 Extreme Programming: iterations to major release 4 KISS (=keep it simple stupid) code refactoring is planned bugfix in “com. idsscheer. aris. configreader. java” Bugfix/6. 2. x integrate ? Trunk refactoring of the complete configreader from package com. idsscheer. aris. configreader. * to package com. idsscheer. tools. configreader. * parallel bugfixing and refactoring in java is very critical will integrating into renamed files be supported by Perforce ? 15 © IDS Scheer AG Business Process Excellence www. ids-scheer. com

Summary & Prospect Powerful tools like Perforce allow improvements new possibilities new ideas better

Summary & Prospect Powerful tools like Perforce allow improvements new possibilities new ideas better processes more time for the developers to work on their source code more holidays for the developers ? more features per release more releases per year more parallel development more requirements for the development process more requirements for the version control system Will Perforce keep up with the improvements that it allows ? 16 © IDS Scheer AG Business Process Excellence www. ids-scheer. com

Questions 17 © IDS Scheer AG Business Process Excellence www. ids-scheer. com

Questions 17 © IDS Scheer AG Business Process Excellence www. ids-scheer. com

Server Statistics Fujitsu/Siemens Primergy RX 200 Rack Server (Pizza-Box) 2 * 2, 66 GHz

Server Statistics Fujitsu/Siemens Primergy RX 200 Rack Server (Pizza-Box) 2 * 2, 66 GHz Xeon 4 GB RAM, 135 GB RAID 5 2 * Ethernet (perforce. ARIS & perforce. PPM) Windows 2000 Server SP 4 3 * p 4 s instances 4 perforce. ARIS: 1666 4 perforce. PPM: 1665 (ARIS productive) (PPM productive) (Test non-productive) Ant scripts for 4 checkpoint 4 verify (daily before backup) (weekly) 18 © IDS Scheer AG Business Process Excellence www. ids-scheer. com

Server Statistics p 4 s instance perforce. ARIS: 1666 4 depots 80 users 151

Server Statistics p 4 s instance perforce. ARIS: 1666 4 depots 80 users 151 clients 43000 changelists 3. 5 GB 10 GB db. * Files versioned files depot //ARIS/. . . 285. 000 versioned files 1. 200. 000 files (p 4 sync -n //ARIS/. . . ) 19 © IDS Scheer AG Business Process Excellence www. ids-scheer. com