Pivotal Labs

Main menu

Skip to primary content
Skip to secondary content
  • About
  • Case Studies
  • Team
    • Executives
    • Locations
      • San Francisco (HQ)
      • Boston
      • Boulder
      • Denver
      • London
      • Los Angeles
      • New York
  • Community
    • Blogs
    • Tech Talks
    • Events
  • Careers
    • Lifestyle
    • Principles & Practices
    • Benefits
    • FAQ
    • Apply
  • Tools
  • Contact
    • Press Room
    • Press Releases
    • In The News
    • Press Kit
  • All
  • Labs
  • Standup
  • Tracker
Jared Carroll

Mark Your Place: Bookmarks in RubyMine

Jared Carroll
Sunday, April 14, 2013

Like many text editors, RubyMine supports bookmarks. A bookmark is a reference to a particular line in a file. They are visually indicated by an icon in the editor gutter. Bookmarks can be used as a form of navigation based on interested parts of a codebase. In this post, we’ll explore (using the Mac OS X 10.5+ keymap) the three types of bookmarks in RubyMine: anonymous, numbered, and lettered.

Anonymous Bookmarks

Anonymous bookmarks can be created with F3. They appear as a checkmark icon in the editor gutter.

anonymous bookmark

Unfortunately, there are no default keyboard shortcuts to navigate anonymous bookmarks. Instead, use the Find Action command,command + shift + A, to search for the “Next Bookmark” and “Previous Bookmark” anonymous bookmark navigation commands. These commands will only navigate through anonymous bookmarks in the current file.

Mnemonic Bookmarks

There are two types of mnemonic bookmarks: numbered and lettered.

Numbered Bookmarks

You can have up to 10 numbered bookmarks: 0-9. To create a numbered bookmark, press control + shift + <number>, e.g., control + shift + 4.

numbered bookmark

To navigate to a numbered bookmark press control + <number>, e.g., control + 4.

Lettered Bookmarks

You can have up to 26 lettered bookmarks: A-Z. To create a lettered bookmark press option + F3, then choose a letter to use for the bookmark.

lettered bookmark

To navigate lettered bookmarks, use the bookmarks dialog (discussed below), command + F3.

Deleting Bookmarks

All three types of bookmarks can be deleted by pressing F3 when on the bookmarked line.

Viewing Bookmarks

You can view all existing bookmarks with command + F3.

bookmarks dialog

This dialog also allows you to delete, and navigate bookmarks.

Last Edit Location “Bookmark”

When editing, it’s common to stop for a second to view another part of the file (or a different file), and then navigate back to the original edit location.

Instead of using bookmarks to quickly navigate back to the original edit location, use the Last Edit Location command, command + shift + Backspace.

Experimenting with Bookmark Navigation

After trying out the different types of bookmarks in RubyMine, I find numbered bookmarks to be the most useful. They are both easy to create and navigate. Lettered bookmarks offer a greater number of possible bookmarks, but navigating them requires several commands. I think anonymous bookmarks could also be useful, if you create shortcuts for their navigation commands.

Try them all and see what works best for you.

  • 0 Shares
  • Share on Facebook
  • Share on Twitter
Jonathan Berger

Long-term Estimation in an Agile Environment, or: How I Learned to Stop Worrying and Love the Assumptions Label

Jonathan Berger
Monday, April 1, 2013

Estimation is Hard

Flexible plans executed via iterative development are at the core of Agile:

Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.

This is great for figuring out what to build, but all this flexibility can make planning and estimation hard. In practice, developers tend to prefer backlogs containing a few weeks worth of fine-grained stories following INVEST principles, followed by low-fidelity—and unestimated—chunks of epic-sized features. The thinking is that any stories farther out are unstable, and that it’s wasteful to spend time specifying them in detail. Agile planning tools like Pivotal Tracker are built with this perspective in mind, and are great for managing fine-grained details. But what happens when you need to get a more big-picture view of a project? Recently, a colleague said:

As development moves forward, features change. And those changes have implications on the stories later in the backlog or icebox. … Not sure if this the best way since it causes me to not want stories that extend beyond a few iterations.

