Analysis
Categorization of difficulty
Weighted metrics applied to project categorization to determine scope
Pain Points
Packaging
custom nant tasks
hard coded crosslink directories
inconsistent configurations
project structure inconsistency
type of project:
Core
TP
leaf
Utility
Tool
3rd party
language
C#
VB
Other
Gen 1
Gen2
3rd party difficulties
projects not our code but are checked in
structure difficulties
identify artifacts for publish and consumption
up front project work done by developer prior to migration
htt://wiki/display/eng/Project+Migration+Checklist
Preparation
Project Master cleanup
Migration list from PM queries
Project configuration cleanup
Parallel systems
Blue system (in place)
Accurev
SCIFBUIDCI11
SCBDRELEASE11
Eng
SmcAdminDelivery
Green System (parallel)
Git
SCIFBUILD01
Ivy
Artifactory
Chef
Customization
Iterative runs
Automated project configuration changes
Migration of code
builds
packages
installs
Rollout
non NaviNet projects initiated as Git repositories
CodeGenTPProvisioning
membaseRepo
naviNetOperationsTools
ReleaseEngineeringServer Provisioning
RundeckRepo
TPCbc
chef-repo
OLTPDatabase - first general use development project in Git
training of dev group
naviNet projects migrated in single weekend
run automated project changes
run automated code migration
run automated builds
run automated packaging
run automated distribution
testing and verification
Source Control Change
Define Policies
Developer Workflow
Branch Policies
Train Staff
Automation
MIgration
System Daily Management
Repository Creation
User Creation
Branch policies
Identify Developer Workflow processes
At least partially automated by GitFlow
Identify and create custom hooks
Automation Language
Powershell (known)
Python (learning curve)
Change Build Scripts
Dependency management restructuring
Current tooling breaks
No Accurev crosslinks
New tools and subsystems
Ivy
Artifactory
Project level changes
Automate
Build script changes
Build server restructuring
upgrade ccnet
two build servers to one single server
build script changes
Packaging Changes
split out building from packaging
New tools or subsystems
Project level changes
Custom nant code
Identification of project artifacts
Ivy
Arifactory
Chef
build script changes
Testing
Code Migration
Build server Changes
Project level changes
publishing
packaging
installation
Documentation
Server configurations
build servers
Git Servers
Subsystem configuration
artifactory
chef
Workflows
Developer workflow
SCM Admin workflow
QA workflow
AST workflow
release workflow