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