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
  • Contact
    • Press Room
    • Press Releases
    • In The News
    • Press Kit
  • All
  • Labs
  • Standup
  • Tracker

Monthly Archives: March 2009

Edward Hieatt

Pictures from the Jolt awards

Edward Hieatt
Thursday, March 12, 2009

As Ian just posted, Pivotal Tracker won a Jolt award tonight. Here are some early pictures from the event.

The Jolt award for Pivotal Tracker

The Jolt award for Pivotal Tracker

Edward with the Jolt award for Pivotal Tracker

Edward with the Jolt award for Pivotal Tracker

Ian with the Jolt award for Pivotal Tracker

Ian with the Jolt award for Pivotal Tracker

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

Pivotal Tracker wins the Jolt Award

Pivotal Labs
Thursday, March 12, 2009

I’m very pleased to announce that Pivotal Tracker has won the coveted Jolt Award, in the Project Management category.

I want to thank the judges for selecting Pivotal Tracker above a category dominated by Agile project management tools, and for rewarding Tracker for innovation.

I want to thank the community who have used, evangelized, and supported Tracker, and in particular Obie Fernandez, Ward Cunningham, and Nivi; plus everyone over at Engine Yard for hosting the app.

And of course I want to thank and congratulate the development team and visionaries, particularly Dan Podsedly, Alex Chaffee, Rob Mee, Mark Michael, and Edward Hieatt for envisioning and then building the tool that we’ve come to depend on.

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

New York Standup 03/11/2009

Pivotal Labs
Wednesday, March 11, 2009

Help Wanted

  • We’re interested in running some sort of javascript validation and syntax checking suite on one of our projects. JSLint looks reasonable for the framework and can be run from the command line with Rhino.

    If you have experience with or thoughts about the idea, please share.

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

Pivotal Tracker and the Planning Fallacy

Pivotal Labs
Wednesday, March 11, 2009

I came across an interesting post on Overcoming Bias today about the Planning Fallacy. In short, the evidence shows that individual predictions generally occur in a rosy inaccurate world where everything goes according to plan, even when interruptions and setbacks are inevitable:

Buehler et. al. (1995) asked their students for estimates of when they (the students) thought they would complete their personal academic projects. Specifically, the researchers asked for estimated times by which the students thought it was 50%, 75%, and 99% probable their personal projects would be done. Would you care to guess how many students finished on or before their estimated 50%, 75%, and 99% probability levels?

  • 13% of subjects finished their project by the time they had assigned a 50% probability level;
  • 19% finished by the time assigned a 75% probability level;
  • and only 45% (less than half!) finished by the time of their 99% probability level.

As Buehler et. al. (2002) wrote, “The results for the 99% probability level are especially striking: Even when asked to make a highly conservative forecast, a prediction that they felt virtually certain that they would fulfill, students’ confidence in their time estimates far exceeded their accomplishments.”

But it seems one can overcome this bias towards optimism by getting an “outside view” on the problem as it relates to the timelines on previous similar projects:

Buehler et. al. (2002), found that Japanese students expected to finish their essays 10 days before deadline. They actually finished 1 day before deadline. Asked when they had previously completed similar tasks, they responded, “1 day before deadline.” This is the power of the outside view over the inside view.

So there is a fairly reliable way to fix the planning fallacy, if you’re doing something broadly similar to a reference class of previous projects. Just ask how long similar projects have taken in the past, without considering any of the special properties of this project. Better yet, ask an experienced outsider how long similar projects have taken.

Pivotal Tracker, unlike other project management software, is built on exactly this idea of the outside view, via points and emergent iterations:

Tracker calculates future iterations based on historical performance. Focus on prioritizing and completing your stories; let Tracker take care of planning future iterations, based on actual progress.

It’s gratifying to see that the emergent iterations are not just easier for the user, as there’s no need to manually specify them – they’re also more likely to be accurate, as they’re based on an external view of your own progress. Yet another reason to look to Tracker for your project management needs.

  • 0 Shares
  • Share on Facebook
  • Share on Twitter
Mike Grafton

Standup 03/11/2009

Mike Grafton
Wednesday, March 11, 2009

Interesting

  • With RMagick 2.9.1 and ImageMagick 6.4.6.9 (or so), you get a 1×1 pixel image if you crop and then resize an image to be bigger:
