1
1
JIRA Studio
Development in the Cloud


  Kamal Nabijee            Shihab Hamid

                           Developer

                           Atlassian




                                          2
                                              2
Razorfish

Global presence Over 1,500 professionals in 21 cities in 8 countries with offshore partners in 9 locations.
Full-service digital agency
Top 5 interactive agency according to Advertising Age
Leader in web design and digital marketing according to Forrester
Technology Agnostic approach for all web site
User Centered Design approach for all projects



                                                                                                              3
Concept to Launch



          Foundatio                Stabilizati
Concept               Iterations                 Launch
             n                        on




                                                          4
                                                              4
Establishing The Vision
                                 Business
                                  Drivers                      Business	
  Strategy
                                                               Business	
  Requirements
                      Possible                                 Research
                      Solution




                                                Technical Feasibility
                                 Consumer Experience                           Solu9on	
  Strategy
 User	
  Scenarios                                                            Technical	
  Architecture
 Roadmap
 Prototype




                                                                                                            5
Customer-Centric Model

User stories are at the center of all
                                  User Story
planning and implementation activities
including, design, functional
specification, QA, development and
user testing acceptance testing.

                                                                 Accp.                                                                      Deplo
                                    Wire    Biz           Comp             CMS             Assign Test   Tech                 HTML Defect
                                                  Specs          Criteri           Tasks                        DCTs   Code                  y.
                                  frames   Req.             s              Specs           ments Cases   Arch                 Temp.  s
                                                                   a                                                                        Notes




                                                                                                                                                    6
Change is Embraced
“…end users are forced to firmly state their needs
before they are ready. Any changes are then frozen so
a contract can be negotiated…Unfortunately, without
initial agreement on the job, it is impossible to reach
agreement on the scope of the changes…This process
results in wasted time and money, distrust, and a poor
product.”


- "Managing the Software Process" by Watts S. Humphrey.

                                                          7
Build In Increments




                      8
3-week Iterations
                 3-­‐week	
  Planning	
  Phase                                 3-­‐week	
  Implementa4on	
  Phase




                                                                               Technical	
  Team:	
  Build	
  feature
                                                                                Business	
  Team:	
  Define	
  	
  the	
  next	
  set	
  of	
  features


   Business	
  Team:	
  Define	
  the	
  func9onal	
  specifica9ons	
  and	
  
   acceptance	
  criteria




                                                                                                                                                         9
3-week Iteration Overview
Itera9on	
  Kickoff
                 Feature	
  Review                                                                                                                      Hand-­‐off	
  To	
  QA
                                                                                         Code	
  Development                                                                                        Retrospec9ve
                 Tasks	
  &	
  Assignments                                                                                                              Code	
  Freeze
                 Acceptance	
  Criteria                                                  Unit	
  Tes9ng
                 Test	
  Case                                                            Con9nuous	
  Builds
                                                                                         Ongoing	
  Regression	
                Integra9on                                   QA	
  &	
  Stabilize                Deploy
                                                                                         Tes9ng

       IMPLEMENTATION
                                                                                         Code	
  Review   Biz                                                    Code	
  Review    Biz
                                                                                                          Review                                                                   Review



      Day	
  1        Day	
  2        Day	
  3       Day	
  4      Day	
  5   Day	
  6   Day	
  7         Day	
  8   Day	
  9       Day	
  10   Day	
  11        Day	
  12         Day	
  13         Day	
  14     Day	
  15


                                                                              Biz                                                               Biz
                                                                              Review                                                            Review


       PLANNING
                                                                                                                                                               Refactor	
  Design
Scope	
  Planning	
  for	
  the	
      Func9onal	
  Specifica9on                                                                                                                                        Sign-­‐off	
  &
next	
  Itera9on                       User	
  Stories                                                                                                                                                 Itera9on	
  
                                       User	
  Flows                                                                                                                                                   Planning
                                       Annotated	
  Wireframes
                                       Visual	
  Design	
  Treatments
                                       Acceptance	
  Criteria
                                       HTML	
  Templates
                                       Test	
  Cases	
  Development
                                                                                                                                                                                                                               10