Isn’t this the perfect distillation of the Agile Manifesto’s notion of “Responding to change over following a plan”? I find the problem isn’t changing stories—this is a natural part of Agile development. Rather, the difficulty is doing the work to 1) figure out which stories are stale, and 2) to re-estimate stale stories, lest 3) clients make plans based on stale estimates and then get upset when we say “sorry, those estimates aren’t accurate any more”. Ideally, the estimates will be revamped downwards (there’s less uncertainty now that we know more about what’s going on, right?), although sometimes we’re discovering hidden complexity and the estimates go up. D’oh!

The Assumptions Label Technique

One technique I’ve used successfully on a few projects is what I like to call the Bullpucky Assumptions Label. I pull it out when the client demands—not unreasonably, I might add—that we estimate out the next 3-12 months of work so that they can get funding / approval from their boss / etc. I’ve seen project teams fight this for weeks (the PM getting more irate and frustrated the whole time), finally lose, and schedule a (miserable) half- or one- or two-day mini-inception during which they proceed to estimate every story for the next few quarters in fine-grained detail. Of course, they inevitably have to re-estimate half those stories in angry IPMs when it becomes clear the estimates are wrong, grumbling “we told you these estimates were bullpuckey”.

Here’s the Assumptions Label technique:

  1. Schedule a 2-3 hour Assumptions Meeting with the PM and 1 or 2 devs. (You don’t need the whole team; these aren’t real estimates). Estimate “stories” (they’re really closer to epics) at a multiples-of-8-point level of granularity. Pretend we’ve built the basic shopping-cart and inventory functionality of Hamazon (“The Internet’s Favorite Purveyors of Pork since 2009!”), and now the client wants to fully copy Amazon’s feature set. It might contain rough estimates like “Reviews and ratings? Mmmm…24 points. Recommendation Engine? 40 points.” Rough out the desired feature set. You’re basically estimating at a pair-week level of granularity, so multiply pair-weeks by (velocity/team strength) and you’ve got your pointed estimate.
  2. Write titles in all caps (they’re easier to see that way). Don’t bother writing a description for the story. It’s ok to use multiple 8-pointers to get to the number you need.
  3. Throw an “assumptions” label on all these stories; they’re easier to wrangle (and it never hurts to drive the point home).
The Assumptions Label technique in action.

The Assumptions Label technique in action. Use it to re-prioritize coarse-grained blocks of epic, and watch estimated completion dates adjust.

Now your PM can give a rough estimate to their boss or their boss’s boss, re-prioritize at a rough level of resolution, and cut scope or add pairs. But it remains clear to everyone that these should never be mistaken for actual, deliverable stories. In fact, these “assumption” stories become a decent way to see what’s next when story-writing. IPM or pre-IPM often becomes an exercise in picking the top assumption off the top of the file and fleshing it out into real stories. By reducing the difficulty in seeing what’s a real story and what’s a rough estimate for planning’s sake, everyone gets better visibility into the project. Pivots can set better expectations for their PMs, PMs can set proper expectations for their boss, and trust is preserved on the team.

  • 0 Shares
  • Share on Facebook
  • Share on Twitter
Jared Carroll

Beginning Mouse-Free Development in RubyMine

Jared Carroll
Sunday, March 31, 2013

As a long time terminal text editor user, and accordingly not a big fan of the mouse, after switching to RubyMine, I immediately began memorizing the keyboard shortcuts. RubyMine shortcuts can look intimidating, especially the three and four-key shortcuts that resemble guitar chords. However after several months of using RubyMine, I’ve found that efficient, painless, mouse-free development is possible. Here are some suggestions in helping you move away from the mouse.

Choosing a Keyboard

It’s important to choose a keyboard with modifier keys (Shift, Control, Option/Alt, and Command) on both the left and right sides, because RubyMine shortcuts often involve pressing one or more modifier keys. Having a set of modifier keys for each hand allows for more natural shortcut fingerings.

I use RubyMine on a Mac with the apple keyboard with numeric keypad. This keyboard has two sets of nice-sized modifier keys.

Respect the Dividing Line

The dividing line on a keyboard determines which hand types which keys. It usually lies on a diagonal between 5 and 6, T and Y, G and H, and B and N.

Almost all RubyMine shortcuts involve a key combination: pressing one or more modifier keys plus a non-modifier key. For safety and speed, always use the modifier key(s) on the opposite side of the non-modifier key. For example, when typing command-f, the find shortcut, use the right command key.

Touch Typing the Function Keys

