SlideShare ist ein Scribd-Unternehmen logo
1 von 131
Remote Pair
Programming
Agile India 2014
Johannes Brodwall
Exilesoft Chief scientist
@jhannes
How can a distributed team
still collaborate

closely?
team
collaborate well?
How can a
But first
But first – a
competition:
Competition:
Find the blue sentence
This talk is a talk
for you if you…
You work in a team, but...
Your team doesn’t
feel like a team
Your distributed team doesn’t
feel like a team
After this talk you
will…
Be motivated to start using pair
programming, possibly remotely
Have seen remote pair
programming
Know how to get started
Who is using pair
programming as their
preferred approach?
1. What is a super team
2. Building a super
team with pairing
3. Getting the benefits
4. Summary
Part I
What is a super
team?
Sharing the burden
Rabbit
hole!
Shared
context
Sharing
experience
Whops!
No!
Working
baseline
“That’s
strange…”
“Eureka!”
20 minutes fix
(where 10 was
waiting)
Problem
solved
The sad team
Planning
Johannes: You’ll
create CRUD SOAP
service for projects
with applications
Okay
Backend dev

“Scrum”
Johannes
“Master”
Planning
How long will it take?

Um…
Backend dev

“Scrum”
Johannes
“Master”
Planning
Backend dev
2

Backend dev

“Scrum”
Johannes
“Master”

It’s pretty
easy with
Hibernate

Okay, 8 hours for
each of Create…
then

!
Stand-up
Today, I will work on
Create Project

Backend dev

Database dev

Scrum master
Johannes

Designer

Frontend dev
Stand-up

No impediments
Backend dev

Database dev

Scrum master
Johannes

Designer

Frontend dev
Behold – the uber
coder
Exception!
org.hibernate.PropertyValueException: not-null property references a null or transient value:
....common.entities.Application._applicationsBackref
org.hibernate.engine.Nullability.checkNullability(Nullability.java:95)
org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:313)
org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:204)
org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:130)
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEvent
Listener.java:210)
org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:56)
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:195)
org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:50)
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93)
Exception
Poke

Google

Deploy

Stack
overflow
Tweak
Exception
Poke

Google

Deploy

Stack
overflow
Tweak
Exception
Poke

Google

Deploy

Stack
overflow
Tweak
Exception
Poke

Google

Deploy

Stack
overflow
Tweak
Stand-up
Yesterday, I worked
on Create Project

Backend dev

Database dev

Scrum master
Johannes

Designer

Frontend dev
Stand-up
Today, I will
hopefully fix the
exception and also
do Delete Project
Backend dev

Database dev

Scrum master
Johannes

Designer

Frontend dev
Stand-up

No impediments
Backend dev

Database dev

Scrum master
Johannes

Designer

Frontend dev
Stand-up
How could
they help
anyway

Backend dev

Database dev

Scrum master
Johannes

Designer

Frontend dev
Behold – the uber
coder
Exception!
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is
org.hibernate.ObjectDeletedException: deleted object would be re-saved by cascade (remove deleted object from
associations): [Person[id=22]]
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:927)
at org.springframework.web.servlet.FrameworkServlet.doDelete(FrameworkServlet.java:844)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:653)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:796)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at
org.springframework.orm.hibernate4.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:152)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:77)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.springframework.web.multipart.support.MultipartFilter.doFilterInternal(MultipartFilter.java:119)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at filter.NoCacheFilter.doFilter(NoCacheFilter.java:102)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
Stand-up
Yesterday, I finally
finished Delete after
3 days of «coding»

I didn’t need the
Delete service

Backend dev

Database dev

Scrum master
Johannes

Designer

Frontend dev
Stand-up
Yesterday, I finally
finished Delete after
3 days of «coding»

I didn’t need the
Delete service

Backend dev

Database dev

Scrum master
Johannes

Designer

Frontend dev
STOP
Imagine you should carry
10 pieces of timber
Each is 3 meters and 30
kg
The fun team
Stand-up
I’m ready for a new task.
What’s on the board..

Johannes

Scrum master
Johannes
Stand-up

«Let’s users administrate
their projects»
Johannes

Scrum master
Johannes
Stand-up

I haven’t done any
Hibernate tasks before.
Who can I pair with?

Scrum master
Johannes

Johannes

I can work together
with you
Exception!
org.hibernate.PropertyValueException: not-null property references a null or transient value:
....common.entities.Application._applicationsBackref
org.hibernate.engine.Nullability.checkNullability(Nullability.java:95)
org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:313)
org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:204)
org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:130)
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEvent
Listener.java:210)
org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:56)
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:195)
org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:50)
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93)
That link doesn’t really
seem relevant.