Typical Project Timeline
                              Feb             Mar                  Apr            May                Jun                   Jul            Aug                   Sep                Oct           Nov             Dec    Jan



Program	
  Mgmt                                                                                                       Project Management

                          Concept
User	
  Experience        Design


Visual	
  Design                  Foundational Design          2             3            4             5


Business	
  Analysis              Story Development            2            3             4             5
                                                        Itera9ve	
  Planning	
  and	
  Implementa9on	
  Cycles
Tech                     Tech       Foundational Tech
                                                               1            2             3             4              5                                              Beta Fixes
                       Strategy         Design

                                                                                                                  System	
  
Tes9ng	
  &	
  UAT                                                                                                                   System	
  Tes9ng	
                                  UAT
                                                                                                                 Test	
  Prep	
  


Data	
  Migra9on
                                                                                                     Automated Data
                                                                                                        Migration

Deploy.                                                                                                                                            Deployment
Planning                                                                                                         Consumer	
  Beta	
  Planning       Planning
                                                                                                                                                                                   Cutover




Support                                                                                                                                                               Support TransitionOngoing	
  Managed	
  Support




                                                                                                                                                                                                                              11
What do we need?
• Bring client and Razorfish personnel to form, norm and perform rapidly
• Facilitate team collaboration…not documentation!
• Need a home and a structure to house project artifacts and deliverables
• Manage project scope
• Manage tasks, assignments, estimates and timeline
• Be the system of record and contain the definition of done
• Provide transparency
• Provide real-time status



                                                                            12
Using JIRA Studio
Development in the Cloud




                           13
                            13
How The Tools Relate




                       14
                        14
Leverage The Cloud
 Easy to Setup, Fast, Secure and Reasonably Price

• Create A Project Home
• Assign a Group of Users
• Adjust Other Configurations
 • Issue Type Scheme
 • Permission Scheme
 • Field Configuration Scheme
 • Workflow Scheme




                                                    15
                                                     15
Create A Document Repository




                               16
Setup Project Meetings
• Daily Stand-up
• Iteration Planning – Define Scope of the Iteration
• Iteration Kick-off – Detail Walkthrough of the Stories
• Retrospective – Incorporate Feedback




                                                           17
Develop & Prioritize The Project Backlog




                                           18
Iteration Planning
Design Artifacts




                     19
                      19
Iteration Planning
Subtasks, Assignments, Estimates & Story Leads




                                                 20
                                                  20
21
 21
JIRA Studio
Development in the Cloud


Shihab Hamid, Technical Lead, Atlassian




                                          22
                                           22
JIRA Studio + Google Apps




                            23
                             23
JIRA Studio + Google Apps
! JIRA Studio
 • The best hosted development suite




                                       23
                                        23
JIRA Studio + Google Apps
! JIRA Studio
    • The best hosted development suite

!




                                          23
                                           23
JIRA Studio + Google Apps
! JIRA Studio
    • The best hosted development suite

!




                                          23
                                           23
JIRA Studio + Google Apps
! JIRA Studio
    • The best hosted development suite

!


! Google Apps
    • The best messaging and collaboration platform




                                                      23
                                                       23
JIRA Studio + Google Apps




                            24
                             24
Concept




          25
           25
Concept
• Requirements
 • Tighter integration (?)
 • Cool shit (?!)




                             25
                              25
Concept
• Requirements
 • Tighter integration (?)
 • Cool shit (?!)

• Constraints
 • Distributed team across 3 time zones
 • External dependencies on Google and Contegix
 • Production-ready on 28th of January 2010




                                                  25
                                                   25
Concept to Launch




Inception   Planning   Quickstart   Iterations   Polish




                                                          26
                                                           26
1. Inception




               27
                27
1. Inception
                                             Preview
       OpenID            OAuth              Google Doc


                            Marketplace         Notifications
          Certificates

                               User
      Attach Google       Synchronisation         Chat
           Doc




                                                                27
                                                                 27
1. Inception
• Every project needs a home
 • Create a Project in JIRA Studio with 3 clicks




                                                   28
                                                    28
1. Inception




               29
                29
