My presentation from Atlassian Summit 2010 called “Kaizen with GreenHopper: Visualising Agile & Kanban Storywalls” is available on SlideShare. A video of the presentation along with the slides are also available on the Summit 2010 Video Archive.
More than a few days late, but here are my notes from day 2 of Atlassian Summit in San Francisco:
General Session
Tim Buntel discussed how Atlassian develop their products and supporting the social side of development.
concept – idea is defined, unstructured information and ideas from customers, use Confluence and a Specification Template, Balsamiq to do some UI prototyping, embed Office documents such as PowerPoint
plan – project manager gathers requirements and shepherds team, turn the requirements into epics and stories in GreenHopper, embed GreenHopper card view into the Confluence page, planning meeting use projector with GreenHopper, use markers and drag and drop into each sprint
build – developers take requirements and build, build a dashboard with open social gadgets to see relevant information, wallboards to visually see status, Bamboo for continuous builds, Fisheye to view and diff versions of code, new keyboard shortcuts in JIRA to get 15 minutes back every day, Crucible for peer code reviews
launch – marketing take the product and promote, generate release notes in JIRA, write documentation in Confluence
Michael Knighten then gave an overview of JIRA Studio:
issue key linking for associations between all of the tools
integration with Google Apps, attach documents being hosted will mean it is always most up-to-date version
workflow is the future – broken build will reopen issue, passed review will close issue, etc…
Bamboo is now included and uses Amazon EC2 for builds
release cycle to get closer to products
Andrew Rallings then spoke about Customer Support:
measure support with customer surveys (get 40% response rate, 4 times industry average, 85% have positive experience), internal measurements
distributed version control systems are growing fast, support for Git and Mercurial coming soon, Fisheye has helped people move from CVS to Subversion but will help people move to distributed version control (DVCS) as well, Fisheye to help visualize DVCS coming
leading edge customers using gadgets to assist managing distributed servers, Universal Application Links to connect applications together two-way
JIRAnywhere (current code name) JavaScript libraries to allow you to bring JIRA anywhere, such as creating and working with issues in Confluence, hover over links, etc…
Lightning Talks
A series of lightning talks on various topics were held across two different rooms. Here are some thoughts from the ones I attended:
Labels Magic (Anthony Pelosi)
finding information usually involves searching or scanning pages
as an author if you know some of the general information, you can bring this to the user, the inflexible approach is trying to put everything under a parent page, organise pages by business unit rather than time and use labels and the contentbylabel macro to track time sensitive information
add labels to pages and then display related pages with contentbymacro label, then create a combined product page
works on current space (self) or across spaces
label conventions require them to be typed correctly, there are automatic label suggestions however
Auditing Your Build and Release (Jim Severino)
define your process, diagram it, Atlassian think of theirs in loops (internal and continuous integration)
measure your process because you can’t change what you are not measuring (eg. checking out trunk, browsing version control)
canary builds or control builds that should always succeed to determine that infrastructure is working
get multiple build agents
control configuration with a system like Puppet (open source) and Open VZ to get kernel based virtualisation
build needs to be a first class part of the product, Atlassian embed build engineers into the teams
get people involved and talking about the build
test release artefacts after they are assembled
Information Radiator (Brendan Humphreys)
these can be low tech like lava lamps or build lights or a scrum story board
you want fast feedback and to change culture
big and understood at a glance, should be aesthetically pleasing
new JIRA wallboard – section of the wallboard cycles between burndown, relative performance and review blockers
built as a plugin that renders gadgets, just need a wallboard view mode
Atlassian has workflows for budget approvals, kudos, audit trails for permanent records (such as approval to work on open source projects), any business process to replace a piece of paper
push process (hand off to someone else) versus pull process (unassigned, issues in waiting eg. support tasks)
issues always have a state and resolution (done or not done)
transitions are powerful, they have conditions (restrictions to move through the process), validators (fill out a field before proceeding), post functions (do things automatically)
schemes give you fine grained control, give you flexibility, be careful with how you name them
“Unresolved” == field has no value
default workflow was written with software development in mind, and that Atlassian is an open company (resolved == done and closed == shipped)
powerful + flexible = complex
what ever you do (K.I.S.S.) – the fewer steps, people will actually want to use the system
visualise your workflow, identify things to edit, plan transitions and test by walking a through issues through the workflow
easy to write plugins intrepreneurial and entrepreneurial – growth area for Atlassian and their plugin providers
introduced the Universal Plugin Manager – upgrades plugins automatically as well as assisting with Atlassian product upgrades, available now as a plugin for JIRA and Confluence and will be worked into the entire product suite in the future
Mike Cannon-Brookes (co-founder and co-CEO) then took the stage to announce some new products:
concept to launch – concept, plan, build, launch
Confluence – new editor coming in 4.x that will combine the best of the wiki markup and rich text editor
GreenHopper – 900 users last year and 10,700 users this year, fastest growing Atlassian product ever, GreenHopper 5 announced with a completely overhauled user interface
Launchpad
A live voting vendor presentation, where a number of vendors get five minutes each to demo their plugins and get votes via SMS from the audience.
Adaptavist – demo of a Health Monitor plugin that lets you visualise Confluence CPU, memory, classes and threads in real time
AppFire – launch of Firestarter (a portable wiki applicance) that allows you to sync with a central Confluence instance
Comala Tech – Ad Hoc Workflows plugin for workflow approvals (approving pages before they are published) and creating end-user workflows
Contegix – managed hosting providers are now launching in Europe
New Relic – monitor any Java application (including JIRA) from within JIRA with a plugin to RPM, will also let you profile a production application with a low (5%) overhead (30 day free trial with promo code atlassian2010)
KapIT – ConfluenceFX desktop client for Confluence, real time updating and notifications, looks like TweetDeck for Confluence
TaskDock – easy way to automate tasks, emails, calendar entries into Confluence
Tempo – Tempo Plugin which makes timesheeting easy within JIRA
Unsurprisingly, Gliffy took out the voting with their pirate costumes with Near Infinity the runner up.
Going Agile with PBS
Tristan Mayshark from PBS Interactive delivered this session.
use LAMP, Amazon Web Services and Red Hat
tools include Komodo, full Atlassian Suite with Gliffy, Balsamiq and Adaptavist Theme Builder under community licence, SVN, Git and Gitorious (front end to Git) and TestLink for managing manual test cases
have made a switch to agile recently and it has had real benefits, initially used JIRA sporadically and no standard QA process
Agile definition at PBS:
empowering teams with the tools and communication to succeed
accept changing priorities are the norm
developing products in an incremental way
minimize time to market and maximise value
start with an envision session using stickies on a wall, then using GreenHopper enter cards and estimate using t-shirt sizes (anything over 4 is an epic)
group stories into a release that adds business value, and then to 2 week iterations
drive stand-up meeting direct from the GreenHopper task board, for distributed teams use DimDim (alternative to WebEx)
Bamboo pointed at Git and SVN, use Selenium for UI testing (but manually test Flash as it is problematic to test), keep screenshot artefacts from Selenium on the Bamboo server as a visual history
TestLink (open source) integrates nicely with JIRA for manual tests (when something fails it fires off a JIRA ticket), but Bamboo is replacing much of the functionality, has nice charting functionality
still deciding best practice for code reviews using FishEye and Crucible
Confluence used for documentation and run books (support documentation)
Crowd used for access control
gains are visibility, transparency and efficiency
next step to look into JIRA API (using Django), tying Crowd into the current internal directory
try to do stories in an iteration, if that is not possible tie to an epic in the release
Performance Tuning: Pulling A Rabbit From A Hat
George Barnett from Atlassian on how they performance test JIRA.
what you monitor you can improve
using JMeter (shocking interface but best tool out there), published scripts for JIRA and Confluence, patched version of JMeter to get around issues with the JavaScript
automate using Bamboo and Maven
weekly soak test runs for 12 hours (1-2 months of load), daily test runs for 30 minutes
upgrade Java from 1.5 to 1.6 – out of support, better runtime code and better support for newer hardware – massive performance increase including 25% CPU improvement (equivalent of one core), better performance on the current versions of Java 1.6 than earlier
faster memory will give Java better performance – DDR3 gives 3 times improvement over DDR2, and current hardware makes a massive difference
garbage collection – Parallel New and Parallel Old much faster than CMS, so choose the right one
virtual machines are a performance impact (43% hit), but we are talking 100ms, on average about 30% slower (100% slower when resource starved), Atlassian have recommendations for JIRA and Confluence in a virtualised environment
upgrade browsers to a modern browser (IE6 is unsupported and slow)
heap size tuning – we know the JVM will starve with not enough memory, but it does not drown with too much memory (big performance jump from 1.5Gb to 3Gb, not much gain after 6Gb)
SSD does not show much considerable gain for read only, shows most improvement when putting the database on SSD
MySQL Percona release showed no considerable improvement for JIRA over standard MySQL database due to caching (but good for applications that have high query rates above 3,000-4,000 queries per second), MySQL tuning did not have much advantage either
State of the Union (Part I)
An overview of the new features coming up in JIRA and GreenHopper.
Delivering World Class Documentation And Support Through Confluence
Sarah Maddox presented this session on how the technical writing process is done at Atlassian.
doc sprint (sometimes known as a Book Sprint)- get people together in a room for a few days to write documentation – when you put people together and give them a purpose they do awesome stuff
take photos when doing Doc Sprints and have fun – the photos are good to convince others to join next time
dragon slayer documentation for complex steps or documentation – 8 stages with many steps
people love a challenge and a game, so make documentation fun
free t-shirts help too…
Confluence As A Support Knowledge Base
Jeremy Largman presented this session.
low barrier to launch – just setup a space and create a template for consistent look and feel
key to a good knowledge base is proactive articles
knowledge base surveys (was this helpful?), intelligent search to get highly ranked articles to the top and federated search in the knowledge base survey plugin
use an internal tool called Hercules to scan Confluence pages for error messages to give cutomers a response when they raise a support ticket in JIRA
is it working – do a knowledge base survey, use Google Analytics, measure support tickets and do business intelligence on the database
Google Analytics shows that 99% of hits come from Google not from Atlassian website, but once they hit the site they stay and search within it
measure impact on support – unnecessary (could have found it themselves), avoidable (would have been avoidable if the knowledgebase existed) and necessary (a knowledge base would not have helped)
measure to ensure unnecessary and avoidable and decreasing and necessary are increasing
satisfying for support engineers to be proactive
Other Stuff
I stopped by the Atlas Bar to ask some questions for my colleagues in the hope I would get some brilliant answer I had not already considered:
LDAP for JIRA – we just hooked our JIRA instance up to AD, but, unlike Confluence, JIRA does not have the property to allow users to be automatically added to the database. The bad news is there are no easy answers to this currently, about the only way is to write a script to keep the users in sync. The better news is that JIRA 4.3 is supposedly getting an LDAP overhaul, so I’ll hunt down some more information tomorrow.
Searching attachments in JIRA – there is no way out of the box to search attachment names or to search the contents of attachments, and there are no plans for such functionality. However, there is a plugin called the JIRA Searchable Attachments plugin that does exactly what we want, unfortunately, it is not compatible with JIRA 4.x so it might require some code hacking to get working effectively.
I also recorded about 20 minutes of questions and answers for a customer video during the afternoon, I am going to be very interested to see what comes out of the editing process (and what gets left on the cutting room floor!)