SlideShare une entreprise Scribd logo
1  sur  56
Télécharger pour lire hors ligne
Continuous development
                                          Growing pains




Saturday, 29 September 12                                 1
Who am I ?

              Community developer
                       Salesforce & Heroku
                       kanban, java, scala, clojure
                       communities


                       @jr0cket
                       blog.jr0cket.co.uk
Saturday, 29 September 12                             2
Atlassian: In the beginning...




Saturday, 29 September 12                              3
Success happens !


                   Software for software developers




Saturday, 29 September 12                             4
Really big shed




Saturday, 29 September 12                     5
How does that happen without
                                                  pain ?




Saturday, 29 September 12                                  6
So the story begins...


                       startup culture
                       open, no bull...
                       practices evolved as necessary
                       business growing
                       everyone is happy


Saturday, 29 September 12                               7
Atlassian values




Saturday, 29 September 12                      8
Maintaining the culture during
                                                   growth




Saturday, 29 September 12                                    9
Many companies fail




               Control over complexity   Fear of innovation

               Restrictive management
               controls


Saturday, 29 September 12                                     10
Mafia




Saturday, 29 September 12          11
Atlassian stay “agile”



                       Trust in their people
                       Encouraging collaboration
                       Promoting innovation



Saturday, 29 September 12                            12
Agree on Cadence


                       97 Days release cycle




Saturday, 29 September 12                       13
Innovation encouragement


                                  20% time
                                  Fedex Days ShipIt Days




Saturday, 29 September 12                                  14
Big Strategic Decision




Saturday, 29 September 12                            15
Converging on the cloud
          Make products more accessible
          Products have to be more integrated
          Unified product experience
          Enterprise customer support




Saturday, 29 September 12                             16
Culture influenced from the top

               Ship on-demand & product at
               same time
               Same short release cycle
               across the board
                        left up to teams on how to
                        achieve it


Saturday, 29 September 12                            17
Challenges




Saturday, 29 September 12                18
Team Culture(s)


                       Each team evolved its own way
                            JIRA team formed 2002
                            Confluence team formed 2003
                       Team practices formed by its members



Saturday, 29 September 12                                     19
Fighting Conway’s Law
                        organizations which design systems ... are constrained to
                        produce designs which are copies of the communication
                        structures of these organizations
                                          http://en.wikipedia.org/wiki/Conway%27s_law



                  Culture shapes code
                            diverse teams
                            a range of practices
                            evolving different tools
Saturday, 29 September 12                                                               20
Adapt without loosing Culture



                       Make your culture visible
                            define what you stand for




Saturday, 29 September 12                              21
Atlassian values




Saturday, 29 September 12                      22
Culture needs to adapt




Saturday, 29 September 12                            23
Toward continuous deployment


                       Focus on smaller features
                            breaking down stories
                            no more epics
                            clearer understanding of what is
                            valuable - by delivering it!


Saturday, 29 September 12                                      24
Developer cycle changes

                       Shorter dev cycle
                            to fit into production dev cycle
                            more opportunities to consider whats
                            valuable
                            feeling the pain regularly encourages
                            improvement

Saturday, 29 September 12                                           25
Understanding Technical Debt



                       Work on something... with the intent to
                       clean it up later
                            Ward Cunningham




Saturday, 29 September 12                                        26
Technical Debt in practice



                       Decisions get left behind
                       Approaches get lost over time
                       Unavoidable growth via software inertia



Saturday, 29 September 12                                        27
Increasing awareness

                       Customer need over develop what’s cool
                            feedback from customers
                            developers engaged with those
                            concerns
                            avoid navel gazing & chasing shiny
                            things

Saturday, 29 September 12                                        28
Wider engagement
             Social media channels
             shaping image
             Customers more vocal
             about experience
             Competition grows
             Belief & Ambition grow



Saturday, 29 September 12                      29
More extreme options

             Breaking up products
                     too costly and painful?




Saturday, 29 September 12                          30
Missing elements

                       A realistic roadmap
                            customers what to know where
                            something is going
                            hard to give 100% guarantees on
                            everything / anything
                            a diverse audience to please

Saturday, 29 September 12                                     31
Solving it together




Saturday, 29 September 12                         32
Quality Assistance



                       Helping raise the quality bar
                       Asking “difficult” questions
                            how does x work?



Saturday, 29 September 12                              33
Build team

                               Developers love
                               learning maven, right?
                               Puppet is more fun than
                               beer, surely!




Saturday, 29 September 12                                34
UX team



              Helping developers
              understand value of UX


                            http://seb.ly/


Saturday, 29 September 12                    35
Kick-ass team

             Teams with in teams
             focusing on specific product
             challenges




