SlideShare a Scribd company logo
Data-Driven
Software Development -
The quest for the intelligent machine that manages software projects
freiheit.com technologies - Hamburg, September 29, 2015
code.talks 2015
© freiheit.com 2
Thanks for coming!
WHO AM I?
Me: Stefan Richter
● Dipl.-Ing. + Dipl.-Inf.
● First program: I983
● First language: UCSD Pascal
● First 15 years: Lots of C and
4GL languages
● Last 15+ years: Java (from 1.02),
Python, Common Lisp, Clojure,
JavaScript
● Current favorite: Go
My company: freiheit.com
● Founder: 1999
● Building large-scale Internet
systems since 15+ years
● 90 % developers (degree in
computer science, mathematics,
physics)
● Self-organizing, self-optimizing,
hierarchy-free organization
● Daimler, Tchibo, E&V, METRO,
SPIEGEL, Libri, Swiss Life,
1&1/WEB.DE etc.
© freiheit.com GOTO Conference Copenhagen, 2011 3
!
DATA-DRIVEN SOFTWARE DEVELOPMENT
THE QUEST FOR
THE INTELLIGENT
MACHINE THAT
MANAGES SOFTWARE
PROJECTS
Since 2003, we have been experimenting with systems
that support developers in their decision making.
5© freiheit.com
HISTORY: MAKE PROJECT MANAGEMENT MORE INTELLIGENT
TODAY I WANT TO SHOW YOU
HOW WE HAVE BUILT AN
INTELLIGENT AGENT TO
HELP US RUN OUR
SOFTWARE PROJECTS
© freiheit.com 7
© freiheit.com 8
BUT WE ARE AGILE!
WE DON’T NEED
PROJECT
MANAGEMENT!
WHY IS BUILDING
SOFTWARE IN LARGER
TEAMS STILL DIFFICULT?
Too many steps, artefacts, roles.
Lot’s of communications needed.
11
WATERFALL PROCESS
I think you have seen the short-cut, too ...
12© freiheit.com
AGILE PROCESSES
Product Owner
Value? Code!
SoftwareStories
Developer
Conclusion: It is not
enough to implement
the Scrum method.
You need to change
the whole way how an
organization works.
If structures are getting larger and complicated, things
become less easy ...
13© freiheit.com
LARGER ORGANIZATION, LARGER TEAMS
Product
Owner
Developer
Developer
Larger OrganizationSmall Team Larger Team
n x (n-1)
5 x 4 = 20
Communicaiton
Communicaiton
Manager
Manager
WE NEED TO GET
THE RIGHT INFORMATION
TO THE RIGHT PEOPLE
AT THE RIGHT TIME
© freiheit.com 15
Every project looks like this: You have to deliver the
highest value to the lowest costs.
TIME VS. VALUE
Capacity
(highest value to
the lowest costs)
Time = Money
Developers
Start Today End
Past
Growth
Future
Shrinks
Given the same quality, faster is always better.
Power = Force x Distance
Time
NOT
Force x Distance x Time
No matter if you measure
in points or ideal days!
16© freiheit.com
FASTER IS BETTER: ABOUT MEASURING TIME AND PROGRESS
PROJECT MANAGEMENT
ARE WE ON TRACK?
IS THERE ANYTHING
SLOWING US DOWN?
“ADVENTURE IS JUST
BAD PLANNING.”
- ROALD AMUNDSEN
(First to reach the south pole on 14 December 1911)
A PLAN IS AN
ASSUMPTION ...
… AND PLANNING IS TO
CHECK YOUR ASSUMP-
TIONS AND ADAPT THEM
EVERY DAY BASED ON
YOUR PROGRESS.
ARE WE ON TRACK?
- What is the initial plan?
- Expected delivery? Feature set, delivery date, customer value?
- Re-implementing existing systems or how to sort 5000+ stories into a plan.
- Capacity checks, forecasts: We have a dedicated team for that.
- Forecasts are difficult no matter if you have 5 or 500 people working.
- Is our plan still correct? (80/20 rule of uncertainty)
- Having project managers running a software project. We don’t like that.
- Doing meetings to keep everybody on the same page?
- Having more meetings whenever there is a problem?
- Everybody is buying Jira, but does this help? (“A fool with a tool is still a fool.”)
ARE WE WORKING ON
THE RIGHT THINGS?
- MoSCoW prioritization method (MUST, SHOULD, COULD, WON’T)
- implementation order
- transparency without meetings (reporting, using the “Facebook effect”)
- Blackboards versus agile project systems
- Who is working on what? What is done, not done?
- Is everybody working on the planned stories? (Anecdotal evidence)
- The feeling of being part of a larger team
ARE THERE ANY
PROBLEMS?
- Are we spending an unusual amount of time somewhere?
- Are new developers getting up to speed?
- External factors? Systematic under/over estimations?
- Who needs support? Who is stuck somewhere?
- Is “done” really done? Getting feedback from users/stakeholders.
- Where are changes needed? Follow-up stories?
- What will that do to our plan?
WHAT IF AN INTELLIGENT
AGENT COULD DO THIS
FOR YOU?
Let’s talk about agent-based systems ...
25© freiheit.com
… or maybe like this.
26© freiheit.com
INTELLIGENT AGENT - DEFINITION:
In artificial intelligence, an intelligent agent
(IA) is an autonomous entity which observes
through sensors and acts upon an
environment using actuators and directs its
activity towards achieving goals (i.e. it is
"rational", as defined in economics).*
*Source WIKIPEDIA
© freiheit.com 28
Simple reflex, model-based, goal-based, utility-
based and general learning agents.
INTELLIGENT AGENT
© freiheit.com 29
Siri, Google Now, and Facebook bringing
general purpose intelligent agents in place.
© freiheit.com 30
WE ARE COMMUNICATING
MORE AND MORE VIA INSTANT
MESSAGING SYSTEMS LIKE
WHATSAPP, SLACK, WECHAT,
FACEBOOK etc.
© freiheit.com 31
32© freiheit.com
SO HERE IS
WHAT WE HAVE BUILT ...
© freiheit.com 34
© freiheit.com 35
USING GAME AI
TECHNIQUES
● Target date
● Estimation
● Effort
● What is STARTED?
● What is DELIVERED
● What is ACCEPTED?
© freiheit.com 37
Before we can learn from behavior, we have to get
the basics right.
Agent
State
Goals
Utility
What is the world right now?
What will it be like
if I do action x?
How happy I will be in such a
state?
World
Percepts EnvironmentSensors
Actuators
⎬ Stories
⎬ Progress
Action
© freiheit.com 38
Goal-oriented action planning is a technique
used in building NPCs for Game AI.
STATE-MACHINES VS. GOAP
Source: http://gamedevelopment.tutsplus.com/tutorials/goal-oriented-action-planning-for-a-smarter-ai--cms-20793
State machine Loosely coupled goals/action
© freiheit.com 39
To reach a goal, we can select the best next
action that reduces high insistence values.
GOAL-ORIENTED ACTION PLANNING, INSISTENCE
Goal:Eat=4, Bathroom=3
Action:Drink-Soda (Eat-2, Bathroom+3)
Action:Visit-Bathroom (Bathroom-4)
Source: Artificial Intelligence for Games
© freiheit.com 40
If we want to consider side-effects of an action
we have to calculate the discontentment value.
GOAL-ORIENTED ACTION PLANNING, DISCONTENTMENT
Goal:Eat=4, Bathroom=3
Action:Drink-Soda (Eat-2, Bathroom+2)
- afterwards: Eat=2, Bathroom=5:
Discontentment=29
Action:Visit-Bathroom (Bathroom-4)
- afterwards: Eat=4, Bathroom=0,
Discontentment=16
Source: Artificial Intelligence for Games
HYPOTHESIS
WE CAN MODEL OUR
PROJECT WORLD USING
THE SAME METHODS.
All aspects of a project are monitored by specialized
software bots. These bots are working in swarms.
Slack
Sensors
Actuators
Space Planner/Bots
Slack
API
Agile Planning Tool GOAP AI
Agent Framework
Swarm
Swarm
Realtime
Databases,
other
Sources
© freiheit.com 42
Super Swarm
GOETHE ARCHITECTURE
Sensors
● Stories (“Plan”)
● Progress (“Done”)
● Commits (Code)
● Bugs
● Calendar
● Android/Apple Watch
Actuators
● Messengers
(Slack etc.)
● IRC, XMPP
● Apple/Android Watch
● Text-2-Speech
© freiheit.com 43
Bots
● Personal Bot
● Sprint/Milestone
● Project
● Anomaly Detection
● Pattern Recognition
● Neural Networks
● Planning
● Code Quality
© freiheit.com 44
The actions are using Go text/templates and a
homegrown DSL to access the data.
DSL EXAMPLES
All Stories from the current milestone
All Stories in the past that are not done
DEMO VIDEOS
© freiheit.com 46
© freiheit.com 47
SIGN-UP HERE FOR OUR
CLOSED BETA:
http://goethe.instapage.com/
THANK YOU
Twitter: @smartrevolution
freiheit.com technologies
Budapester Str. 45
20359 Hamburg, Germany
kontakt@freiheit.com
T +49 40 890584 0
F +49 40 890584 20
Hackers wanted.
Join us:
jobs@freiheit.com

