SlideShare una empresa de Scribd logo
1 de 37
Using XP practices on
1960s green screen
technology
The system that time forgot

Brian Leach
Nik Silver
Context
How we went…

from this…

…to

this
Wider Context
• Senior management buy-in

It’s not legacy, it’s a

• More team-working

heritage system.

Knowledge silos and
functional teams.

Pairing, independent teams,
breaking down of knowledge
silos, closer involvement of
stakeholders.
The technology
What is It?

The
What is
UniVerse?

Original

No SQL
Database
1960s
1980s

MySQL
NOSQL

1970s

SYBASE
SQL SERVER
UNIVERSE

UNIX
REALITY
SQL
ORACLE

GIM-1
NELSON
PICK

A History Lesson

1990s
UniVerse BASIC
The UniVerse Business Language

Embedded

Procedural
Runtime Loaded

Data centric
Concurrent
Business focused
No encapsulation

No type-safety
No standard tooling
Do you have global
variables ?

Hell, yes
Challenges from the UniVerse Environment

The database

is NOT a
dependency

Bad Code
is platform
independent
TDD
What engineers were seeing
TDD + FitNesse training for
Java/.NET
Sometimes learning Eclipse,
and Java, too

There was a basic test
“template”
With if/then instead of
assert

Could not see how unit
testing applied to them:
Procedural code
Not designed to be tested
Not part of the culture
The Challenge – In Numbers

•40,000+ concurrent connections

Over 700 lines
of code added
every working
day for 25 years

• 4x HP Superdomes
• 1 million+ reads/machine/second
• 12,000+ programs
• 4,644,481 lines of application code
• 31% have cyc. complexity > 50

• 12 TB changes every day
• 120 software engineers
• ... And growing
Lest we Forget

This application
has powered a
business for
over 25 years
to an annual
turnover of
5 billion pounds
What we did
• Wrote our own framework


Created own refactoring catalogue



Started UniVerse-specific TDD training

• Rewrote the framework


Simpler API



Collaborative effort

• Extended the framework


File configuration



Subroutine fakes
Some Lessons
Learned ..

and shared..

Units are different in UniVerse.

Via refactoring catalogue

The database is under test

Via TDD champions

There are limits to breaking
down procedural code.



Critically, they drive each other



Starting to inherit tests



Community site for discussion of
techniques
Areas of resistance
“It’s a waste of time”
“It takes too long”
“We’re going to throw it away anyway”
“We can’t spend time on it if our product owner doesn’t
prioritise it”
Effective pairing is more difficult with procedural code.
We had to name the framework
We had to name the framework
Git
Experiences Introducing git for UniVerse
• February 2013:


TFS introduced for source control



Very slow



File-driven/fragmented in a central repository

• April 2013:


CloudShop moved to git (practical and strategic),
trigger for similar move for UniVerse

• Ambition:


Switch over in June firebreak, but lots of anguish…
Git Anguish
• Change of workflow


Whole codebase snapshots



File locking

• Inclination to want all problems are solved.

“Git is not suitable
for UniVerse”
Git anguish resolutions… and disappointment
• Regular discussions and
steering

• Some people still use
old editors

• Adjusting world view

• Difficulties with three
way merges

• Git training
• Adopting better tools

• Finally went live in…

September
CI Pipeline
CI Pipeline

Local
Devs

gitlab

listener

Commit
Log

QA
Systems
Packager
System

Release
Area

CI
(pull,make,test,sync)
Consistent reliable environments
• Chaining to/calling fatal errors or stop
• Calls which kill the CI process
• Lots of assumptions about the environment, and
continually challenging to ensure it’s clean.
• Non-compiling programs
CI Surprises
• Needed to clarify the development process
• Engagement around non-compiling code
• Reaction to global CI email
Good results:


Whole codebase compiled for the first time



Real collective ownership



Commits circulated to whole of Engineering
as a matter of pride.
Wrap-up
Achievements
• Human rewards…
• Engineers feel part of the modern world


Hackathon



Coding katas

