Confluence & JIRA Community Day - Latest updates from Atlassian - Valerie Bergkamp (Atlassian)
JIRA Studio: Development in the Cloud - Atlassian Summit 2010
-
Upload
atlassian -
Category
Technology
-
view
2.215 -
download
1
description
Transcript of JIRA Studio: Development in the Cloud - Atlassian Summit 2010
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
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/
5757
Infrastructure
58
JIRA Studio•JIRA/Greenhopper•Confluence•FishEye/Crucible•Bamboo•Crowd
Contegix
SydneyTeam
SFTeam
58