More Related Content

More from AboutYouGmbH

Tech talk 01.06.2017
Tech talk 01.06.2017Tech talk 01.06.2017
Tech talk 01.06.2017
AboutYouGmbH
 
Retention Strategies in Mobile E-Commerce
Retention Strategies in Mobile E-CommerceRetention Strategies in Mobile E-Commerce
Retention Strategies in Mobile E-Commerce
AboutYouGmbH
 
Rethinking Fashion E-Commerce
Rethinking Fashion E-CommerceRethinking Fashion E-Commerce
Rethinking Fashion E-Commerce
AboutYouGmbH
 
ABOUT YOU get on board
ABOUT YOU get on boardABOUT YOU get on board
ABOUT YOU get on board
AboutYouGmbH
 
Niels Leenheer - Weird browsers - code.talks 2015
Niels Leenheer - Weird browsers - code.talks 2015Niels Leenheer - Weird browsers - code.talks 2015
Niels Leenheer - Weird browsers - code.talks 2015
AboutYouGmbH
 
Dennis Benkert & Matthias Lübken - Patterns in a containerized world? - code....
Dennis Benkert & Matthias Lübken - Patterns in a containerized world? - code....Dennis Benkert & Matthias Lübken - Patterns in a containerized world? - code....
Dennis Benkert & Matthias Lübken - Patterns in a containerized world? - code....
AboutYouGmbH
 