• Feel invested-in
• Have more transferable skills
• TP held up as an exemplar
• “Best Agile Team” award 2013
Where Next ?
• Improve CI process
• Extend packaging
• BDD
• And on and on…
Sep
Jun
Mar
Dec
Jun Sep

1996
1987

2013
2012

Timeline

Switch-over to git + CI
Start git training for UniVerse
Start building CI pipeline
Target for git switch-over (missed)
Planning git and CI for UniVerse
Started TDD for UniVerse
Cloudshop moves to git

Source control introduced (TFS)
teams start working in step

TDD training starts

Scrum teams arranged
Senior team assembled

New CIO arrives

Coding ....

1996: Migration to UniVerse
1987: Development starts
1987: Development starts

Tech appendix follows…

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Paul Wilford - From a Small Experiment to a Half a Billion... | Agile Deliver...
Paul Wilford - From a Small Experiment to a Half a Billion... | Agile Deliver...Paul Wilford - From a Small Experiment to a Half a Billion... | Agile Deliver...
Paul Wilford - From a Small Experiment to a Half a Billion... | Agile Deliver...
 
Continuously Deploying Culture: Scaling Culture at Etsy - Velocity Europe 2012
Continuously Deploying Culture: Scaling Culture at Etsy - Velocity Europe 2012Continuously Deploying Culture: Scaling Culture at Etsy - Velocity Europe 2012
Continuously Deploying Culture: Scaling Culture at Etsy - Velocity Europe 2012
 
The art of decomposing monoliths - Kfir Bloch - Codemotion Amsterdam 2016
The art of decomposing monoliths - Kfir Bloch - Codemotion Amsterdam 2016The art of decomposing monoliths - Kfir Bloch - Codemotion Amsterdam 2016
The art of decomposing monoliths - Kfir Bloch - Codemotion Amsterdam 2016
 
SDLC & DevSecOps
SDLC & DevSecOpsSDLC & DevSecOps
SDLC & DevSecOps
 
How to adapt the SDLC to the era of DevSecOps
How to adapt the SDLC to the era of DevSecOpsHow to adapt the SDLC to the era of DevSecOps
How to adapt the SDLC to the era of DevSecOps
 
Protect Your Drupal Site Against Common Security Attacks
Protect Your Drupal Site Against Common Security AttacksProtect Your Drupal Site Against Common Security Attacks
Protect Your Drupal Site Against Common Security Attacks
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
Embracing OSS in the enterprise
Embracing OSS in the enterpriseEmbracing OSS in the enterprise
Embracing OSS in the enterprise
 
DevOps Transformations
DevOps TransformationsDevOps Transformations
DevOps Transformations
 
Shmoocon 2015 - httpscreenshot
Shmoocon 2015 - httpscreenshotShmoocon 2015 - httpscreenshot
Shmoocon 2015 - httpscreenshot
 
Chaos Engineering when you're not Netflix
Chaos Engineering when you're not NetflixChaos Engineering when you're not Netflix
Chaos Engineering when you're not Netflix
 
Shifting left – embedding security into the devops pipeline by Mike d. Kail
Shifting left – embedding security into the devops pipeline by Mike d. KailShifting left – embedding security into the devops pipeline by Mike d. Kail
Shifting left – embedding security into the devops pipeline by Mike d. Kail
 
Outsmarting Merge Edge Cases in Component Based Design
Outsmarting Merge Edge Cases in Component Based DesignOutsmarting Merge Edge Cases in Component Based Design
Outsmarting Merge Edge Cases in Component Based Design
 
The Coming Earthquake in IIS and SQL Configuration Management
The Coming Earthquake  in IIS and SQL Configuration ManagementThe Coming Earthquake  in IIS and SQL Configuration Management
The Coming Earthquake in IIS and SQL Configuration Management
 
(Best) Practices for the Solo Developer
(Best) Practices for the Solo Developer(Best) Practices for the Solo Developer
(Best) Practices for the Solo Developer
 
Immutable Service Delivery Shenzhen 2016
Immutable Service Delivery   Shenzhen 2016Immutable Service Delivery   Shenzhen 2016
Immutable Service Delivery Shenzhen 2016
 
