82
1 1

JIRA Studio: Development in the Cloud - Atlassian Summit 2010

Embed Size (px)

DESCRIPTION

JIRA Studio: Development in the Cloud Kamal Nabijee, Razorfish Shihab Hamid, Atlassian

Citation preview

Page 1: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

11

Page 2: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

JIRA StudioDevelopment in the Cloud

2

Kamal Nabijee Shihab Hamid

Developer

Atlassian

2

Page 3: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

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

Page 4: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

Concept to Launch

Concept Foundation Iterations Stabilizati

on Launch

44

Page 5: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

Establishing The Vision

Consumer Experience

Possible Solution

Business  Strategy Business  Requirements Research

User  Scenarios Roadmap Prototype

Technical Feasibility

Business Drivers

Solu9on  Strategy Technical  Architecture

5

Page 6: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

Customer-Centric Model

User Story

Wire frames

Biz Req. Specs Comp

sAccp. Criteri

aCMS

Specs Tasks Assignments

Test Cases

Tech Arch DCTs Code HTML

Temp.Defect

sDeplo

y. Notes

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

6

Page 7: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

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

Page 8: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

Build In Increments

8

Page 9: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

3-week Iterations

Business  Team:  Define  the  func9onal  specifica9ons  and  acceptance  criteria

3-­‐week  Planning  Phase

Technical  Team:  Build  feature

3-­‐week  Implementa4on  Phase

Business  Team:  Define    the  next  set  of  features

9

Page 10: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

3-week Iteration Overview

IMPLEMENTATIONIMPLEMENTATIONIMPLEMENTATIONIMPLEMENTATIONIMPLEMENTATIONIMPLEMENTATIONIMPLEMENTATIONIMPLEMENTATIONCode  Review Biz

ReviewCode  Review Biz

Review

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

BizReview

BizReviewBizReview

PLANNINGPLANNINGPLANNINGPLANNINGPLANNINGPLANNINGPLANNINGPLANNINGPLANNINGPLANNINGPLANNINGPLANNING

Itera9on  KickoffHand-­‐off  To  QACode  Freeze Retrospec9ve

Feature  ReviewTasks  &  AssignmentsAcceptance  CriteriaTest  Case

Code  DevelopmentUnit  Tes9ngCon9nuous  BuildsOngoing  Regression  Tes9ng

Integra9on QA  &  Stabilize Deploy

Func9onal  Specifica9onUser  StoriesUser  FlowsAnnotated  WireframesVisual  Design  TreatmentsAcceptance  CriteriaHTML  TemplatesTest  Cases  Development

Refactor  DesignSign-­‐off  &Itera9on  Planning

Scope  Planning  for  the  next  Itera9on

10

Page 11: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

FebFeb MarMar AprApr MayMay JunJun JulJul AugAug SepSep OctOct NovNov DecDec JanJan

Program  Mgmt

User  Experience

Visual  Design

Business  Analysis

Tech

Tes9ng  &  UAT

Data  Migra9on

Deploy.Planning

Support

Beta Fixes

Story Development

System  Tes9ng   UAT

Consumer  Beta  Planning

Automated Data Migration

Project Management

Concept Design

Tech Strategy

Foundational Design

Foundational Tech Design

Itera9ve  Planning  and  Implementa9on  Cycles

Support TransitionOngoing  Managed  Support

Typical Project Timeline

CutoverDeploymentPlanning

1 2 3 4

2 3 4

2 3 4

5

5

5

System  Test  Prep  

11

Page 12: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

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

Page 13: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

Using JIRA StudioDevelopment in the Cloud

1313

Page 14: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

How The Tools Relate

1414

Page 15: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

Leverage The CloudEasy 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

1515

Page 16: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

Create A Document Repository

16

Page 17: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

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

Page 18: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

Develop & Prioritize The Project Backlog

18

Page 19: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

Iteration PlanningDesign Artifacts

1919

Page 20: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