1. Inception
! Spike
 • Proof of concept
 • Technical feasibility
 • Gauge project scope
    • Development Environment
    • Test Systems
    • Skills & Experitise




                                29
                                 29
Concept to Launch




Inception   Planning   Quickstart   Iterations   Polish




                                                          30
                                                           30
2. Planning
    “Welcome changing requirements, even late in development. Agile processes
           harness change for the customer's competitive advantage.”


! Requirements
 • Not even the product managers know all the requirements
 • Try to enumerate them
    • Requirements will be in flux
    • Useful for accurate estimation




                                                                                31
                                                                                 31
2. Planning – Estimation




                           32
                            32
2. Planning – Estimation




                           33
                            33
2. Planning – Estimation




!




                               33
                                33
2. Planning – Two Teams




                          34
                           34
2. Planning – Two Teams
• Sydney
 • Critical integration piece
 • More defined, but obligatory




                                 34
                                  34
2. Planning – Two Teams
• Sydney
 • Critical integration piece
 • More defined, but obligatory

• San Francisco
 • Cool shit: UI integration
 • Technically risky, but all optional




                                         34
                                          34
2. Planning – User Stories




                             35
                              35
2. Planning – User Stories




                             36
                              36
2. Planning – User Stories
• “A user logged in to Google Apps will also be logged in to JIRA Studio”




                                                                            37
                                                                             37
2. Planning – User Stories
• “A user logged in to Google Apps will also be logged in to JIRA Studio”




                                                                            37
                                                                             37
2. Planning – Use Cases




                          38
                           38
2. Planning – Use Cases




                          38
                           38
2. Planning – Use Cases




                          38
                           38
Concept to Launch




Inception   Planning   Quickstart   Iterations   Polish




                                                          39
                                                           39
3. Quickstart
   “Build projects around motivated individuals. Give them the environment and
               support they need, and trust them to get the job done.”




                                                                                 40
                                                                                  40
3. Quickstart
• How to play
 • Any pre-requisite tools for the project
 • Checking out the source
 • Building the source
 • Getting the application up and running

• How to contribute
 • IDE integration
 • Code style guidelines
 • Automated testing guidelines
 • Automated builds
                                             41
                                              41
3. Quickstart
• Continuous integration
 • 11 build plans
 • 3678 builds on project
 • 41 builds / day




                            42
                             42
Concept to Launch




Inception   Planning   Quickstart   Iterations   Polish




                                                          43
                                                           43
4. Iterations
  “Working software is the primary                    Iteration
       measure of progress”                           Planning




• 5 two-week iterations
                                     Demoing                               Spec’ing
• Demoable software




                                          Reviewing               Coding




                                                                                      44
                                                                                       44
4. Iterations – Planning




                           45
                            45
4. Iterations – Issues




                         46
                          46
4. Iterations – Issues




                         46
                          46
4. Iterations – Issues




                         46
                          46
4. Iterations – Specs




                        47
                         47
4. Iterations – Code Reviews




                               48
                                48
4. Iterations – Activity Streams




                                   49
                                    49
4. Iterations – Activity Streams




                                   49
                                    49
Concept to Launch




Inception   Planning   Quickstart   Iterations   Polish




                                                          50
                                                           50
5. Polish
  “Our highest priority is to satisfy the customer through early and
            continuous delivery of valuable software.”


! Release often
 • Releasing is a process, optimise and document it
 • Perform QA and Blitz Testing
 • Dogfood your software wherever possible




                                                                       51
                                                                        51
5. Polish - Dogfooding




                         52
                          52
Launch!




          53
           53
Launch!
• Many things to consider
 • Documentation
 • Support
 • Deployment
 • Marketing




                            54
                             54
Launch!
• Many things to consider
 • Documentation
 • Support
 • Deployment
 • Marketing




                            54
                             54
Launch!
• Many things to consider
 • Documentation
 • Support
 • Deployment
 • Marketing




                            54
                             54
Launch!
• Many things to consider
 • Documentation
 • Support
 • Deployment
 • Marketing




                            54
                             54
Launch!
• Many things to consider
 • Documentation
 • Support
 • Deployment
 • Marketing




                            54
                             54
