The life of a feature: best practices for shipping quality features in a timely manner

Subscribers:
24,000
Published on ● Video Link: https://www.youtube.com/watch?v=ZzIPhYE2Pyk



Duration: 32:53
47 views
0


Features are mysterious beasts. They start out as pure energy, discovered under a bar of soap in the shower or at the bottom of a cocktail glass. The majority never make it past this stage, but others - a day, a month or a year later - take corporeal form. First they are scratched out quickly, as skeletal figures during a spike or hackathon. Some never leave this nether state, and are left to rot on the bleached desert of an unmerged branch. However, most live on.

The fledgling features take on organs and flesh. The best are gilded and polished, picked up and examined from all angles to assess their fitness and durability. Only when they are ready are they sent into battle. Once dispatched, features continue to evolve over time. Some grow stronger and sleeker, receiving incremental tweaks or a fresh coat of paint. Some bloat and become fat, awkward and slow. Some break down and need to be repaired. Eventually, should a feature's upkeep outweigh its worth, it will be removed and retired: its only relics in the minds of senescent users and a commit or two lost amid the deltas of a repository.

This talk is about Atlassian's unique approach to feature development. Together we'll follow the life cycle of a feature from a mere glint in a product manager's eye all the way through to deployment and usage analysis:

1. Innovation: Where do features come from? The virtues of public issue tracking, 20% time and hackathons.

2. Roadmap: The internal and external influences that help Product Managers decide what to build and when to build it.

3. Development: Handling massively concurrent feature development; large, release-spanning features; and delivering features between releases with the help of OSGi.

4. QA: Building a scalable approach to QA (with a ratio of 1:25 QA engineers to developers) by making QA stand for Quality Advocacy.

5. Analytics: Measuring effectiveness of a feature once it's released, and determining when it's OK to unship something.

This talk is distilled from my 8 years experience as a developer on the JIRA, FishEye and Stash teams at Atlassian. It's seasoned with war stories and metrics from Atlassian's product management and engineering teams as well as some concrete takeaways that attendees will be able to use to improve their own teams' workflows and planning ability. The intent of this talk is to share some of the development best practices that Atlassian have evolved over the last decade that let us ship the most needed features at high quality in a timely manner across consistently paced releases.

Presenter: Joseph Clark [Atlassian]







Tags:
Eclipse (Software)
EclipseConEurope
Eclipse Testing Day
Software Testing