RubyMine shortcuts make extensive use of the function keys (F1-F12). Most developers have little experience using these keys because editors often neglect the function keys.

Touch typing the function keys is essential for maximum speed. Extend the dividing line to the function keys between F5 and F6. This may vary depending on how your keyboard lays out the function keys.

Key Combination Fingerings

Finding the optimal key combination fingerings can help make shortcuts comfortable and easy to remember. I’ve found the following fingerings for common RubyMine shortcuts to be intuitive and painless.

  • command-option index + ring
  • command-control index + pinky
  • command-option-control index + ring + pinky
  • command-shift index + pinky
  • command-option-shift index + ring + pinky
  • option-control ring + pinky
  • option-shift index + ring
  • option-shift-control index + middle + ring
  • control-shift pinky + ring

Mouse-free Development

RubyMine publishes keyboard shortcuts for each supported OS. In future posts, we’ll explore each category of shortcuts, moving towards complete, mouse-free development.

  • 0 Shares
  • Share on Facebook
  • Share on Twitter
Dan Podsedly

Hojoki – activity from Pivotal Tracker and your other apps in one place

Dan Podsedly
Tuesday, December 13, 2011

Hojoki is a new collaboration app that promises to “make all your cloud apps work as one”, by integrating many of the most popular services that your team uses daily (including Pivotal Tracker, of course) into a personalized activity stream.

Once configured, your Hojoki activity stream shows you when a story is created, edited, started, finished and deleted. Hojoki also shows you all of your project members, and allows you to search for who created a story, who requested it, and who is responsible for implementing it.

To welcome Pivotal Tracker users, Hojoki if offering some cool robot-playing-basketball shirts! There are only a few available, though, so they’ll go to the first 10 people who comment on this blog post, below.

More info on the Pivotal Tracker integration, including how to get started, in the Hojoki welcome blog post.

  • 0 Shares
  • Share on Facebook
  • Share on Twitter
Dan Podsedly

New in Pivotal Tracker for iOS: Search, My Work, New iPhone Interface

Dan Podsedly
Tuesday, November 15, 2011

Version 1.1 of the Pivotal Tracker for iOS app is now available in the iTunes App Store. This update adds the Search and My Work panels, a redesigned iPhone interface, and many overall usability improvements. All the details after the jump, below.

Search and My Work

You can now find and filter stories quickly with the new Search panel, which supports all of the Tracker search syntax that you’re used to. The new My Work panel shows you all of the stories that you’re currently working on, that are assigned to you, or that are waiting for your acceptance.

Add Stories Anywhere

Adding stories is easier now, just tap the new story button at the top right corner, regardless of where you are in the app (on the iPad or the iPhone).

Faster Access to Story Panels

Switching between panels on the iPhone is now much faster with the new tab bar at the bottom. It even works while dragging a story – tap the desired target panel with the other finger.

Similarly, the iPad version now has a row of panel buttons at the top right, tap them to reveal a given panel quickly or just swipe the panels side to side as before.

Story States on iPhone

Story states are now displayed for in-progress stories on the iPhone, and easily changed by swiping a story to the left.

Other Improvements

Drag and drop and scrolling has been significantly improved, particularly on older iPhone and iPod Touch models. We’ve also updated the app for iOS 5, and added many detailed interface tweaks to make stories easier to find and work with.

Feedback

We’re committed to bringing the best of Pivotal Tracker to the your iPhone and iPad, while taking full advantage of all the user experience and portability features of the iOS platform. Many more improvements are on the way, but we’d love to know what you think so far! Give us a shout at tracker@pivotallabs.com.

By the way, we’re thrilled to see all the positive reviews in iTunes. Thanks everyone, and keep them coming!

  • 0 Shares
  • Share on Facebook
  • Share on Twitter
Dan Podsedly

New 3rd party tool: pWidget – Embaddable Tracker Widget

Dan Podsedly
Monday, November 7, 2011

pWidget is a new 3rd party tool for Pivotal Tracker. It’s an embeddable widget, that can be shown in any iframe, and shows stories from multiple projects. Configure it via URL params to show stories matching a search result, from specific projects, in label-specific priority order, and more!

Check out the pWidget page for more details.

For other helpful tools, see the Tracker 3rd party tools directory, and subscribe to the RSS feed to stay on top of new ones as they’re added.

  • 0 Shares
  • Share on Facebook
  • Share on Twitter