image.crop!().resize!()
  • Pivotal Tracker is a finalist for a Jolt award in project management. Good luck Tracker!
  • 0 Shares
  • Share on Facebook
  • Share on Twitter
Pivotal Labs

New York Standup, Overdue from the Week of 03/02/2009

Pivotal Labs
Wednesday, March 11, 2009

Interesting Things

  • An EngineYard-hosted project had an issue with monit attempting to restart
    mongrel too often. It turned out that the mongrel processes were not
    dropping pid files soon enough. The EngineYard-suggested fix:

    • Upgrade mongrel to 1.1.5.1 (patched to drop the pid file faster)
    • Upgrade to monit 5.0 beta 6
    • Update to the latest ey-monit-scripts
  • FiveRuns dash is a cool, customizable metrics
    service. Pat created a plug-in
    for sending continuous integration stats there: dash-ci.
  • Using Cucumber to test Capistrano deployment:

    cap --dry-run will run Capistrano without completing the actual task
    (e.g., deployment). Cucumber can then be used to write some nice,
    story-like deployment expectations that search the Capistrano output to
    document your project’s deployment process and ensure the documentation
    remains valid. Something like:

    Feature: Deployment
      In order to deploy the application
      As an administrator
      I should run Capistrano commands
    
    
      Scenario: Deploying
        Given I am working from the RAILS_ROOT directory
          And the parent directory is a Git repository
        When  I run a deployment task
        Then  'scm_user' for the deployment should be derived from the Git config for the remote origin
    
    
      Scenario: Deploying to demo
        Given I am working from the RAILS_ROOT directory
        When  I run 'cap demo deploy'
        Then  the deploy should succeed
          And the deployed code matches the latest 'web/stable' tag
          And the deployed code should be marked with a new 'web/demo' tag
    

    More on this to come.

  • Using Selenium to ensure unique IDs in your DOM:

    # ----------------------------------------------------------------------
    # The examples below illustrate the technique with the Prototype and
    # jQuery libraries, respectively.  Both use Pat Nakajima's selenium
    # helper for executing javascript in the tested browser window.
    #
    # For more on that helper, see:
    # http://pivotallabs.com/users/patn/blog/articles/717-run-javascript-in-selenium-tests-easily-
    # ----------------------------------------------------------------------
    
    
    # ----------------------------------------------------------------------
    # with prototype
    # note the exception catching... prototype chokes on invalid IDs
    # e.g., "invalid_id[][]"
    # ----------------------------------------------------------------------
    def assert_unique_ids
      audit_json = run_javascript <<-JS
        audit_ids = function() {
          var results = {};
          $A($$('*[id]')).each(function(element) {
            if(element.id.replace(' ', '').length > 0) {
              try {
                if($$('#' + element.id ).length > 1) {
                  if( ! results.duplicates) {
                    results.duplicates = {};
                  }
                  var count = results.duplicates[element.id] || 0;
                  count ++;
                  results.duplicates[element.id] = count;
                }
              }
              catch(err) {
                // uncomment to capture invalid IDs
                // var invalid = results.invalid || [];
                // invalid.push(element.id);
                // results.invalid = invalid;
              }
            }
          });
          return ($H(results).toJSON());
        }
        audit_ids();
      JS
      assert_equal({}, JSON.parse(audit_json)), 'Expected no duplicate IDs')
    end
    
    
    # ----------------------------------------------------------------------
    # with jQuery
    # additionally depends on the jquery-json plugin:
    # http://code.google.com/p/jquery-json/
    # ----------------------------------------------------------------------
    def assert_unique_ids
      audit_json = run_javascript <<-JS
        audit_ids = function() {
          var results = {};
          $('*[id]').each(function() {
            if(this.id.replace(' ', '').length > 0) {
              if($('*[id=' + this.id + ']').length > 1) {
                if( ! results.duplicates) {
                  results.duplicates = {};
                }
                var count = results.duplicates[this.id] || 0;
                count ++;
                results.duplicates[this.id] = count;
              }
            }
          });
          return $.toJSON(results);
        }
        audit_ids();
      JS
      assert_equal({}, JSON.parse(audit_json)), 'Expected no duplicate IDs')
    end
    