Saturday, 29 September 12                   36
Collaboratively Iterating



                       Empowering people to collaborate
                       towards an understood goal that gives
                       clear value




Saturday, 29 September 12                                      37
Leveraging the tools




Saturday, 29 September 12                          38
Tools != process



                       Tools can support change
                       Encourage innovations
                       Allow understanding value



Saturday, 29 September 12                          39
Public bug tracker



                       Ultimate form of “dogfood”
                       Helps some of the audience understand
                       company constraints & direction




Saturday, 29 September 12                                      40
DVCS saves the day !

                Not a panacea, but very
                liberating
                Developers allowed to
                experiment in a safe way


                            Social coding

Saturday, 29 September 12                          41
Social Code reviews




               Not just for new code
               Identifying technical debt
               Looking for opportunities to improve


Saturday, 29 September 12                             42
Benefits




Saturday, 29 September 12             43
Atlassian as a platform


                       Engage with developer environment
                       Drive innovation on a wider scale
                       Add value to developers as well as
                       customers



Saturday, 29 September 12                                   44
Customer engagement

                       New features
                       Dark features
                       AB testing
                       Give Feedback
                            making it really easy to give valuable
                            feedback based on what the customer
                            was doing!!
Saturday, 29 September 12                                            45
Refocus on user experience


                       Building on areas of strength
                             workflow
                       Radical changes to areas of weakness
                             user experience (UX)



Saturday, 29 September 12                                     46
http://semanticstudios.com

Saturday, 29 September 12                                47
Constraints driving innovation


                       24 hrs to deliver something valuable
                            no control over what
                            no say in who or how
                            just do it, evaluate the results
                       Formally known as FedEx days


Saturday, 29 September 12                                      48
Engaging the wider community




Saturday, 29 September 12                            49
Community is the greatest asset

            User & Developer
            communities
                     give valuable,
                     actionable feedback
                     become an extended
                     part of the organisation
                     your evangelists to the
                     world
Saturday, 29 September 12                         50
Opening up

              Access to your platform
              Creating business driven
              market place
              Focusing on developer
              experience
              Helping customers
              succeed

Saturday, 29 September 12                51
Value of platform




Saturday, 29 September 12                       52
Platform is the new framework

          Facebook - social marketing
          Heroku - universal managed
          platform
          Salesforce - Sales, Marketing,
          Social Media analysis,
          Enterprise development
          platforms

Saturday, 29 September 12                        53
In Summary




Saturday, 29 September 12                54
Success, agility & culture


                       Atlassian
                       Salesforce & Heroku
                            successful companies
                            retaining their culture
                       Why not in your organisation?


Saturday, 29 September 12                                55
Thank you
                            jstevenson@salesforce.com
                                              @jr0cket
                                     blog.jr0cket.co.uk


Saturday, 29 September 12                                 56

Contenu connexe

Similaire à Continuous development - Growing Pains

Brand Engagement and the Future of the Interface
Brand Engagement and the Future of the InterfaceBrand Engagement and the Future of the Interface
Brand Engagement and the Future of the InterfaceAmber Case
 
Social Media Fundamentals, Future of Retail
Social Media Fundamentals, Future of RetailSocial Media Fundamentals, Future of Retail
Social Media Fundamentals, Future of RetailDachis Group Europe
 
BTPsessions Experience Framework
BTPsessions Experience FrameworkBTPsessions Experience Framework
BTPsessions Experience FrameworkDominique Poncin
 
Enterprise 2.0 - How to
Enterprise 2.0 - How to Enterprise 2.0 - How to
Enterprise 2.0 - How to Peter H. Reiser
 
Didier Hilhorst, Flipboard, Warm Gun 2012
Didier Hilhorst, Flipboard, Warm Gun 2012Didier Hilhorst, Flipboard, Warm Gun 2012
Didier Hilhorst, Flipboard, Warm Gun 2012500 Startups
 

Similaire à Continuous development - Growing Pains (6)

100% JS
100% JS100% JS
100% JS
 
Brand Engagement and the Future of the Interface
Brand Engagement and the Future of the InterfaceBrand Engagement and the Future of the Interface
Brand Engagement and the Future of the Interface
 
Social Media Fundamentals, Future of Retail
Social Media Fundamentals, Future of RetailSocial Media Fundamentals, Future of Retail
Social Media Fundamentals, Future of Retail
 
BTPsessions Experience Framework
BTPsessions Experience FrameworkBTPsessions Experience Framework
BTPsessions Experience Framework
 
Enterprise 2.0 - How to
Enterprise 2.0 - How to Enterprise 2.0 - How to
Enterprise 2.0 - How to
 
