1© 2019 SAP SE or an SAP affiliate company. All rights reserved.
Beyhan Veli, SAPJuly 08, 2019
Agile Software Engineering and Pair Programming at Cloud Foundry
2© 2019 SAP SE or an SAP affiliate company. All rights reserved.
Introduction
Pair programming
Meetings
Challenges
Agenda
3© 2019 SAP SE or an SAP affiliate company. All rights reserved.
INTRODUCTION
4© 2019 SAP SE or an SAP affiliate company. All rights reserved.
Infrastructure as a Service (IaaS)
Platform as a Service (PaaS)
Software as s Servie (SaaS)
Cloud Foundry§ PaaS§ Application development made easy§ Defines service APIs
Cloud Foundry
5© 2019 SAP SE or an SAP affiliate company. All rights reserved.
Release engineering
Deployment to supported IaaS
Software lifecycle management§ Monitoring§ Failure recovery
BOSH
6© 2019 SAP SE or an SAP affiliate company. All rights reserved.
Nonprofit organization
Intellectual property
Cloud Foundry adoption§ Conferences§ Trainings§ Certification
Contributors
Cloud standards
Cloud Foundry Foundation
7© 2019 SAP SE or an SAP affiliate company. All rights reserved.
Cloud Foundry Dojo
Remote paring interview
Six weeks pairing§ Dedicated team§ With committers
Committer
One year commitment
8© 2019 SAP SE or an SAP affiliate company. All rights reserved.
1 PO + 8 Developers
DevOps
• BOSH committer
• SAP internal development
• BOSH as a service for SAP
BOSH Team
9© 2019 SAP SE or an SAP affiliate company. All rights reserved.
WHY PAIR PROGRAMMING
10© 2019 SAP SE or an SAP affiliate company. All rights reserved.
Productivity
https://collaboration.csc.ncsu.edu/laurie/Papers/XPSardinia.PDF
11© 2019 SAP SE or an SAP affiliate company. All rights reserved.
Quality
https://collaboration.csc.ncsu.edu/laurie/Papers/XPSardinia.PDF
12© 2019 SAP SE or an SAP affiliate company. All rights reserved.
Quality
https://collaboration.csc.ncsu.edu/laurie/Papers/XPSardinia.PDF
13© 2019 SAP SE or an SAP affiliate company. All rights reserved.
Knowledge Distribution and Code Ownership
Expert in A
Expert in B
Expert in C
14© 2019 SAP SE or an SAP affiliate company. All rights reserved.
Knowledge Distribution and Code Ownership
Expert in A
Expert in B
Expert in C
15© 2019 SAP SE or an SAP affiliate company. All rights reserved.
”I feel productive from the first day”
Onboarding of New Colleagues
16© 2019 SAP SE or an SAP affiliate company. All rights reserved.
Vacation
Test Driven Development
Satisfaction
Increased focus
Pairing Advantages
17© 2019 SAP SE or an SAP affiliate company. All rights reserved.
How
18© 2019 SAP SE or an SAP affiliate company. All rights reserved.
All day long§ Mails§ Daily§ Pairing§ Lunch§ Pairing§ Mails
Skip pairing
Explore new technology
No code review
Pair Programming
19© 2019 SAP SE or an SAP affiliate company. All rights reserved.
Two monitors and keyboards§ Mirrored monitors
Non-personalized equipment§ Except keyboard and mouse
Same tools setup on each workstation
No dedicated workstation for a pair
Pair Programming Setup
20© 2019 SAP SE or an SAP affiliate company. All rights reserved.
Screen sharing§ MacOS screen sharing, Slack or Zoom
Console sharing§ tmux
Discussions over speaker or conference call
Virtual team board
Remote Pair Programming
21© 2019 SAP SE or an SAP affiliate company. All rights reserved.
Every day
Keep story context
Automated
Pair roles assigned§ Interrupt, build, community
Rotation
22© 2019 SAP SE or an SAP affiliate company. All rights reserved.
Interrupt pair§ Operation§ Continues integration pipelines§ Community questions
Weekly rotation
Focus
23© 2019 SAP SE or an SAP affiliate company. All rights reserved.
MEETINGS
24© 2019 SAP SE or an SAP affiliate company. All rights reserved.
Weekly
Story presentation and discussion
Estimation
No detailed task planning
Planning
25© 2019 SAP SE or an SAP affiliate company. All rights reserved.
Scrum questions
Helps/Interestings
Pairs generation
Daily
26© 2019 SAP SE or an SAP affiliate company. All rights reserved.
Pairs Generation
27© 2019 SAP SE or an SAP affiliate company. All rights reserved.
Pairs Generation
28© 2019 SAP SE or an SAP affiliate company. All rights reserved.
Pairs Generation
29© 2019 SAP SE or an SAP affiliate company. All rights reserved.
Weekly
Good/Neutral/Bad
Action Items
Retro
30© 2019 SAP SE or an SAP affiliate company. All rights reserved.
Rotation spreads the knowledge
No need for the Product owner
Product owner takes care of stakeholders
No Review
31© 2019 SAP SE or an SAP affiliate company. All rights reserved.
Challenges
32© 2019 SAP SE or an SAP affiliate company. All rights reserved.
Everyone in team enjoys pairing
Working in pairs is different
Give up on your special role
Give up on your special setup
Plan your time better
Challenges
33© 2019 SAP SE or an SAP affiliate company. All rights reserved.
Questions?
34© 2019 SAP SE or an SAP affiliate company. All rights reserved.
Beyhan VeliTwitter: @beyhan
Thank you.
35© 2019 SAP SE or an SAP affiliate company. All rights reserved.
Cloud Foundry Foundation§ https://www.cloudfoundry.org/
Cloud Foundry projects§ https://github.com/cloudfoundry
Pairing study§ https://collaboration.csc.ncsu.edu/laurie/Papers/XPSardinia.PDF
Pair distribution app§ https://github.com/SAP/pair-distribution-app
Links