JIRA Studio: Development in the Cloud - Atlassian Summit 2010

  • 2,170 views
Uploaded on

JIRA Studio: Development in the Cloud …

JIRA Studio: Development in the Cloud

Kamal Nabijee, Razorfish
Shihab Hamid, Atlassian

More in: Technology , Business
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,170
On Slideshare
0
From Embeds
0
Number of Embeds
6

Actions

Shares
Downloads
27
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. 1 1
  • 2. JIRA Studio Development in the Cloud Kamal Nabijee Shihab Hamid Developer Atlassian 2 2
  • 3. 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
  • 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 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
  • 7. 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
  • 8. Build In Increments 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 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
  • 13. Using JIRA Studio Development in the Cloud 13 13
  • 14. How The Tools Relate 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 Document Repository 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 & Prioritize The Project Backlog 18
  • 19. Iteration Planning Design Artifacts 19 19
  • 20. Iteration Planning Subtasks, Assignments, Estimates & Story Leads 20 20
  • 21. 21 21
  • 22. JIRA Studio Development in the 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. 1. Inception 27 27
  • 34. 1. Inception Preview OpenID OAuth Google Doc Marketplace Notifications Certificates User Attach Google Synchronisation Chat Doc 27 27
  • 35. 1. Inception • Every project needs a home • Create a Project in JIRA Studio with 3 clicks 28 28
  • 36. 1. Inception 29 29
  • 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 • 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
  • 56. 3. Quickstart • Continuous integration • 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 things to consider • Documentation • Support • Deployment • Marketing 54 54
  • 72. Launch! • Many things to consider • Documentation • Support • Deployment • Marketing 54 54
  • 73. Launch! • Many things to consider • Documentation • Support • Deployment • Marketing 54 54
  • 74. Launch! • Many things to consider • Documentation • Support • Deployment • Marketing 54 54
  • 75. Launch! • Many things to consider • Documentation • Support • Deployment • Marketing 54 54
  • 76. Lessons Learned 55 55
  • 77. Lessons Learned • Studio is a tool – use the aspects of it that benefit you 55 55
  • 78. 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
  • 79. Questions? 56 56
  • 80. Image Credits 57 57
  • 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