Didier Hilhorst, Flipboard, Warm Gun 2012
Didier Hilhorst, Flipboard, Warm Gun 2012Didier Hilhorst, Flipboard, Warm Gun 2012
Didier Hilhorst, Flipboard, Warm Gun 2012
 

Plus de John Stevenson

ClojureX Conference 2017 - 10 amazing years of Clojure
ClojureX Conference 2017 - 10 amazing years of ClojureClojureX Conference 2017 - 10 amazing years of Clojure
ClojureX Conference 2017 - 10 amazing years of ClojureJohn Stevenson
 
Confessions of a developer community builder
Confessions of a developer community builderConfessions of a developer community builder
Confessions of a developer community builderJohn Stevenson
 
Progscon 2017: Taming the wild fronteer - Adventures in Clojurescript
Progscon 2017: Taming the wild fronteer - Adventures in ClojurescriptProgscon 2017: Taming the wild fronteer - Adventures in Clojurescript
Progscon 2017: Taming the wild fronteer - Adventures in ClojurescriptJohn Stevenson
 
Introduction to Functional Reactive Web with Clojurescript
Introduction to Functional Reactive Web with ClojurescriptIntroduction to Functional Reactive Web with Clojurescript
Introduction to Functional Reactive Web with ClojurescriptJohn Stevenson
 
Thinking Functionally with Clojure
Thinking Functionally with ClojureThinking Functionally with Clojure
Thinking Functionally with ClojureJohn Stevenson
 
Communication improbable
Communication improbableCommunication improbable
Communication improbableJohn Stevenson
 
Getting into public speaking at conferences
Getting into public speaking at conferencesGetting into public speaking at conferences
Getting into public speaking at conferencesJohn Stevenson
 
Functional web with clojure
Functional web with clojureFunctional web with clojure
Functional web with clojureJohn Stevenson
 
Get into Functional Programming with Clojure
Get into Functional Programming with ClojureGet into Functional Programming with Clojure
Get into Functional Programming with ClojureJohn Stevenson
 
Guiding people into Clojure
Guiding people into ClojureGuiding people into Clojure
Guiding people into ClojureJohn Stevenson
 
Git and github - Verson Control for the Modern Developer
Git and github - Verson Control for the Modern DeveloperGit and github - Verson Control for the Modern Developer
Git and github - Verson Control for the Modern DeveloperJohn Stevenson
 
Get Functional Programming with Clojure
Get Functional Programming with ClojureGet Functional Programming with Clojure
Get Functional Programming with ClojureJohn Stevenson
 
So you want to run a developer event, are you crazy?
So you want to run a developer event, are you crazy?So you want to run a developer event, are you crazy?
So you want to run a developer event, are you crazy?John Stevenson
 
Trailhead live - Overview of Salesforce App Cloud
Trailhead live - Overview of Salesforce App CloudTrailhead live - Overview of Salesforce App Cloud
Trailhead live - Overview of Salesforce App CloudJohn Stevenson
 
Clojure for Java developers
Clojure for Java developersClojure for Java developers
Clojure for Java developersJohn Stevenson
 
Introducing the Salesforce platform
Introducing the Salesforce platformIntroducing the Salesforce platform
Introducing the Salesforce platformJohn Stevenson
 
Dreamforce14 Metadata Management with Git Version Control
Dreamforce14 Metadata Management with Git Version ControlDreamforce14 Metadata Management with Git Version Control
Dreamforce14 Metadata Management with Git Version ControlJohn Stevenson
 
Getting started with Clojure
Getting started with ClojureGetting started with Clojure
Getting started with ClojureJohn Stevenson
 
Salesforce Summer of Hacks London - Introduction
Salesforce Summer of Hacks London - IntroductionSalesforce Summer of Hacks London - Introduction
Salesforce Summer of Hacks London - IntroductionJohn Stevenson
 
Heroku Introduction: Scaling customer facing apps & services
Heroku Introduction: Scaling customer facing apps & servicesHeroku Introduction: Scaling customer facing apps & services
Heroku Introduction: Scaling customer facing apps & servicesJohn Stevenson
 

Plus de John Stevenson (20)

ClojureX Conference 2017 - 10 amazing years of Clojure
ClojureX Conference 2017 - 10 amazing years of ClojureClojureX Conference 2017 - 10 amazing years of Clojure
ClojureX Conference 2017 - 10 amazing years of Clojure
 
Confessions of a developer community builder
Confessions of a developer community builderConfessions of a developer community builder
Confessions of a developer community builder
 