Dan Podsedly

SF.TUG Meetup in SF on Sep 28 – Epics and more!

Dan Podsedly
Tuesday, September 20, 2011

The next San Francisco Tracker User Group (SF.TUG) meetup will be on Wednesday, September 28, at 6:30pm, in the Pivotal Labs office in San Francisco.

If you’re new to Tracker, or could use a refresher, this is your chance to get an introduction. It’s also a great to chance for more advanced users to give direct feedback, or ask all those difficult questions (e.g. just how do I organize that rapidly growing engineering team?)

There’s also a secret agenda for this meetup. We’d like to get your feedback and discuss a big feature that’s under development – Epics, designed to address a range of needs and scenarios from coarse-grained user interface design, to easy-to-digest team visibility of large features. Come and get a sneak preview!

Beverages and light snacks will be provided.

  • 0 Shares
  • Share on Facebook
  • Share on Twitter
Dan Podsedly

New Pivotal Tracker Video: Introduction to the Concepts

Dan Podsedly
Monday, August 29, 2011

We’ve just published a new video that introduces the concepts behind Pivotal Tracker. It talks about the agile process that works best with Tracker, including story breakdown and estimation, prioritization, and workflow. If you’re new to Tracker, or would like to make sure you’re getting the most of out of the tool, this should be 8 minutes well spent!

  • 0 Shares
  • Share on Facebook
  • Share on Twitter
Dan Podsedly

New in Pivotal Tracker: Multi-story select and drag/drop, iPad usability improvements

Dan Podsedly
Friday, June 17, 2011

Happy Friday! We’ve just rolled out some changes to Pivotal Tracker, which we’re hoping will have a very noticeable impact on usability, especially for those of you who manage large projects. You can now select multiple stories with a few clicks, using shift-click, and drag them together to a new location. Also, iPad usability has been greatly improved – for example, story panels can now be scrolled with one finger, and you can move stories via drag and drop

Dragging Multiple Stories

Changing business priorities on large projects has always been a bit painful for us, having to drag stories one by one. Cloning panels helps with this, but really, what we’ve always wanted to do is just select a whole group of stories, and drop them in their new place in the backlog or the icebox with one action. You can now do this, and it’s even possible to drag stories that are in-progress to the backlog or icebox and it just does the right thing (un-starts them).

Click on the screenshot above to see a larger version.

To select multiple stories, use the small checkboxes to the right of story titles. If you’d like to select a range of stories, select the first story in the list, then shift-click on the last story. This will select all in the range, and allow you to drag them together, or use some of the other actions in the Stories drop-down, such as export to CSV or move to another project. Note: range select with shift-click only works in a single panel at a time, but you can select multiple ranges of stories across the whole project.

The Stories drop-down menu has been changed – it now shows the number of selected stories more prominently, and we’ve removed the old bulk story move actions (move to icebox, etc), since this is now possible (and easier) with drag and drop. Note – the Stories menu allows you to unselect all selected stories, which can be useful if you’re moving a lot of stories around in steps.

Note: We realize the that the checkboxes are a bit small, and hard to click on – we’ll be addressing that in an upcoming release. Also, in certain panels and/or browsers, shift-clicking on a checkbox highlights text on the page, we’ll be fixing that as well.

iPad Usability

We’ve addressed most of the major usability issues on the iPad, and Tracker (the web application) now supports one-touch scrolling of panels, drag and drop, easier expanding and collapsing of stories, and displays properly in both orientations.

In horizontal orientation, you can see up to 3 panels at one time, and 2 panels in vertical orientation. But, you can open others, and the panel section will slide sideways to reveal newly opened ones. Dragging sideways will move the panels left and right.

To drag a story, touch it for a brief moment, until it turns yellow, then drag it.

Possible Issues

One of the reasons that all these usability changes were possible, and fairly easy, is because we’ve changed the underlying drag and drop library that Tracker uses. We’ve tried to test thoroughly, and there are some minor issues, but there is fairly good chance that you’ll find some as well. Please let us know, by email to tracker@pivotallabs.com, in the comments here, or over at Twitter.

We’d love your feedback on these changes. There are more new features lined up!

  • 0 Shares
  • Share on Facebook
  • Share on Twitter
Pivotal Labs

Pivotal Labs, the Balanced Team and Adaptive Path welcome SXSW Attendees this Saturday for deLUX REdux