Are we getting anywhere?
Time to ask for help?
I think Niluka has worked
on this sort of thing before
Yeah, just look at the
Person HasMany Roles
mapping

Niluka
That’s it!
High five!
The difference
Everyone works everywhere
Knowledge is disseminated
You’re never alone
Part II
Superfying
with
Pair programming
Pair programming
styles
Debate club
“No, this variable should be called
fooNumber, not fooNum”,
“But it’s a common abbreviation”
Dedicated driver
“I’ll write the parser”
“I’ll design the algorithm”
Driver-navigator
“I don’t know how to solve this, so
I’ll sit at the keyboard”
Ping-pong
Ingredient #1:
Pair programming
Ingredient #2:
Test driven
development
Failing test
Write code

Failing test
Write code
Failing test
Ingredient #3:
Refactoring
Failing test
Write code
Refactor code
and tests
Failing test
Write code
Refactor code
and tests
Failing test
Put together
Failing test
Write code
Failing test
Write code

Failing test
Failing test
Write code
Refactor code
and tests

Failing test
Write code
Refactor code
and tests
Failing test
Failing test
Write code
Refactor code
and tests

Failing test
Write code
Refactor code
and tests
Failing test
Demonstration
(Guest starring
Niruka Ruhunage)
Kata: Number to text
Kata: Number to text
8192 => eight thousand one hundred and ninety two
125,017 =>
one hundred and twenty five thousand and seventeen
What does it feel
like?
Part III
From here to there
Make sharing into a
goal
Johannes

Thomas
Chintaka

Arunas
Dileepa
Sergey
Johannes

Thomas
Chintaka

Arunas
Dileepa
Sergey
Arunas

Add new company

✓

Display contacts on
map

✓

Dileepa

✓

Chinthaka

✓

Store password
securely

✓

✓

✓

Authenticate user by
company

Sergey

✓

✓

Filter contacts in list

Usernames with
Norwegian letters are
rejected

Johannes

Thomas

✓

✓
✓

✓

✓

✓
✓

✓
Arunas

Add new company

✓

Display contacts on
map

✓

Dileepa

✓

Chinthaka

✓

Store password
securely

✓

✓

✓

Authenticate user by
company

Sergey

✓

✓

Filter contacts in list

Usernames with
Norwegian letters are
rejected

Johannes

Thomas

✓

✓
✓

✓

✓

✓
✓

✓
Arunas

Add new company

✓

Display contacts on
map

✓

Dileepa

✓

Chinthaka

✓

Store password
securely

✓

✓

✓

Authenticate user by
company

Sergey

✓

✓

Filter contacts in list

Usernames with
Norwegian letters are
rejected

Johannes

Thomas

✓

✓
✓

✓

✓

✓
✓

✓
Overcoming
obstacles
JIRA
With a true team, no
member owns more
than their current task
TODO

DOING

WAITING

AWAY

DONE
You will get more done
(But not in the first or
second sprint)
Distance
•
•
•

See each other
Share what we see
Share our work
•
•
•

Skype (or any voice sharing)
GoToMeeting (or flexible screen
sharing)
Dropbox (or any file sharing)
Skill and tact
• Experiment with switching
patterns
• Try out ping-pong
• “Could we try it this way
first?”
Expect exhaustion
When
Bug fix
Training event
Practice with kata
1.
2.
3.
4.

Create a dropbox account
Share a folder with a friend
Put a coding project there
Create a screen share
session
5. Call up your friend
Failing test
Write code
Refactor code
and tests

Failing test
Write code
Refactor code
and tests
Failing test
Set a time per week
Don’t wait to find
the perfect tool
Just do it
Conclusion
What
•
•
•

Two people at one codebase
No member owns a task
beyond the day
Team rotates pairing
Why
•
•
•
•
•
•
•

Less Overproduction (unused functions in API)
Less Waiting (for the only person who knows X)
Less Motion (as everyone gets more skilled)
Fewer Defects (as two pair of eyes see better)
Less Over-processing (from double responsibility)
Less Inventory (as team works more focused)
Less Transportation (handoffs inside a story)
How
•

•
•

Ask for help – don’t work
alone
Play with ping pong
programming for two hours
Be open, share and listen
Competition:
What was the blue sentence?
A team creates
together what no
member could do
alone
Next week: Commit
to two hours of
working together
Thank you
jbr@exilesoft.com
nru@exilesoft.com

http://JohannesBrodwall.com
http://exilesoft.com
http://twitter.com/jhannes

Weitere ähnliche Inhalte

