Online presence of Craig Smith — Agile Coach & IT Professional in Australia

Archive for June, 2010

Atlassian Summit 2010: Kaizen With GreenHopper – Visualising Agile & Kanban Storywalls

Atlassian Summit 2010My 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.

Twitter Summary May 2010

A summary of my Twitter posts from May 2010: (more…)

Atlassian Summit 2010 Day 2 Wrapup

Atlassian Summit 2010More 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.

Atlassian Summit Day 2

  • 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:

Atlassian Summit Day 2

  • measure support with customer surveys (get 40% response rate, 4 times industry average, 85% have positive experience), internal measurements
  • revamped knowledge base, Hercules Support Robot automatically responds to support tickets (friend him in Facebook)
  • series of blogs coming on how to do support coming soon and a Support Dashboard portlet

Mike Cannon-Brookes then spoke about 2011 and beyond:

Atlassian Summit Day 2

  • time zones in JIRA (JRA-9)
  • Atlassian Translations, community supported
  • 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
  • choose same bar colour to get gadgets to rotate
  • alpha now, works well in Firefox 3.6 currently

Getting Started with Plugin Development (Matt Ryall)

  • plugins don’t require Java, can use HTML, CSS and jQuery
  • don’t need a JAR file, can just upload an XML descriptor file if simple or you can use the Atlassian Plugin SDK
  • easily add a link to company intranet – create a web item plugin, put in an XML template, upload directly into Confluence
  • project status macro – user macro with a snippet of HTML, put into an XML template, upload
  • expose Cruise Control if it has JSON or a web service interface

Build Atlassian Plugins with Groovy (Paul King)

Atlassian Summit Day 2

  • overview of Groovy
  • scripting plugins to write Groovy inline
  • benefit in environments where you can’t restart JIRA / Confluence

Fedex Champions (Seb Rulz)

  • every 3 months, 40 pizzas and a few hundred beers
  • developers – breaks routine, improves morale, bragging rights
  • company – improves morale, fosters creativity, improves products
  • idea must relate to Atlassian, starts with a short idea statement (shipping order)
  • work overnight, at 3pm keyboards down and present, also present the failures

Mastering JIRA Workflows

Christina Bang spoke on lessons learnt in relation to JIRA workflows. She has a cheat sheet for JIRA workflows on the summit website.

Atlassian Summit Day 2

  • best feature of JIRA
  • 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
  • JIRA workflow plugins – free (JIRA Suite Utilities for comparing number conditions, mandatory field transitions and copy field values, JIRA Toolkit for notifications and time since last comment and JIRA Misc Workflow Extensions for previous status and comment required) and commercial (JIRA Workflow Designer)
  • build your workflow in XML or build your own plugins
  • number in brackets after transition are useful when wanting to do different conditions
  • resolutions are global in JIRA, so you see them for every workflow (there is a JIRA property to hack and hide the resolutions)
  • visualise workflows – a couple of plugins, mostly commercial – Workflow Visualization Plugin was recommended (uses Graphviz)

JIRA Studio: Development In The Cloud

Kamal Nabijee from Razorfish spoke on building software in the cloud:

  • agile like process – concept, foundation, iterations, stabilization and launch
  • user stories are core to all of the deliverables – defines the customer experience and build everything around that story
  • 3 week iteratons, cut off to QA and code freeze in the third week

Shibab Hamid then spoke about how they do it at Atlassian when they integrated Google:

Atlassian Summit Day 2

  • JIRA Studio + Google Apps gives a complete development, collaboration and communication hosted solution
  • Google Talk embedded within JIRA Studio
  • concept was “tight integration and cool shit”, but the constraints were a distributed team and Google and hosting constraints

Kaizen with Greenhopper: Visualising Agile & Kanban Storywalls

The session I presented to a good crowd. The slides are available in a separate post.

Atlassian Summit 2010 Day 1 Wrapup

Atlassian Summit 2010Atlassian Summit 2010 kicked off at the Intercontinental Hotel in San Francisco. Here are my notes from day one.

Keynote

Scott Farquhar (co-founder and co-CEO) kicked off Summit:

Atlassian Summit

  • 550 attendees this year, completely sold out with 200 more people on the waiting list
  • this year won 2 HR awards plus were mentioned by Dan Pink in his TED talk as well as his book Drive
  • Atlassian now has 18,000+ customers plus 50,000 starter licences (with all starter licence proceeds going to Room To Read)
  • Crucible has seen an 88% increase this year
  • Atlassian Hosted (JIRA Studio) has seen a 253% increase this year
  • 512 plugins, doubled in last year
  • 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:

Atlassian Summit

  • 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
  • JIRA – new wallboard feature, just a dashboard – available in alpha now
  • 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.

Atlassian Summit

Atlassian Summit

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.

Atlassian Summit

  • 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.

Atlassian Summit

  • 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.

Atlassian Summit

Delivering World Class Documentation And Support Through Confluence

Sarah Maddox presented this session on how the technical writing process is done at Atlassian.

Atlassian Summit

  • using comments – strive for fun and emotion
  • embed Wufoo into the page using the widget connector
  • linking to external blogs where there is a good how-to information (just indicate that they are linking to external content)
  • using Twitter for release notes – highlights from the release notes with a short URL, not concerned
  • tips for using Confluence via Twitter (going live in the next few weeks), using the widget connector to embed Twitter
  • 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
  • documentation theme is good for managing documentation hierarchically
  • 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!)

Scott Farquhar

Follow

Get every new post delivered to your Inbox.

Join 1,101 other followers

%d bloggers like this: