Dev Tools State of the Union

  • Jens Schumacher, Atlassian, @jensschumacher
  • Surveyed current FishEye customers
    • SCM Usage Today
      • 69% SVN
      • 49% Git
    • What are you planning to use in 2 years?
      • 55% SVN
      • 68% Git
  • 22,000 JIRA customers!
  • Stash
    • Introduced at Summit 2012
    • Git management tool
    • Vision was a lot bigger. They wanted it to become a collaboration platform for developers
    • 11 major releases in the past year. 1 every 5 weeks!
    • 69 Add-ons in the Marketplace
      • e.g. AwesomeGraphs (6,000 customers using this!), SC editor, gamification of commits (e.g. JS Ninja!)
    • a lot of big customers using this
  • More productive with Subversion
    • FishEye + Crucible
      • Performance and Usability – how did we do?
    • Performance
      • Looked at increasing performance on the most used pages – huge gains
      • Looked at improving indexing performance – 38x performance
      • FishEye search is 2.2x faster
    • Usability
      • Improve the pre-commit review experience
      • Previously you create a diff and upload this
      • Created a cmd line tool to create a pre-commit review based on your current working copy
        • crucible.py –title “review title goes here” @reviewer
        • crucible.py
          • Review latest set of changes in existing review
      • JIRA Integration. Once FishEye linked to JIRA, everything else is MAGIC
      • Re-vamped the dashboard experience
  • Getting Started with Git
    • Justin Stepka, Product Manager for BitBucket/SourceTree, @jstepka
    • Stash – You host
    • BitBucket – Atlassian hosts
    • New great features of BitBucket
      • unlimited private repos
      • tutorials there on how to get started
      • 1mil users as of June 2013!
      • 100k teams
      • BitBucket + JIRA is even better!
      • Branching
        • now integrated, and part of the top-level navigation
        • plus a new branches tab
        • displays any existin pull requests and branch statuses
      • Online Editing!
        • If you dont have permission to push your change, your change gets auto-forked and a pull request is created.
        • “The ability on @bitbucket to edit any file in someone else’s repo and automatically send a pull request makes collaboraiton dead simple.”
      • Notifications now moved to watching scheme like other Atlassian projects
        • @mention other developers
    • SourceTree – GUI on top of git
  • Software Devlopment Workflow
    • Back to Jens!
    • Found two things:
      • Complicated Workflows
      • Lack of integration
    • Goal has been to both optimize the development workflow and take the ‘work’ out.
    • Core of this is the pull request / feature branches
      • Branch
      • Code/Review
      • Merge
    • (Same as what they covered in the keynote, which is pretty awesome)
    • Also talk about the reviews happening before merge, which is also great, and all still within source control so there’s none of this pre-commit manual diff crap
    • Merges are so easy in git that in Stash there’s a single button to accept the pull request and merge.
    • In Stash 2.8 you can trickle merge up from far-back bugfix branches. Killer.
      • if a merge fails, you get a pull request to review/address, and it will finish the trickle thereafter!
      • You can also specify special branches, branch prefixes for various categories.
    • Deploy!
      • Build –> Artifacts –> Release –> Deploy to various environments (QA, Staging, Production)
      • For instance, the stash team has a rule that auto-deploys builds from the master which are green to their internal environment. This means it goes down a few times a day, but it keeps them dogfooding.
      • Tasks get executed just like the do in Bamboo. (This is sick, btw…)
      • Can watch the whole thing execute in real-time in Bamboo.
  • Other Notes
    • One thing I’m noticing in all of this is that there’s no itegration between Stash/SourceTree and major IDEs. I can’t perform SourceTree operations in Eclpise, though I could with a 3rd party plugin. I suppose, then this is ok. After the branch is created, one need only copy the repository URL and have a developer check that out in said tool, but it’s an extra step. My team is used to Eclipse, and they’re not going to leave it any time soon. It’s far too powerful.

Comments