Ähnlich wie Remote Pair Programming (Agile India)

Puppet for SysAdmins
Puppet for SysAdminsPuppet for SysAdmins
Puppet for SysAdminsPuppet
 
When life gives you functions make functional programs!
When life gives you functions make functional programs!When life gives you functions make functional programs!
When life gives you functions make functional programs!Aaron Levin
 
DevOps: Building by feature with immutable infrastructure at Serv.sg
DevOps: Building by feature with immutable infrastructure at Serv.sgDevOps: Building by feature with immutable infrastructure at Serv.sg
DevOps: Building by feature with immutable infrastructure at Serv.sgNicolas Mas
 
SCAM 2012 Keynote Slides on Cooperative Testing and Analysis by Tao Xie
SCAM 2012 Keynote Slides on Cooperative Testing and Analysis by Tao XieSCAM 2012 Keynote Slides on Cooperative Testing and Analysis by Tao Xie
SCAM 2012 Keynote Slides on Cooperative Testing and Analysis by Tao XieTao Xie
 
JavaScript Best Pratices
JavaScript Best PraticesJavaScript Best Pratices
JavaScript Best PraticesChengHui Weng
 
Fp for the oo programmer
Fp for the oo programmerFp for the oo programmer
Fp for the oo programmerShawn Button
 
Reproducible datascience [with Terraform]
Reproducible datascience [with Terraform]Reproducible datascience [with Terraform]
Reproducible datascience [with Terraform]David Przybilla
 
Poitou-Charentes JUG 2016 Eclipse Che: The Next-Gen Eclipse IDE
Poitou-Charentes JUG 2016 Eclipse Che: The Next-Gen Eclipse IDEPoitou-Charentes JUG 2016 Eclipse Che: The Next-Gen Eclipse IDE
Poitou-Charentes JUG 2016 Eclipse Che: The Next-Gen Eclipse IDEFlorent BENOIT
 
Dead codepresentation 0
Dead codepresentation 0Dead codepresentation 0
Dead codepresentation 0drewz lin
 
Clustered PHP - DC PHP 2009
Clustered PHP - DC PHP 2009Clustered PHP - DC PHP 2009
Clustered PHP - DC PHP 2009marcelesser
 
DevDay.lk - Bare Knuckle Web Development
DevDay.lk - Bare Knuckle Web DevelopmentDevDay.lk - Bare Knuckle Web Development
DevDay.lk - Bare Knuckle Web DevelopmentJohannes Brodwall
 
Towards a Responsive Business
Towards a Responsive BusinessTowards a Responsive Business
Towards a Responsive BusinessVenetia Bird
 
JavaProgrammingForBeginners-Presentation.pdf
JavaProgrammingForBeginners-Presentation.pdfJavaProgrammingForBeginners-Presentation.pdf
JavaProgrammingForBeginners-Presentation.pdfSathwika7
 
Debugging Spark: Scala and Python - Super Happy Fun Times @ Data Day Texas 2018
Debugging Spark:  Scala and Python - Super Happy Fun Times @ Data Day Texas 2018Debugging Spark:  Scala and Python - Super Happy Fun Times @ Data Day Texas 2018
Debugging Spark: Scala and Python - Super Happy Fun Times @ Data Day Texas 2018Holden Karau
 
Asynchronous Python A Gentle Introduction
Asynchronous Python A Gentle IntroductionAsynchronous Python A Gentle Introduction
Asynchronous Python A Gentle IntroductionPyData
 
Puppet for Sys Admins
Puppet for Sys AdminsPuppet for Sys Admins
Puppet for Sys AdminsPuppet
 
Idiot proofing your code
Idiot proofing your codeIdiot proofing your code
Idiot proofing your codeJarrod Overson
 
From Ant to Rake
From Ant to RakeFrom Ant to Rake
From Ant to Rakejazzman1980
 
Natural language processing open seminar For Tensorflow usage
Natural language processing open seminar For Tensorflow usageNatural language processing open seminar For Tensorflow usage
Natural language processing open seminar For Tensorflow usagehyunyoung Lee
 

Ähnlich wie Remote Pair Programming (Agile India) (20)

Puppet for SysAdmins
Puppet for SysAdminsPuppet for SysAdmins
Puppet for SysAdmins
 
When life gives you functions make functional programs!
When life gives you functions make functional programs!When life gives you functions make functional programs!
When life gives you functions make functional programs!
 
DevOps: Building by feature with immutable infrastructure at Serv.sg
DevOps: Building by feature with immutable infrastructure at Serv.sgDevOps: Building by feature with immutable infrastructure at Serv.sg
DevOps: Building by feature with immutable infrastructure at Serv.sg
 