Lessons Learned




                  55
                   55
Lessons Learned
• Studio is a tool – use the aspects of it that benefit you




                                                             55
                                                              55
Lessons Learned
• Studio is a tool – use the aspects of it that benefit you
• What worked for us
 • Spike: jump in there, see what you need
 • Estimation: stories, use cases
 • Quickstart: everything a developer needs to start committing
 • Feedback: continuous integration, peer code review, demo the goods
 • Dog Food: use your own software before dishing it out to customers




                                                                        55
                                                                         55
Questions?




             56
              56
Image Credits




                57
                 57
Image Credits
• Spike
   • http://www.flickr.com/photos/elsie/8229790/
• User Stories
   • http://uncyclopedia.wikia.com/wiki/File:CaptainobviousChooseOption.jpg
• Quickstart!    !
   • http://commons.wikimedia.org/wiki/
     File:Mens_100m_finals_British_Champs_and_Olympic_Trials.jpg
• Polish
   • http://www.flickr.com/photos/jmrosenfeld/3423241968/




                                                                              57
                                                                               57
Infrastructure

                                       Contegix
             JIRA Studio
   SF     •JIRA/Greenhopper   Sydney
          •Confluence
  Team    •FishEye/Crucible
                               Team
          •Bamboo
          •Crowd
                                       Google


                                                  58
                                                   58