Progscon 2017: Taming the wild fronteer - Adventures in Clojurescript
Progscon 2017: Taming the wild fronteer - Adventures in ClojurescriptProgscon 2017: Taming the wild fronteer - Adventures in Clojurescript
Progscon 2017: Taming the wild fronteer - Adventures in Clojurescript
 
Introduction to Functional Reactive Web with Clojurescript
Introduction to Functional Reactive Web with ClojurescriptIntroduction to Functional Reactive Web with Clojurescript
Introduction to Functional Reactive Web with Clojurescript
 
Thinking Functionally with Clojure
Thinking Functionally with ClojureThinking Functionally with Clojure
Thinking Functionally with Clojure
 
Communication improbable
Communication improbableCommunication improbable
Communication improbable
 
Getting into public speaking at conferences
Getting into public speaking at conferencesGetting into public speaking at conferences
Getting into public speaking at conferences
 
Functional web with clojure
Functional web with clojureFunctional web with clojure
Functional web with clojure
 
Get into Functional Programming with Clojure
Get into Functional Programming with ClojureGet into Functional Programming with Clojure
Get into Functional Programming with Clojure
 
Guiding people into Clojure
Guiding people into ClojureGuiding people into Clojure
Guiding people into Clojure
 
Git and github - Verson Control for the Modern Developer
Git and github - Verson Control for the Modern DeveloperGit and github - Verson Control for the Modern Developer
Git and github - Verson Control for the Modern Developer
 
Get Functional Programming with Clojure
Get Functional Programming with ClojureGet Functional Programming with Clojure
Get Functional Programming with Clojure
 
So you want to run a developer event, are you crazy?
So you want to run a developer event, are you crazy?So you want to run a developer event, are you crazy?
So you want to run a developer event, are you crazy?
 
Trailhead live - Overview of Salesforce App Cloud
Trailhead live - Overview of Salesforce App CloudTrailhead live - Overview of Salesforce App Cloud
Trailhead live - Overview of Salesforce App Cloud
 
Clojure for Java developers
Clojure for Java developersClojure for Java developers
Clojure for Java developers
 
Introducing the Salesforce platform
Introducing the Salesforce platformIntroducing the Salesforce platform
Introducing the Salesforce platform
 
Dreamforce14 Metadata Management with Git Version Control
Dreamforce14 Metadata Management with Git Version ControlDreamforce14 Metadata Management with Git Version Control
Dreamforce14 Metadata Management with Git Version Control
 
Getting started with Clojure
Getting started with ClojureGetting started with Clojure
Getting started with Clojure
 
Salesforce Summer of Hacks London - Introduction
Salesforce Summer of Hacks London - IntroductionSalesforce Summer of Hacks London - Introduction
Salesforce Summer of Hacks London - Introduction
 
Heroku Introduction: Scaling customer facing apps & services
Heroku Introduction: Scaling customer facing apps & servicesHeroku Introduction: Scaling customer facing apps & services
Heroku Introduction: Scaling customer facing apps & services
 