SCAM 2012 Keynote Slides on Cooperative Testing and Analysis by Tao Xie
SCAM 2012 Keynote Slides on Cooperative Testing and Analysis by Tao XieSCAM 2012 Keynote Slides on Cooperative Testing and Analysis by Tao Xie
SCAM 2012 Keynote Slides on Cooperative Testing and Analysis by Tao Xie
 
JavaScript Best Pratices
JavaScript Best PraticesJavaScript Best Pratices
JavaScript Best Pratices
 
Fp for the oo programmer
Fp for the oo programmerFp for the oo programmer
Fp for the oo programmer
 
Reproducible datascience [with Terraform]
Reproducible datascience [with Terraform]Reproducible datascience [with Terraform]
Reproducible datascience [with Terraform]
 
Poitou-Charentes JUG 2016 Eclipse Che: The Next-Gen Eclipse IDE
Poitou-Charentes JUG 2016 Eclipse Che: The Next-Gen Eclipse IDEPoitou-Charentes JUG 2016 Eclipse Che: The Next-Gen Eclipse IDE
Poitou-Charentes JUG 2016 Eclipse Che: The Next-Gen Eclipse IDE
 
Dead codepresentation 0
Dead codepresentation 0Dead codepresentation 0
Dead codepresentation 0
 
Clustered PHP - DC PHP 2009
Clustered PHP - DC PHP 2009Clustered PHP - DC PHP 2009
Clustered PHP - DC PHP 2009
 
DevDay.lk - Bare Knuckle Web Development
DevDay.lk - Bare Knuckle Web DevelopmentDevDay.lk - Bare Knuckle Web Development
DevDay.lk - Bare Knuckle Web Development
 
Towards a Responsive Business
Towards a Responsive BusinessTowards a Responsive Business
Towards a Responsive Business
 
JavaProgrammingForBeginners-Presentation.pdf
JavaProgrammingForBeginners-Presentation.pdfJavaProgrammingForBeginners-Presentation.pdf
JavaProgrammingForBeginners-Presentation.pdf
 
Debugging Apache Spark
Debugging Apache SparkDebugging Apache Spark
Debugging Apache Spark
 
Debugging Spark: Scala and Python - Super Happy Fun Times @ Data Day Texas 2018
Debugging Spark:  Scala and Python - Super Happy Fun Times @ Data Day Texas 2018Debugging Spark:  Scala and Python - Super Happy Fun Times @ Data Day Texas 2018
Debugging Spark: Scala and Python - Super Happy Fun Times @ Data Day Texas 2018
 
Asynchronous Python A Gentle Introduction
Asynchronous Python A Gentle IntroductionAsynchronous Python A Gentle Introduction
Asynchronous Python A Gentle Introduction
 
Puppet for Sys Admins
Puppet for Sys AdminsPuppet for Sys Admins
Puppet for Sys Admins
 
Idiot proofing your code
Idiot proofing your codeIdiot proofing your code
Idiot proofing your code
 
From Ant to Rake
From Ant to RakeFrom Ant to Rake
From Ant to Rake
 
Natural language processing open seminar For Tensorflow usage
Natural language processing open seminar For Tensorflow usageNatural language processing open seminar For Tensorflow usage
Natural language processing open seminar For Tensorflow usage
 

Mehr von Johannes Brodwall

Build Your Stuff with Privacy by Design
Build Your Stuff with Privacy by DesignBuild Your Stuff with Privacy by Design
Build Your Stuff with Privacy by DesignJohannes Brodwall
 
Getting your project off the ground (BuildStuffLt)
Getting your project off the ground (BuildStuffLt)Getting your project off the ground (BuildStuffLt)
Getting your project off the ground (BuildStuffLt)Johannes Brodwall
 
Extreme Programming Live - JavaZone
Extreme Programming Live - JavaZoneExtreme Programming Live - JavaZone
Extreme Programming Live - JavaZoneJohannes Brodwall
 
2013 09-11 java zone - extreme programming live
2013 09-11 java zone - extreme programming live2013 09-11 java zone - extreme programming live
2013 09-11 java zone - extreme programming liveJohannes Brodwall
 
2013 08-07 agile 2013 - remote pair programming
2013 08-07 agile 2013 - remote pair programming2013 08-07 agile 2013 - remote pair programming
2013 08-07 agile 2013 - remote pair programmingJohannes Brodwall
 
WeActuallyBuildStuff - Extreme Programming Live
WeActuallyBuildStuff - Extreme Programming LiveWeActuallyBuildStuff - Extreme Programming Live
WeActuallyBuildStuff - Extreme Programming LiveJohannes Brodwall
 