JIRA Studio: Development in the Cloud - Atlassian Summit 2010

  • 1.
  • 2.
    JIRA Studio Development inthe Cloud Kamal Nabijee Shihab Hamid Developer Atlassian 2 2
  • 3.
    Razorfish Global presence Over1,500 professionals in 21 cities in 8 countries with offshore partners in 9 locations. Full-service digital agency Top 5 interactive agency according to Advertising Age Leader in web design and digital marketing according to Forrester Technology Agnostic approach for all web site User Centered Design approach for all projects 3
  • 4.
    Concept to Launch Foundatio Stabilizati Concept Iterations Launch n on 4 4
  • 5.
    Establishing The Vision Business Drivers  Business  Strategy  Business  Requirements Possible  Research Solution Technical Feasibility Consumer Experience  Solu9on  Strategy  User  Scenarios  Technical  Architecture  Roadmap  Prototype 5
  • 6.
    Customer-Centric Model User storiesare at the center of all User Story planning and implementation activities including, design, functional specification, QA, development and user testing acceptance testing. Accp. Deplo Wire Biz Comp CMS Assign Test Tech HTML Defect Specs Criteri Tasks DCTs Code y. frames Req. s Specs ments Cases Arch Temp. s a Notes 6
  • 7.
    Change is Embraced “…endusers are forced to firmly state their needs before they are ready. Any changes are then frozen so a contract can be negotiated…Unfortunately, without initial agreement on the job, it is impossible to reach agreement on the scope of the changes…This process results in wasted time and money, distrust, and a poor product.” - "Managing the Software Process" by Watts S. Humphrey. 7
  • 8.
  • 9.
    3-week Iterations 3-­‐week  Planning  Phase 3-­‐week  Implementa4on  Phase Technical  Team:  Build  feature Business  Team:  Define    the  next  set  of  features Business  Team:  Define  the  func9onal  specifica9ons  and   acceptance  criteria 9
  • 10.
    3-week Iteration Overview Itera9on  Kickoff Feature  Review Hand-­‐off  To  QA Code  Development Retrospec9ve Tasks  &  Assignments Code  Freeze Acceptance  Criteria Unit  Tes9ng Test  Case Con9nuous  Builds Ongoing  Regression   Integra9on QA  &  Stabilize Deploy Tes9ng IMPLEMENTATION Code  Review Biz Code  Review Biz Review Review Day  1 Day  2 Day  3 Day  4 Day  5 Day  6 Day  7 Day  8 Day  9 Day  10 Day  11 Day  12 Day  13 Day  14 Day  15 Biz Biz Review Review PLANNING Refactor  Design Scope  Planning  for  the   Func9onal  Specifica9on Sign-­‐off  & next  Itera9on User  Stories Itera9on   User  Flows Planning Annotated  Wireframes Visual  Design  Treatments Acceptance  Criteria HTML  Templates Test  Cases  Development 10
  • 11.
    Typical Project Timeline Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec Jan Program  Mgmt Project Management Concept User  Experience Design Visual  Design Foundational Design 2 3 4 5 Business  Analysis Story Development 2 3 4 5 Itera9ve  Planning  and  Implementa9on  Cycles Tech Tech Foundational Tech 1 2 3 4 5 Beta Fixes Strategy Design System   Tes9ng  &  UAT System  Tes9ng   UAT Test  Prep   Data  Migra9on Automated Data Migration Deploy. Deployment Planning Consumer  Beta  Planning Planning Cutover Support Support TransitionOngoing  Managed  Support 11
  • 12.
    What do weneed? • Bring client and Razorfish personnel to form, norm and perform rapidly • Facilitate team collaboration…not documentation! • Need a home and a structure to house project artifacts and deliverables • Manage project scope • Manage tasks, assignments, estimates and timeline • Be the system of record and contain the definition of done • Provide transparency • Provide real-time status 12
  • 13.
  • 14.
    How The ToolsRelate 14 14
  • 15.
    Leverage The Cloud Easy to Setup, Fast, Secure and Reasonably Price • Create A Project Home • Assign a Group of Users • Adjust Other Configurations • Issue Type Scheme • Permission Scheme • Field Configuration Scheme • Workflow Scheme 15 15
  • 16.
    Create A DocumentRepository 16
  • 17.
    Setup Project Meetings •Daily Stand-up • Iteration Planning – Define Scope of the Iteration • Iteration Kick-off – Detail Walkthrough of the Stories • Retrospective – Incorporate Feedback 17
  • 18.
    Develop & PrioritizeThe Project Backlog 18
  • 19.
  • 20.
    Iteration Planning Subtasks, Assignments,Estimates & Story Leads 20 20
  • 21.
  • 22.
    JIRA Studio Development inthe Cloud Shihab Hamid, Technical Lead, Atlassian 22 22
  • 23.
    JIRA Studio +Google Apps 23 23
  • 24.
    JIRA Studio +Google Apps ! JIRA Studio • The best hosted development suite 23 23
  • 25.
    JIRA Studio +Google Apps ! JIRA Studio • The best hosted development suite ! 23 23
  • 26.
    JIRA Studio +Google Apps ! JIRA Studio • The best hosted development suite ! 23 23
  • 27.
    JIRA Studio +Google Apps ! JIRA Studio • The best hosted development suite ! ! Google Apps • The best messaging and collaboration platform 23 23
  • 28.
    JIRA Studio +Google Apps 24 24
  • 29.
    Concept 25 25
  • 30.
    Concept • Requirements •Tighter integration (?) • Cool shit (?!) 25 25
  • 31.
    Concept • Requirements •Tighter integration (?) • Cool shit (?!) • Constraints • Distributed team across 3 time zones • External dependencies on Google and Contegix • Production-ready on 28th of January 2010 25 25
  • 32.
    Concept to Launch Inception Planning Quickstart Iterations Polish 26 26
  • 33.
  • 34.
    1. Inception Preview OpenID OAuth Google Doc Marketplace Notifications Certificates User Attach Google Synchronisation Chat Doc 27 27
  • 35.
    1. Inception • Everyproject needs a home • Create a Project in JIRA Studio with 3 clicks 28 28
  • 36.
  • 37.
    1. Inception ! Spike • Proof of concept • Technical feasibility • Gauge project scope • Development Environment • Test Systems • Skills & Experitise 29 29
  • 38.
    Concept to Launch Inception Planning Quickstart Iterations Polish 30 30
  • 39.
    2. Planning “Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.” ! Requirements • Not even the product managers know all the requirements • Try to enumerate them • Requirements will be in flux • Useful for accurate estimation 31 31
  • 40.
    2. Planning –Estimation 32 32
  • 41.
    2. Planning –Estimation 33 33
  • 42.
    2. Planning –Estimation ! 33 33
  • 43.
    2. Planning –Two Teams 34 34
  • 44.
    2. Planning –Two Teams • Sydney • Critical integration piece • More defined, but obligatory 34 34
  • 45.
    2. Planning –Two Teams • Sydney • Critical integration piece • More defined, but obligatory • San Francisco • Cool shit: UI integration • Technically risky, but all optional 34 34
  • 46.
    2. Planning –User Stories 35 35
  • 47.
    2. Planning –User Stories 36 36
  • 48.
    2. Planning –User Stories • “A user logged in to Google Apps will also be logged in to JIRA Studio” 37 37
  • 49.
    2. Planning –User Stories • “A user logged in to Google Apps will also be logged in to JIRA Studio” 37 37
  • 50.
    2. Planning –Use Cases 38 38
  • 51.
    2. Planning –Use Cases 38 38
  • 52.
    2. Planning –Use Cases 38 38
  • 53.
    Concept to Launch Inception Planning Quickstart Iterations Polish 39 39
  • 54.
    3. Quickstart “Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.” 40 40
  • 55.
    3. Quickstart • Howto play • Any pre-requisite tools for the project • Checking out the source • Building the source • Getting the application up and running • How to contribute • IDE integration • Code style guidelines • Automated testing guidelines • Automated builds 41 41
  • 56.
    3. Quickstart • Continuousintegration • 11 build plans • 3678 builds on project • 41 builds / day 42 42
  • 57.
    Concept to Launch Inception Planning Quickstart Iterations Polish 43 43
  • 58.
    4. Iterations “Working software is the primary Iteration measure of progress” Planning • 5 two-week iterations Demoing Spec’ing • Demoable software Reviewing Coding 44 44
  • 59.
    4. Iterations –Planning 45 45
  • 60.
    4. Iterations –Issues 46 46
  • 61.
    4. Iterations –Issues 46 46
  • 62.
    4. Iterations –Issues 46 46
  • 63.
    4. Iterations –Specs 47 47
  • 64.
    4. Iterations –Code Reviews 48 48
  • 65.
    4. Iterations –Activity Streams 49 49
  • 66.
    4. Iterations –Activity Streams 49 49
  • 67.
    Concept to Launch Inception Planning Quickstart Iterations Polish 50 50
  • 68.
    5. Polish “Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.” ! Release often • Releasing is a process, optimise and document it • Perform QA and Blitz Testing • Dogfood your software wherever possible 51 51
  • 69.
    5. Polish -Dogfooding 52 52
  • 70.
    Launch! 53 53
  • 71.
    Launch! • Many thingsto consider • Documentation • Support • Deployment • Marketing 54 54
  • 72.
    Launch! • Many thingsto consider • Documentation • Support • Deployment • Marketing 54 54
  • 73.
    Launch! • Many thingsto consider • Documentation • Support • Deployment • Marketing 54 54
  • 74.
    Launch! • Many thingsto consider • Documentation • Support • Deployment • Marketing 54 54
  • 75.
    Launch! • Many thingsto consider • Documentation • Support • Deployment • Marketing 54 54
  • 76.
  • 77.
    Lessons Learned • Studiois a tool – use the aspects of it that benefit you 55 55
  • 78.
    Lessons Learned • Studiois a tool – use the aspects of it that benefit you • What worked for us • Spike: jump in there, see what you need • Estimation: stories, use cases • Quickstart: everything a developer needs to start committing • Feedback: continuous integration, peer code review, demo the goods • Dog Food: use your own software before dishing it out to customers 55 55
  • 79.
  • 80.
  • 81.
    Image Credits • Spike • http://www.flickr.com/photos/elsie/8229790/ • User Stories • http://uncyclopedia.wikia.com/wiki/File:CaptainobviousChooseOption.jpg • Quickstart! ! • http://commons.wikimedia.org/wiki/ File:Mens_100m_finals_British_Champs_and_Olympic_Trials.jpg • Polish • http://www.flickr.com/photos/jmrosenfeld/3423241968/ 57 57
  • 82.
    Infrastructure Contegix JIRA Studio SF •JIRA/Greenhopper Sydney •Confluence Team •FishEye/Crucible Team •Bamboo •Crowd Google 58 58