Stefan Richter - Writing simple, readable and robust code: Examples in Java, ...
Stefan Richter - Writing simple, readable and robust code: Examples in Java, ...Stefan Richter - Writing simple, readable and robust code: Examples in Java, ...
Stefan Richter - Writing simple, readable and robust code: Examples in Java, ...
AboutYouGmbH
 
Lars Jankowfsky - Learn or Die - code.talks 2015
Lars Jankowfsky - Learn or Die - code.talks 2015Lars Jankowfsky - Learn or Die - code.talks 2015
Lars Jankowfsky - Learn or Die - code.talks 2015
AboutYouGmbH
 
Dr. Jeremias Rößler - Wenn Affen Testen - Das Ende der Bananensoftware - code...
Dr. Jeremias Rößler - Wenn Affen Testen - Das Ende der Bananensoftware - code...Dr. Jeremias Rößler - Wenn Affen Testen - Das Ende der Bananensoftware - code...
Dr. Jeremias Rößler - Wenn Affen Testen - Das Ende der Bananensoftware - code...
AboutYouGmbH
 
Zeljko Kvesic - Scrum in verteilten Teams / Agil über die Landesgrenzen - cod...
Zeljko Kvesic - Scrum in verteilten Teams / Agil über die Landesgrenzen - cod...Zeljko Kvesic - Scrum in verteilten Teams / Agil über die Landesgrenzen - cod...
Zeljko Kvesic - Scrum in verteilten Teams / Agil über die Landesgrenzen - cod...
AboutYouGmbH
 
Uwe Friedrichsen - CRDT und mehr - über extreme Verfügbarkeit und selbstheile...
Uwe Friedrichsen - CRDT und mehr - über extreme Verfügbarkeit und selbstheile...Uwe Friedrichsen - CRDT und mehr - über extreme Verfügbarkeit und selbstheile...
Uwe Friedrichsen - CRDT und mehr - über extreme Verfügbarkeit und selbstheile...
AboutYouGmbH
 
Kai Voigt - Big Data zum Anfassen - code.talks 2015
Kai Voigt - Big Data zum Anfassen - code.talks 2015Kai Voigt - Big Data zum Anfassen - code.talks 2015
Kai Voigt - Big Data zum Anfassen - code.talks 2015
AboutYouGmbH
 
Dr. Andreas Lattner - Aufsetzen skalierbarer Prognose- und Analysedienste mit...
Dr. Andreas Lattner - Aufsetzen skalierbarer Prognose- und Analysedienste mit...Dr. Andreas Lattner - Aufsetzen skalierbarer Prognose- und Analysedienste mit...
Dr. Andreas Lattner - Aufsetzen skalierbarer Prognose- und Analysedienste mit...
AboutYouGmbH
 