Iteration PlanningSubtasks, Assignments, Estimates & Story Leads

2020

Page 21: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

2121

Page 22: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

JIRA StudioDevelopment in the Cloud

Shihab Hamid, Technical Lead, Atlassian

2222

Page 23: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

JIRA Studio + Google Apps

2323

Page 24: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

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

2323

Page 25: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

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

!

2323

Page 26: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

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

!

2323

Page 27: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

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

!

! Google Apps• The best messaging and collaboration platform

2323

Page 28: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

JIRA Studio + Google Apps

2424

Page 29: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

Concept

2525

Page 30: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

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

2525

Page 31: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

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

2525

Page 32: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

Concept to Launch

Inception Planning Quickstart Iterations Polish

2626

Page 33: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

1. Inception

2727

Page 34: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

1. Inception

27

OpenID OAuth

CertificatesMarketplace

PreviewGoogle Doc

Attach Google Doc

User Synchronisation

Notifications

Chat

27

Page 35: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

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

2828

Page 36: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

1. Inception

2929

Page 37: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

1. Inception! Spike• Proof of concept• Technical feasibility• Gauge project scope

• Development Environment• Test Systems• Skills & Experitise

2929

Page 38: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

Concept to Launch

Inception Planning Quickstart Iterations Polish

3030

Page 39: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

2. Planning

! Requirements• Not even the product managers know all the requirements• Try to enumerate them

• Requirements will be in flux• Useful for accurate estimation

31

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

31

Page 40: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

2. Planning – Estimation

3232

Page 41: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

2. Planning – Estimation

3333

Page 42: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

2. Planning – Estimation

!

3333

Page 43: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

2. Planning – Two Teams

3434

Page 44: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

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

3434

Page 45: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

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

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

3434

Page 46: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

2. Planning – User Stories

3535

Page 47: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

2. Planning – User Stories

3636

Page 48: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

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

3737

Page 49: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

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

3737

Page 50: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

2. Planning – Use Cases

3838

Page 51: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

2. Planning – Use Cases

3838

Page 52: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

2. Planning – Use Cases

3838

Page 53: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

Concept to Launch

Inception Planning Quickstart Iterations Polish

3939

Page 54: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

3. Quickstart

40

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

40

Page 55: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

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

4141

Page 56: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

3. Quickstart• Continuous integration• 11 build plans• 3678 builds on project• 41 builds / day

4242

Page 57: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

Concept to Launch

Inception Planning Quickstart Iterations Polish

4343

Page 58: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

4. IterationsIteration Planning

Spec’ing

CodingReviewing

Demoing

44

“Working software is the primary measure of progress”

• 5 two-week iterations• Demoable software

44

Page 59: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

4. Iterations – Planning

4545

Page 60: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

4. Iterations – Issues

4646

Page 61: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

4. Iterations – Issues

4646

Page 62: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

4. Iterations – Issues

4646

Page 63: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

4. Iterations – Specs

4747

Page 64: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

4. Iterations – Code Reviews

4848

Page 65: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

4. Iterations – Activity Streams

4949

Page 66: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

4. Iterations – Activity Streams

4949

Page 67: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

Concept to Launch

Inception Planning Quickstart Iterations Polish

5050

Page 68: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

5. Polish

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

51

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

51

Page 69: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

5. Polish - Dogfooding

5252

Page 70: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

Launch!

5353

Page 71: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

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

5454

Page 72: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

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

5454

Page 73: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

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

5454

Page 74: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

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

5454

Page 75: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

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

5454

Page 76: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

Lessons Learned

5555

Page 77: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

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

5555

Page 78: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

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

5555

Page 79: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

Questions?

5656

Page 80: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

Image Credits

5757

Page 82: JIRA Studio: Development in the Cloud - Atlassian Summit 2010

Infrastructure

58

JIRA Studio•JIRA/Greenhopper•Confluence•FishEye/Crucible•Bamboo•Crowd

Contegix

Google

SydneyTeam

SFTeam

58