Winston - Netflix's event driven auto remediation and diagnostics tool
Winston - Netflix's event driven auto remediation and diagnostics toolWinston - Netflix's event driven auto remediation and diagnostics tool
Winston - Netflix's event driven auto remediation and diagnostics tool
 
Kickoff Test Automation Day 2012
Kickoff Test Automation Day 2012Kickoff Test Automation Day 2012
Kickoff Test Automation Day 2012
 
Cloud patterns
Cloud patternsCloud patterns
Cloud patterns
 
Dockercon USA 2016 - Immutable Awesomeness
Dockercon USA 2016 - Immutable Awesomeness Dockercon USA 2016 - Immutable Awesomeness
Dockercon USA 2016 - Immutable Awesomeness
 

Similar a Using XP practices on 1960s green screen technology

Delphix and DBmaestro
Delphix and DBmaestroDelphix and DBmaestro
Delphix and DBmaestro
Kyle Hailey
 

Similar a Using XP practices on 1960s green screen technology (20)

Devops - why, what and how?
Devops - why, what and how?Devops - why, what and how?
Devops - why, what and how?
 
DevSecOps - The big picture
DevSecOps - The big pictureDevSecOps - The big picture
DevSecOps - The big picture
 
DevSecOps - The big picture
DevSecOps - The big pictureDevSecOps - The big picture
DevSecOps - The big picture
 
Make It Cooler: Using Decentralized Version Control
Make It Cooler: Using Decentralized Version ControlMake It Cooler: Using Decentralized Version Control
Make It Cooler: Using Decentralized Version Control
 
Continuous Delivery Decision points
Continuous Delivery Decision pointsContinuous Delivery Decision points
Continuous Delivery Decision points
 
DevOps, Common use cases, Architectures, Best Practices
DevOps, Common use cases, Architectures, Best PracticesDevOps, Common use cases, Architectures, Best Practices
DevOps, Common use cases, Architectures, Best Practices
 
Making software development processes to work for you
Making software development processes to work for youMaking software development processes to work for you
Making software development processes to work for you
 
Lucas Gravley - HP - Self-Healing And Monitoring in a DevOps world
Lucas Gravley - HP - Self-Healing And Monitoring in a DevOps worldLucas Gravley - HP - Self-Healing And Monitoring in a DevOps world
Lucas Gravley - HP - Self-Healing And Monitoring in a DevOps world
 
DevOps 101
DevOps 101DevOps 101
DevOps 101
 
Evolving to DevOps
Evolving to DevOpsEvolving to DevOps
Evolving to DevOps
 
Experience in teaching devops
Experience in teaching devopsExperience in teaching devops
Experience in teaching devops
 
AgileDC15 I'm Using Chef So I'm DevOps Right?
AgileDC15 I'm Using Chef So I'm DevOps Right?AgileDC15 I'm Using Chef So I'm DevOps Right?
AgileDC15 I'm Using Chef So I'm DevOps Right?
 
manage databases like codebases
manage databases like codebasesmanage databases like codebases
manage databases like codebases
 
DevOps Workshops Fall 2016
DevOps Workshops Fall 2016DevOps Workshops Fall 2016
DevOps Workshops Fall 2016
 
Delphix and DBmaestro
Delphix and DBmaestroDelphix and DBmaestro
Delphix and DBmaestro
 
DevOps The Cultural revolution
DevOps The Cultural revolutionDevOps The Cultural revolution
DevOps The Cultural revolution
 
DevOps Overview
DevOps OverviewDevOps Overview
DevOps Overview
 
Dev Ops for systems of record - Talk at Agile Australia 2015
Dev Ops for systems of record - Talk at Agile Australia 2015Dev Ops for systems of record - Talk at Agile Australia 2015
Dev Ops for systems of record - Talk at Agile Australia 2015
 
Lessons Learned from Continuous Delivery
Lessons Learned from Continuous DeliveryLessons Learned from Continuous Delivery
Lessons Learned from Continuous Delivery
 
The Unlikely Couple, DevOps and Security. Can it work?
The Unlikely Couple, DevOps and Security. Can it work?The Unlikely Couple, DevOps and Security. Can it work?
The Unlikely Couple, DevOps and Security. Can it work?
 