Marcel Hild - Spryker (e)commerce framework als Alternative zu traditioneller...
Marcel Hild - Spryker (e)commerce framework als Alternative zu traditioneller...Marcel Hild - Spryker (e)commerce framework als Alternative zu traditioneller...
Marcel Hild - Spryker (e)commerce framework als Alternative zu traditioneller...
AboutYouGmbH
 
Wolfram Kriesing - EcmaScript6 for real - code.talks 2015
Wolfram Kriesing - EcmaScript6 for real - code.talks 2015Wolfram Kriesing - EcmaScript6 for real - code.talks 2015
Wolfram Kriesing - EcmaScript6 for real - code.talks 2015
AboutYouGmbH
 
Stefanie Grewenig & Johannes Thönes - Internet ausdrucken mit JavaScript - c...
 Stefanie Grewenig & Johannes Thönes - Internet ausdrucken mit JavaScript - c... Stefanie Grewenig & Johannes Thönes - Internet ausdrucken mit JavaScript - c...
Stefanie Grewenig & Johannes Thönes - Internet ausdrucken mit JavaScript - c...
AboutYouGmbH
 
Alex Korotkikh - From 0 to N: Lessons Learned - code.talks 2015
 Alex Korotkikh - From 0 to N: Lessons Learned - code.talks 2015 Alex Korotkikh - From 0 to N: Lessons Learned - code.talks 2015
Alex Korotkikh - From 0 to N: Lessons Learned - code.talks 2015
AboutYouGmbH
 
Christian Haider & Helge Nowak - Mehr Demokratie durch Haushaltstransparenz ...
 Christian Haider & Helge Nowak - Mehr Demokratie durch Haushaltstransparenz ... Christian Haider & Helge Nowak - Mehr Demokratie durch Haushaltstransparenz ...
Christian Haider & Helge Nowak - Mehr Demokratie durch Haushaltstransparenz ...
AboutYouGmbH
 
Bernhard Wick - appserver.io - code.talks 2015
 Bernhard Wick - appserver.io - code.talks 2015 Bernhard Wick - appserver.io - code.talks 2015
Bernhard Wick - appserver.io - code.talks 2015
AboutYouGmbH
 
Moritz Siuts & Robert von Massow - Data Pipeline mit Apache Kafka - code.tal...
 Moritz Siuts & Robert von Massow - Data Pipeline mit Apache Kafka - code.tal... Moritz Siuts & Robert von Massow - Data Pipeline mit Apache Kafka - code.tal...
Moritz Siuts & Robert von Massow - Data Pipeline mit Apache Kafka - code.tal...
AboutYouGmbH
 

More from AboutYouGmbH (20)

Tech talk 01.06.2017
Tech talk 01.06.2017Tech talk 01.06.2017
Tech talk 01.06.2017
 
Retention Strategies in Mobile E-Commerce
Retention Strategies in Mobile E-CommerceRetention Strategies in Mobile E-Commerce
Retention Strategies in Mobile E-Commerce
 
Rethinking Fashion E-Commerce
Rethinking Fashion E-CommerceRethinking Fashion E-Commerce
Rethinking Fashion E-Commerce
 
ABOUT YOU get on board
ABOUT YOU get on boardABOUT YOU get on board
ABOUT YOU get on board
 
Niels Leenheer - Weird browsers - code.talks 2015
Niels Leenheer - Weird browsers - code.talks 2015Niels Leenheer - Weird browsers - code.talks 2015
Niels Leenheer - Weird browsers - code.talks 2015
 
Dennis Benkert & Matthias Lübken - Patterns in a containerized world? - code....
Dennis Benkert & Matthias Lübken - Patterns in a containerized world? - code....Dennis Benkert & Matthias Lübken - Patterns in a containerized world? - code....
Dennis Benkert & Matthias Lübken - Patterns in a containerized world? - code....
 
Stefan Richter - Writing simple, readable and robust code: Examples in Java, ...
Stefan Richter - Writing simple, readable and robust code: Examples in Java, ...Stefan Richter - Writing simple, readable and robust code: Examples in Java, ...
Stefan Richter - Writing simple, readable and robust code: Examples in Java, ...
 
Lars Jankowfsky - Learn or Die - code.talks 2015
Lars Jankowfsky - Learn or Die - code.talks 2015Lars Jankowfsky - Learn or Die - code.talks 2015
Lars Jankowfsky - Learn or Die - code.talks 2015
 