Bare-Bones Software Architecture
Bare-Bones Software ArchitectureBare-Bones Software Architecture
Bare-Bones Software ArchitectureJohannes Brodwall
 
Agile Architecture in Odessa
Agile Architecture in OdessaAgile Architecture in Odessa
Agile Architecture in OdessaJohannes Brodwall
 
Bare-knuckle web development
Bare-knuckle web developmentBare-knuckle web development
Bare-knuckle web developmentJohannes Brodwall
 
Agile Programming Live - AgilePrague2012
Agile Programming Live - AgilePrague2012Agile Programming Live - AgilePrague2012
Agile Programming Live - AgilePrague2012Johannes Brodwall
 
Agile Contracts - AgilePrague2012
Agile Contracts - AgilePrague2012Agile Contracts - AgilePrague2012
Agile Contracts - AgilePrague2012Johannes Brodwall
 
Experience Agile Programming
Experience Agile ProgrammingExperience Agile Programming
Experience Agile ProgrammingJohannes Brodwall
 
Experience Agile Programming - Kiev
Experience Agile Programming - KievExperience Agile Programming - Kiev
Experience Agile Programming - KievJohannes Brodwall
 

Mehr von Johannes Brodwall (20)

Build Your Stuff with Privacy by Design
Build Your Stuff with Privacy by DesignBuild Your Stuff with Privacy by Design
Build Your Stuff with Privacy by Design
 
The new new mobile web
The new new mobile webThe new new mobile web
The new new mobile web
 
Getting your project off the ground (BuildStuffLt)
Getting your project off the ground (BuildStuffLt)Getting your project off the ground (BuildStuffLt)
Getting your project off the ground (BuildStuffLt)
 
Extreme Programming Live - JavaZone
Extreme Programming Live - JavaZoneExtreme Programming Live - JavaZone
Extreme Programming Live - JavaZone
 
2013 09-11 java zone - extreme programming live
2013 09-11 java zone - extreme programming live2013 09-11 java zone - extreme programming live
2013 09-11 java zone - extreme programming live
 
2013 08-07 agile 2013 - remote pair programming
2013 08-07 agile 2013 - remote pair programming2013 08-07 agile 2013 - remote pair programming
2013 08-07 agile 2013 - remote pair programming
 
WeActuallyBuildStuff - Extreme Programming Live
WeActuallyBuildStuff - Extreme Programming LiveWeActuallyBuildStuff - Extreme Programming Live
WeActuallyBuildStuff - Extreme Programming Live
 
Bare-Bones Software Architecture
Bare-Bones Software ArchitectureBare-Bones Software Architecture
Bare-Bones Software Architecture
 
Agile Architecture in Odessa
Agile Architecture in OdessaAgile Architecture in Odessa
Agile Architecture in Odessa
 
Bare-knuckle web development
Bare-knuckle web developmentBare-knuckle web development
Bare-knuckle web development
 
Agile Architecture
Agile ArchitectureAgile Architecture
Agile Architecture
 
Agile Prague Coding Dojo
Agile Prague Coding DojoAgile Prague Coding Dojo
Agile Prague Coding Dojo
 
Agile Programming Live - AgilePrague2012
Agile Programming Live - AgilePrague2012Agile Programming Live - AgilePrague2012
Agile Programming Live - AgilePrague2012
 
Agile Contracts - AgilePrague2012
Agile Contracts - AgilePrague2012Agile Contracts - AgilePrague2012
Agile Contracts - AgilePrague2012
 
Smidig Stykkpriskontrakt
Smidig StykkpriskontraktSmidig Stykkpriskontrakt
Smidig Stykkpriskontrakt
 
Experience Agile Programming
Experience Agile ProgrammingExperience Agile Programming
Experience Agile Programming
 
Agile Contracts
Agile ContractsAgile Contracts
Agile Contracts
 
Smidig ansvarsprosjekt
Smidig ansvarsprosjektSmidig ansvarsprosjekt
Smidig ansvarsprosjekt
 
Kiev Coding Dojo
Kiev Coding DojoKiev Coding Dojo
Kiev Coding Dojo
 
Experience Agile Programming - Kiev
Experience Agile Programming - KievExperience Agile Programming - Kiev
Experience Agile Programming - Kiev
 

Kürzlich hochgeladen

Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKJago de Vreede
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
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 WorkerThousandEyes
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfOverkill Security
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 

Kürzlich hochgeladen (20)

Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
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
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 

Remote Pair Programming (Agile India)