Último

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Último (20)

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 

Using XP practices on 1960s green screen technology

  • 1. Using XP practices on 1960s green screen technology The system that time forgot Brian Leach Nik Silver
  • 3. How we went… from this… …to this
  • 4. Wider Context • Senior management buy-in It’s not legacy, it’s a • More team-working heritage system. Knowledge silos and functional teams. Pairing, independent teams, breaking down of knowledge silos, closer involvement of stakeholders.
  • 6. What is It? The What is UniVerse? Original No SQL Database
  • 9. The UniVerse Business Language Embedded Procedural Runtime Loaded Data centric Concurrent Business focused No encapsulation No type-safety No standard tooling
  • 10. Do you have global variables ? Hell, yes
  • 11. Challenges from the UniVerse Environment The database is NOT a dependency Bad Code is platform independent
  • 12. TDD
  • 13. What engineers were seeing TDD + FitNesse training for Java/.NET Sometimes learning Eclipse, and Java, too There was a basic test “template” With if/then instead of assert Could not see how unit testing applied to them: Procedural code Not designed to be tested Not part of the culture
  • 14. The Challenge – In Numbers •40,000+ concurrent connections Over 700 lines of code added every working day for 25 years • 4x HP Superdomes • 1 million+ reads/machine/second • 12,000+ programs • 4,644,481 lines of application code • 31% have cyc. complexity > 50 • 12 TB changes every day • 120 software engineers • ... And growing
  • 15.
  • 16.
  • 17.
  • 18.
  • 19. Lest we Forget This application has powered a business for over 25 years to an annual turnover of 5 billion pounds
  • 20. What we did • Wrote our own framework  Created own refactoring catalogue  Started UniVerse-specific TDD training • Rewrote the framework  Simpler API  Collaborative effort • Extended the framework  File configuration  Subroutine fakes
  • 21. Some Lessons Learned .. and shared.. Units are different in UniVerse. Via refactoring catalogue The database is under test Via TDD champions There are limits to breaking down procedural code.  Critically, they drive each other  Starting to inherit tests  Community site for discussion of techniques
  • 22. Areas of resistance “It’s a waste of time” “It takes too long” “We’re going to throw it away anyway” “We can’t spend time on it if our product owner doesn’t prioritise it” Effective pairing is more difficult with procedural code.
  • 23. We had to name the framework
  • 24. We had to name the framework
  • 25.
  • 26. Git
  • 27. Experiences Introducing git for UniVerse • February 2013:  TFS introduced for source control  Very slow  File-driven/fragmented in a central repository • April 2013:  CloudShop moved to git (practical and strategic), trigger for similar move for UniVerse • Ambition:  Switch over in June firebreak, but lots of anguish…
  • 28. Git Anguish • Change of workflow  Whole codebase snapshots  File locking • Inclination to want all problems are solved. “Git is not suitable for UniVerse”
  • 29. Git anguish resolutions… and disappointment • Regular discussions and steering • Some people still use old editors • Adjusting world view • Difficulties with three way merges • Git training • Adopting better tools • Finally went live in… September
  • 32. Consistent reliable environments • Chaining to/calling fatal errors or stop • Calls which kill the CI process • Lots of assumptions about the environment, and continually challenging to ensure it’s clean. • Non-compiling programs
  • 33. CI Surprises • Needed to clarify the development process • Engagement around non-compiling code • Reaction to global CI email Good results:  Whole codebase compiled for the first time  Real collective ownership  Commits circulated to whole of Engineering as a matter of pride.
  • 35. Achievements • Human rewards… • Engineers feel part of the modern world  Hackathon  Coding katas • Feel invested-in • Have more transferable skills • TP held up as an exemplar • “Best Agile Team” award 2013
  • 36. Where Next ? • Improve CI process • Extend packaging • BDD • And on and on…
  • 37. Sep Jun Mar Dec Jun Sep 1996 1987 2013 2012 Timeline Switch-over to git + CI Start git training for UniVerse Start building CI pipeline Target for git switch-over (missed) Planning git and CI for UniVerse Started TDD for UniVerse Cloudshop moves to git Source control introduced (TFS) teams start working in step TDD training starts Scrum teams arranged Senior team assembled New CIO arrives Coding .... 1996: Migration to UniVerse 1987: Development starts 1987: Development starts Tech appendix follows…