Dr. Jeremias Rößler - Wenn Affen Testen - Das Ende der Bananensoftware - code...
Dr. Jeremias Rößler - Wenn Affen Testen - Das Ende der Bananensoftware - code...Dr. Jeremias Rößler - Wenn Affen Testen - Das Ende der Bananensoftware - code...
Dr. Jeremias Rößler - Wenn Affen Testen - Das Ende der Bananensoftware - code...
 
Zeljko Kvesic - Scrum in verteilten Teams / Agil über die Landesgrenzen - cod...
Zeljko Kvesic - Scrum in verteilten Teams / Agil über die Landesgrenzen - cod...Zeljko Kvesic - Scrum in verteilten Teams / Agil über die Landesgrenzen - cod...
Zeljko Kvesic - Scrum in verteilten Teams / Agil über die Landesgrenzen - cod...
 
Uwe Friedrichsen - CRDT und mehr - über extreme Verfügbarkeit und selbstheile...
Uwe Friedrichsen - CRDT und mehr - über extreme Verfügbarkeit und selbstheile...Uwe Friedrichsen - CRDT und mehr - über extreme Verfügbarkeit und selbstheile...
Uwe Friedrichsen - CRDT und mehr - über extreme Verfügbarkeit und selbstheile...
 
Kai Voigt - Big Data zum Anfassen - code.talks 2015
Kai Voigt - Big Data zum Anfassen - code.talks 2015Kai Voigt - Big Data zum Anfassen - code.talks 2015
Kai Voigt - Big Data zum Anfassen - code.talks 2015
 
Dr. Andreas Lattner - Aufsetzen skalierbarer Prognose- und Analysedienste mit...
Dr. Andreas Lattner - Aufsetzen skalierbarer Prognose- und Analysedienste mit...Dr. Andreas Lattner - Aufsetzen skalierbarer Prognose- und Analysedienste mit...
Dr. Andreas Lattner - Aufsetzen skalierbarer Prognose- und Analysedienste mit...
 
Marcel Hild - Spryker (e)commerce framework als Alternative zu traditioneller...
Marcel Hild - Spryker (e)commerce framework als Alternative zu traditioneller...Marcel Hild - Spryker (e)commerce framework als Alternative zu traditioneller...
Marcel Hild - Spryker (e)commerce framework als Alternative zu traditioneller...
 
Wolfram Kriesing - EcmaScript6 for real - code.talks 2015
Wolfram Kriesing - EcmaScript6 for real - code.talks 2015Wolfram Kriesing - EcmaScript6 for real - code.talks 2015
Wolfram Kriesing - EcmaScript6 for real - code.talks 2015
 
Stefanie Grewenig & Johannes Thönes - Internet ausdrucken mit JavaScript - c...
 Stefanie Grewenig & Johannes Thönes - Internet ausdrucken mit JavaScript - c... Stefanie Grewenig & Johannes Thönes - Internet ausdrucken mit JavaScript - c...
Stefanie Grewenig & Johannes Thönes - Internet ausdrucken mit JavaScript - c...
 
Alex Korotkikh - From 0 to N: Lessons Learned - code.talks 2015
 Alex Korotkikh - From 0 to N: Lessons Learned - code.talks 2015 Alex Korotkikh - From 0 to N: Lessons Learned - code.talks 2015
Alex Korotkikh - From 0 to N: Lessons Learned - code.talks 2015
 
Christian Haider & Helge Nowak - Mehr Demokratie durch Haushaltstransparenz ...
 Christian Haider & Helge Nowak - Mehr Demokratie durch Haushaltstransparenz ... Christian Haider & Helge Nowak - Mehr Demokratie durch Haushaltstransparenz ...
Christian Haider & Helge Nowak - Mehr Demokratie durch Haushaltstransparenz ...
 
Bernhard Wick - appserver.io - code.talks 2015
 Bernhard Wick - appserver.io - code.talks 2015 Bernhard Wick - appserver.io - code.talks 2015
Bernhard Wick - appserver.io - code.talks 2015
 
Moritz Siuts & Robert von Massow - Data Pipeline mit Apache Kafka - code.tal...
 Moritz Siuts & Robert von Massow - Data Pipeline mit Apache Kafka - code.tal... Moritz Siuts & Robert von Massow - Data Pipeline mit Apache Kafka - code.tal...
Moritz Siuts & Robert von Massow - Data Pipeline mit Apache Kafka - code.tal...
 

Recently uploaded