Pivotal Labs
Thursday, March 10, 2011

Last month at IxDA Interaction 11, we hosted an evening in our office in Boulder full of food, drink and discussion, to bring some of our learnings around Lean User Experience to the larger design community, and in particular to attendees of the annual international IxDA conference.

We had such a great time with it, and started so many great conversations, that we decided we had to do it again at SXSW. This Saturday, at Adaptive Path Austin, from 6-9pm, we’re hosting deLUX REdux, and you’re all invited. (Register at Eventbrite.)

Since we’ve been working with Eric Ries on his Lean Startup track this Saturday, we thought an event Saturday evening was a great way to share what we’ve learned with a wider community. And since we’re on the topic, why don’t you come see our own Parker Thompson on a panel with Eric at 9:30a, and join Janice Fraser from LUXr and myself on a panel at 12:30p with Dave McClure and Laura Klein.

So what is the event all about?

For the past year, we’ve been sharing ideas and discussing new ways to approach design and product development, to create better products, make happier customers, and reduce waste. We’ve been doing this while creating better integrated, more collaborative, more responsive teams. In that time, a number of us have been getting together on a regular basis to really sit down and discuss what works and what doesn’t, and to try to distill these ideas into principles and techniques that are repeatable and practical.

We’ve been itching to engage with the larger design community to start to break down the culture of Big Upfront Design, the Cult of the Rockstar Designer, and the culture of necessary infallability; to fight the blind application of Waterfall and to disrupt the antipatterns we’ve found so antithetical to effective collaboration with agile development teams; to encourage patterns that allow designers to embrace early customer feedback, and to test hypotheses quickly; and most importantly, to foster a deeper collaboration with the very folks who have the biggest impact on what we build. We’ve seen over and over that, when done correctly, a light-weight process gives designers more control, not less.

It’s out of this series of discussions that I first arrived at a framing of the problem space that I talk about in Enough Design, and it’s also through these sessions that we’ve found a growing community of designers, product people, enterprises and other developers who are working to develop better techniques for integrated product development. We’ve found the conversation immensely valuable in our practice, and we hope to learn and share with more of you.

So if you’re a designer in Austin for SXSW, or just someone who cares about usable techniques for bringing Lean principles into the development of compelling User Experience, come join us on Saturday for deLUX REdux. This is a free event, but space is limited, so please RSVP through Eventbrite.

Thanks so much to Adaptive Path for sharing their Austin office with us, and to everyone at LUXr, Hot Studio, Sidereel, Cooper, IDEO and the Balanaced Team for their help making this happen.

  • 0 Shares
  • Share on Facebook
  • Share on Twitter

Topics

  • agile (783)
  • rails (117)
  • testing (90)
  • ruby (86)
  • ruby on rails (71)
  • jobs (62)
  • javascript (59)
  • techtalk (44)
  • ironblogger (42)
  • rspec (39)
  • bloggerdome (34)
  • productivity (34)
  • activerecord (30)
  • rubymine (30)
  • git (29)
  • gogaruco (29)
  • nyc (27)
  • design (24)
  • mobile (23)
  • pivotal tracker (22)
  • process (21)
  • cucumber (21)
  • jasmine (19)
  • ios (18)
  • tracker ecosystem (17)
  • webos (17)
  • objective-c (17)
  • fun (16)
  • android (16)
  • palm (16)
  • ci (16)
  • "soft" ware (16)
  • bdd (15)
  • tdd (15)
  • cedar (15)
  • rails3 (14)
  • performance (14)
  • css (14)
  • gem (13)
  • mouse-free development (12)
  • selenium (12)
  • goruco (12)
  • bundler (12)
  • api (12)
  • keyboard (11)
  • meetup (11)
  • railsconf (11)
  • nyc-standup (11)
  • capybara (10)
  • mac (10)
Subscribe to productivity Feed
  1. ←
  2. 1
  3. 2
  4. 3
  5. 4
  6. →
  • About
  • Case Studies
  • Team
  • Community
  • Careers
  • Tools
  • Contact
  • Labs
  • Events

Contact Us

contact@pivotallabs.com
+1 415-77-PIVOT
TwitterLinkedInFacebook

Pivotal Tracker

Tracker is the award-winning agile project management tool that enables real-time collaboration around a shared, prioritized backlog.
Visit pivotaltracker.com >