Notas del editor

  1. Synopsis: Travis Perkins has introduced some very modern technologies in the last few years, but half of the 120-strong software engineeringteam is actively developing in BASIC on its 1960s green screen technology platform. Brian and Nik show how it is possible to introduce XP practices to technology that predates the moon landings, and will discuss lessons learned. They will cover unit testing, source control, and continuous integration, and will touch briefly on future objectives.
  2. Wider ContextTravis Perkins has embarked on a transformation of its IT practices with support and leadership from senior management.Where before small teams chipped away at the code face in single-function isolated silos, now they have grown their teams and embraced Agile principles, pairing and close working with stakeholders.
  3. Does it have Global Variables?Yes.All variables have global scope within a program or subroutine.It also has ‘very global’ variables that can be shared between programs and subroutines.And ‘very, very global’ variables that exist for the duration of a login session (permanent).
  4. What Engineers were SeeingThe engineers were learning java or sitting next to teams using java.So they were seeing those engineers working with TDD, frameworks and standard build processes.And they thought – does this apply to us?
  5. The ChallengeStu had to change four lines of code in a small routine.Here is the context ..
  6. .. And a bit more ..
  7. .. And a bit more ..
  8. .. And a bit more ..(This is one of the shorter routines. And Remember: every variable is global)
  9. What We DidWe wrote our own unit test framework for UniVerse and taught engineers about unit testing and pair programming.Then we rewrote the framework to simplify and extend it as the engineers began to take ownership and to request features.The we extended it with configuration and faking.
  10. Some LessonsUnits in UniVerse are different. The concept of a unit covers a wider block – you can’t build in Single Responsibility Principle in the same way. So we developed patterns for splitting and refactoring code to make the sections addressable for testing.The database is part of the code: we can’t separate it out as a dependency (though faking to isolate tests is possible).UniVerse engineers like TDD! And have taken it on board enthusiastically.. Eventually.
  11. A framework has to have a name. All our unit test program names started “UNIT.” But UniVerse has a limit of 62 characters for a label, and the team was worried about wasting them. So they elected to drop one character, and thus the framework was named…
  12. A token of RegardFrom the team to Nik...
  13. The codebase did get source control in early 2013, but TFS had its problems. The Java teams’ move to git was the catalyst to move to the UniVerse teams, too.
  14. Git AnguishMoving to git meant a change in mindset.UniVerse uses file locking to protect access to code. Previous source code control (TFS) also implemented locking.Moving to a distributed version control system with no visibility of who was working on what raised fears.
  15. CI PipelineWe built a CI pipeline based around gitlab post-commit hooks. These are captured using HTML listeners in UniVerse and commit details logged to file. A cron job runs a CI process on commit changes, feeding a segregated release system and packager.Unusually, the decision was taken to email notifications of passes as well as failures (the opposite of many black box CI systems).The aim is to publicize and celebrate success as well as notify failures.
  16. Consistent Reliable EnvironmentsShifting to TDD and CI led to changes in expectation about what would/could be run in a clean environment.In addition to data files, the application sets up configuration information on login. This is unavailable to the CI process.Many assumptions are made in the code about the existence of this and of standard parameter records.And this is a distributed system, so code expects to call routines on other machines.Fatal errors stop that UniVerse process: a problem as the CI runs in the same process (and cannot report back).And there were many programs that could not compile.
  17. September 2013: Switch-over to git + CIAugust 2013: Start git training for UniVerseJuly 2013: Start building CI pipelineJune 2013: Target for git switch-over (missed)May 2013: Started discussion of git and CI for UniVerse Apr 2013: Started TDD for UniVerse, Cloudshop moves to gitFeb 2013: Source control introduced (TFS), teams start working in stepJan 2013: TDD training startsDec 2012: Scrum teams arrangedSep 2012: Senior team assembled