JIRA Studio: Development in the Cloud - Atlassian Summit 2010

Post on 17-Jan-2015

2210 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

Transcript

11

JIRA StudioDevelopment in the Cloud

2

Kamal Nabijee Shihab Hamid

Developer

Atlassian

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

Concept Foundation Iterations Stabilizati

on Launch

44

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

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

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

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

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

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

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 StudioDevelopment in the Cloud

1313

How The Tools Relate

1414

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

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 PlanningDesign Artifacts

1919

Iteration PlanningSubtasks, Assignments, Estimates & Story Leads

2020

2121

JIRA StudioDevelopment in the Cloud

Shihab Hamid, Technical Lead, Atlassian

2222

JIRA Studio + Google Apps

2323

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

2323

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

!

2323

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

!

2323

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

!

! Google Apps• The best messaging and collaboration platform

2323

JIRA Studio + Google Apps

2424

Concept

2525

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

2525

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

Concept to Launch

Inception Planning Quickstart Iterations Polish

2626

1. Inception

2727

1. Inception

27

OpenID OAuth

CertificatesMarketplace

PreviewGoogle Doc

Attach Google Doc

User Synchronisation

Notifications

Chat

27

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

2828

1. Inception

2929

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

• Development Environment• Test Systems• Skills & Experitise

2929

Concept to Launch

Inception Planning Quickstart Iterations Polish

3030

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

2. Planning – Estimation

3232

2. Planning – Estimation

3333

2. Planning – Estimation

!

3333

2. Planning – Two Teams

3434

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

3434

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

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

3434

2. Planning – User Stories

3535

2. Planning – User Stories

3636

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

3737

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

3737

2. Planning – Use Cases

3838

2. Planning – Use Cases

3838

2. Planning – Use Cases

3838

Concept to Launch

Inception Planning Quickstart Iterations Polish

3939

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

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

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

4242

Concept to Launch

Inception Planning Quickstart Iterations Polish

4343

4. IterationsIteration Planning

Spec’ing

CodingReviewing

Demoing

44

“Working software is the primary measure of progress”

• 5 two-week iterations• Demoable software

44

4. Iterations – Planning

4545

4. Iterations – Issues

4646

4. Iterations – Issues

4646

4. Iterations – Issues

4646

4. Iterations – Specs

4747

4. Iterations – Code Reviews

4848

4. Iterations – Activity Streams

4949

4. Iterations – Activity Streams

4949

Concept to Launch

Inception Planning Quickstart Iterations Polish

5050

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

5. Polish - Dogfooding

5252

Launch!

5353

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

5454

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

5454

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

5454

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

5454

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

5454

Lessons Learned

5555

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

5555

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

Questions?

5656

Image Credits

5757

Infrastructure

58

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

Contegix

Google

SydneyTeam

SFTeam

58

top related