Help Wanted

  • One project recently moved from Rimu to EngineYard, only to find their Mongrel processes double in memory consumption. Any thoughts on why?
  • 0 Shares
  • Share on Facebook
  • Share on Twitter
Pivotal Labs

Speeding up slow Cruise Control response times

Pivotal Labs
Tuesday, March 10, 2009

We use Cruise Control on our Continuous Integration server and we have several ways of getting alerts about the status of the build, including email, RSS and the Cruise Control web interface.

Recently we noticed that the web interface and the rss feeds were taking very long to respond, on the order of 1 minute or more. After poking around, we realized that we had hundreds of serialized builds still on disk.

$ cd ~/OurCruiseDirectory/projects/OurProject
$ rm -r build-*

Then, to make sure this doesn’t happen again, we edited our OurCruiseDirectory/site_config.rb site_config.rb to decrease the number of builds we keep:

BuildReaper.number_of_builds_to_keep = 20

So it appears that the time Cruise Control responses take is directly proportional to the number of builds saved on the server.

  • 0 Shares
  • Share on Facebook
  • Share on Twitter
Mike Grafton

Standup 03/09/2009

Mike Grafton
Monday, March 9, 2009

Help

How do you make a Mac not sleep?

Use the Energy Saver section of the System Preferences.

Interesting

  • RubyMine 749 is out. Many of the existing bugs have been fixed, but a few new ones have been found. Notably, running specs with a “#” character in the describe string has problems.

  • The USPS has a nifty web service for addresses. The zip code lookup (which gives you zip+4) and the address standardization services were found to be useful.

  • 0 Shares
  • Share on Facebook
  • Share on Twitter
Joseph Palermo

Standup 03/06/2009

Joseph Palermo
Saturday, March 7, 2009

Interesting Things

  • If you’re using ack in project for textmate, be sure to edit your .ackrc file to include any non-standard file types you’re using.

  • A project had a dramatic speed up in their test suite by mocking out ActionMailer in tests. Something to consider if your tests cause a lot of email side effects.

  • field_named wasn’t working for us when using Webrat to drive Selenium. Our fork with the simple fix can be found here.

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

Public projects in Pivotal Tracker

Dan Podsedly
Saturday, March 7, 2009

If you use Pivotal Tracker for open source projects, and would like to increase visibility into what your team is working on, you can now do so by making your Tracker project public.

As a project owner, you can enable public access for your project on the Project Settings page, by selecting the Public Access checkbox. The public URL to the project is to the right of the checkbox, in the format http://www.pivotaltracker.com/projects/xxx, where xxx is the id of the project. You can also append a dash to that URL, with a more descriptive name of your project, for example http://www.pivotaltracker.com/projects/xxx-My-Cool-Project.

Anyone you give the project URL to will be able view stories in your project, without having to sign in to Tracker. They’ll also be able request project membership by clicking the “Join This Project” button.

  • 0 Shares
  • Share on Facebook
  • Share on Twitter

Topics

  • agile (780)
  • rails (113)
  • testing (88)
  • ruby (83)
  • ruby on rails (70)
  • jobs (62)
  • javascript (55)
  • techtalk (44)
  • rspec (38)
  • ironblogger (32)
  • productivity (30)
  • activerecord (29)
  • gogaruco (29)
  • git (28)
  • nyc (27)
  • rubymine (26)
  • bloggerdome (23)
  • mobile (22)
  • process (21)
  • pivotal tracker (20)
  • cucumber (20)
  • jasmine (19)
  • design (18)
  • ios (18)
  • webos (17)
  • objective-c (17)
  • android (16)
  • palm (16)
  • "soft" ware (16)
  • fun (15)
  • tracker ecosystem (15)
  • ci (15)
  • cedar (15)
  • rails3 (14)
  • performance (14)
  • bdd (14)
  • gem (13)
  • css (13)
  • tdd (13)
  • selenium (12)
  • goruco (12)
  • bundler (12)
  • meetup (11)
  • railsconf (11)
  • nyc-standup (11)
  • capybara (10)
  • mac (10)
  • mojo (10)
  • chef (10)
  • api (10)
Subscribe to Community Feed
  1. ←
  2. 1
  3. 2
  4. 3
  5. 4
  6. 5
  7. →
  • About
  • Case Studies
  • Team
  • Community
  • Careers
  • 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 >