Continuous development - Growing Pains

  • 1. Continuous development Growing pains Saturday, 29 September 12 1
  • 2. Who am I ? Community developer Salesforce & Heroku kanban, java, scala, clojure communities @jr0cket blog.jr0cket.co.uk Saturday, 29 September 12 2
  • 3. Atlassian: In the beginning... Saturday, 29 September 12 3
  • 4. Success happens ! Software for software developers Saturday, 29 September 12 4
  • 5. Really big shed Saturday, 29 September 12 5
  • 6. How does that happen without pain ? Saturday, 29 September 12 6
  • 7. So the story begins... startup culture open, no bull... practices evolved as necessary business growing everyone is happy Saturday, 29 September 12 7
  • 9. Maintaining the culture during growth Saturday, 29 September 12 9
  • 10. Many companies fail Control over complexity Fear of innovation Restrictive management controls Saturday, 29 September 12 10
  • 12. Atlassian stay “agile” Trust in their people Encouraging collaboration Promoting innovation Saturday, 29 September 12 12
  • 13. Agree on Cadence 97 Days release cycle Saturday, 29 September 12 13
  • 14. Innovation encouragement 20% time Fedex Days ShipIt Days Saturday, 29 September 12 14
  • 15. Big Strategic Decision Saturday, 29 September 12 15
  • 16. Converging on the cloud Make products more accessible Products have to be more integrated Unified product experience Enterprise customer support Saturday, 29 September 12 16
  • 17. Culture influenced from the top Ship on-demand & product at same time Same short release cycle across the board left up to teams on how to achieve it Saturday, 29 September 12 17
  • 19. Team Culture(s) Each team evolved its own way JIRA team formed 2002 Confluence team formed 2003 Team practices formed by its members Saturday, 29 September 12 19
  • 20. Fighting Conway’s Law organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations http://en.wikipedia.org/wiki/Conway%27s_law Culture shapes code diverse teams a range of practices evolving different tools Saturday, 29 September 12 20
  • 21. Adapt without loosing Culture Make your culture visible define what you stand for Saturday, 29 September 12 21
  • 22. Atlassian values Saturday, 29 September 12 22
  • 23. Culture needs to adapt Saturday, 29 September 12 23
  • 24. Toward continuous deployment Focus on smaller features breaking down stories no more epics clearer understanding of what is valuable - by delivering it! Saturday, 29 September 12 24
  • 25. Developer cycle changes Shorter dev cycle to fit into production dev cycle more opportunities to consider whats valuable feeling the pain regularly encourages improvement Saturday, 29 September 12 25
  • 26. Understanding Technical Debt Work on something... with the intent to clean it up later Ward Cunningham Saturday, 29 September 12 26
  • 27. Technical Debt in practice Decisions get left behind Approaches get lost over time Unavoidable growth via software inertia Saturday, 29 September 12 27
  • 28. Increasing awareness Customer need over develop what’s cool feedback from customers developers engaged with those concerns avoid navel gazing & chasing shiny things Saturday, 29 September 12 28
  • 29. Wider engagement Social media channels shaping image Customers more vocal about experience Competition grows Belief & Ambition grow Saturday, 29 September 12 29
  • 30. More extreme options Breaking up products too costly and painful? Saturday, 29 September 12 30
  • 31. Missing elements A realistic roadmap customers what to know where something is going hard to give 100% guarantees on everything / anything a diverse audience to please Saturday, 29 September 12 31
  • 32. Solving it together Saturday, 29 September 12 32
  • 33. Quality Assistance Helping raise the quality bar Asking “difficult” questions how does x work? Saturday, 29 September 12 33
  • 34. Build team Developers love learning maven, right? Puppet is more fun than beer, surely! Saturday, 29 September 12 34
  • 35. UX team Helping developers understand value of UX http://seb.ly/ Saturday, 29 September 12 35
  • 36. Kick-ass team Teams with in teams focusing on specific product challenges Saturday, 29 September 12 36
  • 37. Collaboratively Iterating Empowering people to collaborate towards an understood goal that gives clear value Saturday, 29 September 12 37
  • 38. Leveraging the tools Saturday, 29 September 12 38
  • 39. Tools != process Tools can support change Encourage innovations Allow understanding value Saturday, 29 September 12 39
  • 40. Public bug tracker Ultimate form of “dogfood” Helps some of the audience understand company constraints & direction Saturday, 29 September 12 40
  • 41. DVCS saves the day ! Not a panacea, but very liberating Developers allowed to experiment in a safe way Social coding Saturday, 29 September 12 41
  • 42. Social Code reviews Not just for new code Identifying technical debt Looking for opportunities to improve Saturday, 29 September 12 42
  • 44. Atlassian as a platform Engage with developer environment Drive innovation on a wider scale Add value to developers as well as customers Saturday, 29 September 12 44
  • 45. Customer engagement New features Dark features AB testing Give Feedback making it really easy to give valuable feedback based on what the customer was doing!! Saturday, 29 September 12 45
  • 46. Refocus on user experience Building on areas of strength workflow Radical changes to areas of weakness user experience (UX) Saturday, 29 September 12 46
  • 48. Constraints driving innovation 24 hrs to deliver something valuable no control over what no say in who or how just do it, evaluate the results Formally known as FedEx days Saturday, 29 September 12 48
  • 49. Engaging the wider community Saturday, 29 September 12 49
  • 50. Community is the greatest asset User & Developer communities give valuable, actionable feedback become an extended part of the organisation your evangelists to the world Saturday, 29 September 12 50
  • 51. Opening up Access to your platform Creating business driven market place Focusing on developer experience Helping customers succeed Saturday, 29 September 12 51
  • 52. Value of platform Saturday, 29 September 12 52
  • 53. Platform is the new framework Facebook - social marketing Heroku - universal managed platform Salesforce - Sales, Marketing, Social Media analysis, Enterprise development platforms Saturday, 29 September 12 53
  • 54. In Summary Saturday, 29 September 12 54
  • 55. Success, agility & culture Atlassian Salesforce & Heroku successful companies retaining their culture Why not in your organisation? Saturday, 29 September 12 55
  • 56. Thank you jstevenson@salesforce.com @jr0cket blog.jr0cket.co.uk Saturday, 29 September 12 56