7 Best Cloud Hosting Services to Try Out in 2024
7 Best Cloud Hosting Services to Try Out in 20247 Best Cloud Hosting Services to Try Out in 2024
7 Best Cloud Hosting Services to Try Out in 2024
Danica Gill
 
可查真实(Monash毕业证)西澳大学毕业证成绩单退学买
可查真实(Monash毕业证)西澳大学毕业证成绩单退学买可查真实(Monash毕业证)西澳大学毕业证成绩单退学买
可查真实(Monash毕业证)西澳大学毕业证成绩单退学买
cuobya
 
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
eutxy
 
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
ufdana
 
Gen Z and the marketplaces - let's translate their needs
Gen Z and the marketplaces - let's translate their needsGen Z and the marketplaces - let's translate their needs
Gen Z and the marketplaces - let's translate their needs
Laura Szabó
 
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
zoowe
 
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdfMeet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
Florence Consulting
 
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC
 
Bài tập unit 1 English in the world.docx
Bài tập unit 1 English in the world.docxBài tập unit 1 English in the world.docx
Bài tập unit 1 English in the world.docx
nhiyenphan2005
 
Explore-Insanony: Watch Instagram Stories Secretly
Explore-Insanony: Watch Instagram Stories SecretlyExplore-Insanony: Watch Instagram Stories Secretly
Explore-Insanony: Watch Instagram Stories Secretly
Trending Blogers
 
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
ysasp1
 
Understanding User Behavior with Google Analytics.pdf
Understanding User Behavior with Google Analytics.pdfUnderstanding User Behavior with Google Analytics.pdf
Understanding User Behavior with Google Analytics.pdf
SEO Article Boost
 
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
fovkoyb
 
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptxBridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Brad Spiegel Macon GA
 
学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
zyfovom
 
办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理
办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理
办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理
uehowe
 
Italy Agriculture Equipment Market Outlook to 2027
Italy Agriculture Equipment Market Outlook to 2027Italy Agriculture Equipment Market Outlook to 2027
Italy Agriculture Equipment Market Outlook to 2027
harveenkaur52
 
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdfJAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
Javier Lasa
 
Search Result Showing My Post is Now Buried
Search Result Showing My Post is Now BuriedSearch Result Showing My Post is Now Buried
Search Result Showing My Post is Now Buried
Trish Parr
 
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
keoku
 

Recently uploaded (20)

7 Best Cloud Hosting Services to Try Out in 2024
7 Best Cloud Hosting Services to Try Out in 20247 Best Cloud Hosting Services to Try Out in 2024
7 Best Cloud Hosting Services to Try Out in 2024
 
可查真实(Monash毕业证)西澳大学毕业证成绩单退学买
可查真实(Monash毕业证)西澳大学毕业证成绩单退学买可查真实(Monash毕业证)西澳大学毕业证成绩单退学买
可查真实(Monash毕业证)西澳大学毕业证成绩单退学买
 
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
 
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
 
Gen Z and the marketplaces - let's translate their needs
Gen Z and the marketplaces - let's translate their needsGen Z and the marketplaces - let's translate their needs
Gen Z and the marketplaces - let's translate their needs
 
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
 
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdfMeet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
 
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
 
Bài tập unit 1 English in the world.docx
Bài tập unit 1 English in the world.docxBài tập unit 1 English in the world.docx
Bài tập unit 1 English in the world.docx
 
Explore-Insanony: Watch Instagram Stories Secretly
Explore-Insanony: Watch Instagram Stories SecretlyExplore-Insanony: Watch Instagram Stories Secretly
Explore-Insanony: Watch Instagram Stories Secretly
 
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
 
Understanding User Behavior with Google Analytics.pdf
Understanding User Behavior with Google Analytics.pdfUnderstanding User Behavior with Google Analytics.pdf
Understanding User Behavior with Google Analytics.pdf
 
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
 
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptxBridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
 
学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
 
办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理
办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理
办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理
 
Italy Agriculture Equipment Market Outlook to 2027
Italy Agriculture Equipment Market Outlook to 2027Italy Agriculture Equipment Market Outlook to 2027
Italy Agriculture Equipment Market Outlook to 2027
 
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdfJAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
 
Search Result Showing My Post is Now Buried
Search Result Showing My Post is Now BuriedSearch Result Showing My Post is Now Buried
Search Result Showing My Post is Now Buried
 
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
 

