January has gone by quickly! Hopefully the new year is already off to a great start for you and your entire team. I’d like to share what we’ve been up to recently, and give you a preview of what to expect in 2013. The Big Picture To put our plans in context, it’s important to understa...
With all these APIs floating around don’t you sometimes wish that apps would just talk to each other and keep us humans out of it. We’re not there yet, but we’re getting close with CloudWork . It’s so straightforward I feel it’s something the Hulk might say – “Cloud Work!, Hulk no Sma...
Pivotal Labs: We Transform Ideas into Software. As a recognized leader in highly disciplined agile software development practices, Pivotal Labs has been building high reliability software for over 20 years. We build consumer and enterprise web and mobile applications for global client...
QUIZ = { question_1: { prompt: "What is your name?" }, question_2: { prompt: "What is your favorite color?", display_proc: ->(color) { "The color is #{color}." } }, question_3: { prompt: "What is your favorite integer between 1 and 5?", choices: %w[1 2 3 4 5] } } answers = {} def simp...
This is the first in a series of short posts explaining what Cucumber is and isn’t. Used correctly, Cucumber can be a tool for great good. Used poorly, it’s an invitation to disaster. KNOW YOUR TOOLS. I’ve been cuking for nearly as long as cuking has been possible. I’ve made every mis...
“What drives me: learning new things, perfecting my craft, working with smart and amazing people, and helping my clients succeed.” —Ian, Engineering Manager “Pivotal is where programmers go to become better programmers—not so much hackers as craftspeople. ” —James, Engineer “Pairing a...
There is an interesting article by Swizec Teller over at Business Insider talking about why programmers do their best work late at night. This is not the case at Pivotal. Generally when we have clients committing code late at night, the team ends up having to refactor it and get tests...
We’ll come to ElementalJS a little later but first I wanted to describe the problem it’s trying to solve. The problem with current Javascript design patterns There seems to be two mainstream ways of building Javascript applications: DOM event listeners with callback spaghetti or full ...
Luis Lavena says:Agree, there is no good reason for that. I believe the argument is associated with packaged gems (vendor/cache) bundled with your application. The other is incorrect versioning (having a Windows gem like 1.2.1.1 while the non-Windows is 1.2.1) I’m still pinging them t...
Patrick Vlaskovits addresses some fallacies around customer development and describes multiple approaches on how to hack "Getting Out of The Building" such that product development decisions can be made with better, higher-quality data.
It's not that designers and developers don't or can't get along. What the team at Redline realized is that they speak a different language. So to facilitate the communication between these two life forms they created this tool It's simple to set up, simple to use and simple to incorpo...
I recently wanted to make it easier for contributors to ActiveHash to test their changes against multiple versions of Rails, with multiple versions of Ruby. My stories looked like this: As a contributor I want to be able to run `bundle install`, then quickly run the suite spec suite a...
Ultimately the goal is to go to a treadmill desk (for reasons outlined here ), but before sinking the money and effort into that endeavor, I'd been meaning to try out a standing desk. It was never really a priority and I was working at a client-site (which inhibited my ability to requ...
(Due credit to Trung Lê 's article on which all this is based) We recently moved our project's CI from a TeamCity server onto Travis CI's new private CI-as-a-service program. We compared several other hosted CI services and found Travis to be the easiest to use, and with the help of T...
Two weeks ago, JRuby 1.7.0 was officially released. Here are a few reasons why you might want to upgrade: Bug fixes JRuby 1.7.0 fixes many compatibility issues with ruby 1.9. Also, JRuby 1.6.8 is no longer being maintained so fixes from 1.7.0 are not getting backported. Support for in...
An easel. A marker. Sometimes the most effective and immediate way to capture thoughts and collaborate is also the most tactile, visual, and simple. But easels and markers have their limitations: information is difficult to digitally preserve, and they don’t scale to large teams. In 2...
I've been working with my client, Unpakt , for a while now. One of their core values is making people's lives easier. They're specifically focused on making it easy for people moving to a new home or office to find a mover, compare prices and book their move online. As a development t...
I'm really excited about a collection of new techniques I've been experimenting with over the past few weeks. They're an evolution of the in-browser design approaches I've been using for the past few years, and taken together they help my team build better designs with less waste in a...
In order to improve the build time of a recent project, we took steps to identify and split out our build based on an emergent testing strategy. I will try to outline that strategy based on things we tried and thoughts we had. In an attempt not to descend into a discussion over tools ...
If you've ever used a UITextField in an iPhone project (or, I suppose, an NSTextField in a Cocoa project) you know that you pass it a delegate object in order to respond to events. Handling the "Return" key press from the on-screen keyboard may look something like this (probably imple...
is a fabulous new tool for Product Managers to manage and filter product development ideas. Now that they’ve integrated Tracker (We’re flattered to be their first third party integration), it’s borderline alchemical, transmuting raw ideas into stories is simple and seamless. What Wazo...
Writing Well-Formed User Stories I've worked closely with the Product team on about a dozen projects in the past few years, and rigorous story-writing is one of the most common areas for low-cost, high-gain improvement. I encourage every team to adopt (or at least consider) these tech...
If you have done any development for iOS in the past few years you have at least some familiarity with ARC . The overall response to ARC since Apple released it with iOS 5 has been little short of orgasmic. You can’t swing a dead internet cat without hitting a blog post from someone e...
As if you haven't found enough excuses to buy a new iPhone 5, here's another: Pivotal Tracker for iOS version 1.5.2 was released today and includes support for the iPhone 5! With the extra screen space, you're able to see an extra story and a half per tab without scrolling: This relea...
Often when working on ruby projects that use Bundler , I see Gemfiles that look like this: gem 'rails', '3.0.15' gem 'rest-client', '1.3.0' gem 'subexec', '0.0.4' gem 'uuidtools', '2.1.1' The string on the right hand side of each gem specification is a fixed version specification. If ...
I've been trying to learn RubyMotion recently, using Ruby to develop iOS appeals to me. I have no prior Objective-C or Cocoa API knowledge besides the basic HelloWorld. I've been using this tutorial and have learned more about Cocoa API faster using Ruby than with Objective-C. There i...
Upgraded to git 1.6.3 yet? You should, and Jason Rudolph says why (and if you're on a Mac, Rob Sanheim says how .) Sadly, after you do upgrade, when you start doing "git push", your console will start to be littered with the following oddly patronizing message: warning: You did not sp...
Today we released the latest Pivotal Tracker iOS app to the App Store. This is a major release that includes support for creating attachments, dynamic iteration calculation, and significant performance enhancements. We have also dropped support for iOS 4.x, which less than half of one...
Airbrake is a great tool for identifying errors generated by other apps all in one place. I guess if you're the offending app you might call it a rat, snitch, stool pigeon or fink - but to the rest of us it's the canary in the coal mine that can save your butt. As of today you can vie...
When you're running East and the project goes West, it's time to reorganize the backlog. This can be painful but Tracker comes to the rescue with multiple story selection and cloning panels. Here's a little cheat sheet! Dan Podsedly covered this in a blog post last year, here's an exc...