Stefan Richter - Data-Driven Software Development: The quest for the intelligent machine that manages software projects - code.talks 2015

  • 1. Data-Driven Software Development - The quest for the intelligent machine that manages software projects freiheit.com technologies - Hamburg, September 29, 2015 code.talks 2015
  • 2. © freiheit.com 2 Thanks for coming! WHO AM I? Me: Stefan Richter ● Dipl.-Ing. + Dipl.-Inf. ● First program: I983 ● First language: UCSD Pascal ● First 15 years: Lots of C and 4GL languages ● Last 15+ years: Java (from 1.02), Python, Common Lisp, Clojure, JavaScript ● Current favorite: Go My company: freiheit.com ● Founder: 1999 ● Building large-scale Internet systems since 15+ years ● 90 % developers (degree in computer science, mathematics, physics) ● Self-organizing, self-optimizing, hierarchy-free organization ● Daimler, Tchibo, E&V, METRO, SPIEGEL, Libri, Swiss Life, 1&1/WEB.DE etc.
  • 3. © freiheit.com GOTO Conference Copenhagen, 2011 3 !
  • 4. DATA-DRIVEN SOFTWARE DEVELOPMENT THE QUEST FOR THE INTELLIGENT MACHINE THAT MANAGES SOFTWARE PROJECTS
  • 5. Since 2003, we have been experimenting with systems that support developers in their decision making. 5© freiheit.com HISTORY: MAKE PROJECT MANAGEMENT MORE INTELLIGENT
  • 6. TODAY I WANT TO SHOW YOU HOW WE HAVE BUILT AN INTELLIGENT AGENT TO HELP US RUN OUR SOFTWARE PROJECTS
  • 9. BUT WE ARE AGILE! WE DON’T NEED PROJECT MANAGEMENT!
  • 10. WHY IS BUILDING SOFTWARE IN LARGER TEAMS STILL DIFFICULT?
  • 11. Too many steps, artefacts, roles. Lot’s of communications needed. 11 WATERFALL PROCESS
  • 12. I think you have seen the short-cut, too ... 12© freiheit.com AGILE PROCESSES Product Owner Value? Code! SoftwareStories Developer Conclusion: It is not enough to implement the Scrum method. You need to change the whole way how an organization works.
  • 13. If structures are getting larger and complicated, things become less easy ... 13© freiheit.com LARGER ORGANIZATION, LARGER TEAMS Product Owner Developer Developer Larger OrganizationSmall Team Larger Team n x (n-1) 5 x 4 = 20 Communicaiton Communicaiton Manager Manager
  • 14. WE NEED TO GET THE RIGHT INFORMATION TO THE RIGHT PEOPLE AT THE RIGHT TIME
  • 15. © freiheit.com 15 Every project looks like this: You have to deliver the highest value to the lowest costs. TIME VS. VALUE Capacity (highest value to the lowest costs) Time = Money Developers Start Today End Past Growth Future Shrinks
  • 16. Given the same quality, faster is always better. Power = Force x Distance Time NOT Force x Distance x Time No matter if you measure in points or ideal days! 16© freiheit.com FASTER IS BETTER: ABOUT MEASURING TIME AND PROGRESS
  • 17. PROJECT MANAGEMENT ARE WE ON TRACK? IS THERE ANYTHING SLOWING US DOWN?
  • 18. “ADVENTURE IS JUST BAD PLANNING.” - ROALD AMUNDSEN (First to reach the south pole on 14 December 1911)
  • 19. A PLAN IS AN ASSUMPTION ...
  • 20. … AND PLANNING IS TO CHECK YOUR ASSUMP- TIONS AND ADAPT THEM EVERY DAY BASED ON YOUR PROGRESS.
  • 21. ARE WE ON TRACK? - What is the initial plan? - Expected delivery? Feature set, delivery date, customer value? - Re-implementing existing systems or how to sort 5000+ stories into a plan. - Capacity checks, forecasts: We have a dedicated team for that. - Forecasts are difficult no matter if you have 5 or 500 people working. - Is our plan still correct? (80/20 rule of uncertainty) - Having project managers running a software project. We don’t like that. - Doing meetings to keep everybody on the same page? - Having more meetings whenever there is a problem? - Everybody is buying Jira, but does this help? (“A fool with a tool is still a fool.”)
  • 22. ARE WE WORKING ON THE RIGHT THINGS? - MoSCoW prioritization method (MUST, SHOULD, COULD, WON’T) - implementation order - transparency without meetings (reporting, using the “Facebook effect”) - Blackboards versus agile project systems - Who is working on what? What is done, not done? - Is everybody working on the planned stories? (Anecdotal evidence) - The feeling of being part of a larger team
  • 23. ARE THERE ANY PROBLEMS? - Are we spending an unusual amount of time somewhere? - Are new developers getting up to speed? - External factors? Systematic under/over estimations? - Who needs support? Who is stuck somewhere? - Is “done” really done? Getting feedback from users/stakeholders. - Where are changes needed? Follow-up stories? - What will that do to our plan?
  • 24. WHAT IF AN INTELLIGENT AGENT COULD DO THIS FOR YOU?
  • 25. Let’s talk about agent-based systems ... 25© freiheit.com
  • 26. … or maybe like this. 26© freiheit.com
  • 27. INTELLIGENT AGENT - DEFINITION: In artificial intelligence, an intelligent agent (IA) is an autonomous entity which observes through sensors and acts upon an environment using actuators and directs its activity towards achieving goals (i.e. it is "rational", as defined in economics).* *Source WIKIPEDIA
  • 28. © freiheit.com 28 Simple reflex, model-based, goal-based, utility- based and general learning agents. INTELLIGENT AGENT
  • 29. © freiheit.com 29 Siri, Google Now, and Facebook bringing general purpose intelligent agents in place.
  • 30. © freiheit.com 30 WE ARE COMMUNICATING MORE AND MORE VIA INSTANT MESSAGING SYSTEMS LIKE WHATSAPP, SLACK, WECHAT, FACEBOOK etc.
  • 33. SO HERE IS WHAT WE HAVE BUILT ...
  • 37. ● Target date ● Estimation ● Effort ● What is STARTED? ● What is DELIVERED ● What is ACCEPTED? © freiheit.com 37 Before we can learn from behavior, we have to get the basics right. Agent State Goals Utility What is the world right now? What will it be like if I do action x? How happy I will be in such a state? World Percepts EnvironmentSensors Actuators ⎬ Stories ⎬ Progress Action
  • 38. © freiheit.com 38 Goal-oriented action planning is a technique used in building NPCs for Game AI. STATE-MACHINES VS. GOAP Source: http://gamedevelopment.tutsplus.com/tutorials/goal-oriented-action-planning-for-a-smarter-ai--cms-20793 State machine Loosely coupled goals/action
  • 39. © freiheit.com 39 To reach a goal, we can select the best next action that reduces high insistence values. GOAL-ORIENTED ACTION PLANNING, INSISTENCE Goal:Eat=4, Bathroom=3 Action:Drink-Soda (Eat-2, Bathroom+3) Action:Visit-Bathroom (Bathroom-4) Source: Artificial Intelligence for Games
  • 40. © freiheit.com 40 If we want to consider side-effects of an action we have to calculate the discontentment value. GOAL-ORIENTED ACTION PLANNING, DISCONTENTMENT Goal:Eat=4, Bathroom=3 Action:Drink-Soda (Eat-2, Bathroom+2) - afterwards: Eat=2, Bathroom=5: Discontentment=29 Action:Visit-Bathroom (Bathroom-4) - afterwards: Eat=4, Bathroom=0, Discontentment=16 Source: Artificial Intelligence for Games
  • 41. HYPOTHESIS WE CAN MODEL OUR PROJECT WORLD USING THE SAME METHODS.
  • 42. All aspects of a project are monitored by specialized software bots. These bots are working in swarms. Slack Sensors Actuators Space Planner/Bots Slack API Agile Planning Tool GOAP AI Agent Framework Swarm Swarm Realtime Databases, other Sources © freiheit.com 42 Super Swarm GOETHE ARCHITECTURE
  • 43. Sensors ● Stories (“Plan”) ● Progress (“Done”) ● Commits (Code) ● Bugs ● Calendar ● Android/Apple Watch Actuators ● Messengers (Slack etc.) ● IRC, XMPP ● Apple/Android Watch ● Text-2-Speech © freiheit.com 43 Bots ● Personal Bot ● Sprint/Milestone ● Project ● Anomaly Detection ● Pattern Recognition ● Neural Networks ● Planning ● Code Quality
  • 44. © freiheit.com 44 The actions are using Go text/templates and a homegrown DSL to access the data. DSL EXAMPLES All Stories from the current milestone All Stories in the past that are not done
  • 48. SIGN-UP HERE FOR OUR CLOSED BETA: http://goethe.instapage.com/
  • 49. THANK YOU Twitter: @smartrevolution freiheit.com technologies Budapester Str. 45 20359 Hamburg, Germany kontakt@freiheit.com T +49 40 890584 0 F +49 40 890584 20