When you get into the rhythm of pushing new features through the product development lifecycle, it can be addictive. Theoretically every new push brings more customer value, so why not keep going? Restated, when should you stop writing code and put your efforts elsewhere? If you assum...
On the Tracker team, I love hearing great stories about our users and the things they are able to accomplish using agile methodologies and collaboration. I’m also a woman in tech and have a keen interest in supporting other women as well as other diverse groups who work persistently t...
The Cloud Foundry team is looking for a great technical writer to join us in creating an awesome user experience on our open source platform that transforms how the world deploys and scales software. You You love explaining how technology works. You believe that the word “technical” a...
Two tenets of Pivotal are continuous integration and coding if you’re in front of a computer. These goals can conflict when you’ve just wrapped up a story and are about to push to a staging environment – while your final tests and deploy are running, you can’t modify your Git working ...
“Google search results are data viz,” said designer and coder Sarah Nahm who came to visit the Pivotal Labs design team for lunch in San Francisco. Sarah visited us with her colleague and friend Ian Johnson , creator of visualization environment, Tributary . Sarah, Ian work closely wi...
“Rails is slow, but Rails tests are slower.” Rails may be slow, but I’m here tell you that it’s likely you have only yourself to blame for your slow test suite. I’ve seen some bad test suites in my day. I was once pulled onto a rescue project that had a total build time of over 24 hou...
Continuing to play around with Ember.js I wanted to draw some charts. I’ve used flotcharts with great success in the past but since it’s just a jQuery plugin it is obviously unaware of ember’s amazing data binding capabilities. Flot requires you to pass in an array of datapoints every...
RubyMine is great for launching focused rspec tests, but is a little trickier for launching Jasmine specs, but we have had it working on my current project using a shell script and RubyMine external tools . The script relies on using sed to parse the first line of your spec file, so t...
Dan Podsedly manages Pivotal Tracker, Pivotal Labs’ award winning project management and collaboration software. Dan has been building large applications since the Smalltalk era, and has been a practitioner and coach of agile programming methods since the earliest days of Extreme Prog...
No Driving on the Shoulder Graham Siener Tuesday, June 4, 2013 (it seemed appropriate to have a cheesy marketing image here) Keeping your Boss[es]’ Ideas in the Right Lane I’ve been talking with a lot of Product Managers making the transition to adopting agile methodologies. An intere...
Over the last several projects, we have chosen to commit to the construction and maintenance of a live style guide as part of the development process. However, the reasons in each case have been varied, and I’d like to give a quick rundown of these cases with some benefits and pitfall...
One of the issues to content with when considering versioning is often building APIs requires more thought up front that an agile developer might be used to. URIs, Data structure, meta-data and extensibility are important and would be best considered up front. Once those decisions hav...
We take collaboration seriously around here, as you may be aware. For developers, it’s pair up or go home. For designers, it’s not that easy. While there are some great models for design pairing , the practice isn’t widely adopted in the industry, and clients don’t always see the valu...
At Pivotal Labs, we spend most of the day pair programming. The typical setup is an Apple iMac with a keyboard and mouse for each developer. We’ve been using the 24″ iMacs for a while, usually with a second 17″ display off to the side. But all our new machines are 27″ iMacs, and those...
A talk by Jacob Maine about collecting, analyzing and presenting very large amounts of data. Introduces the problems of big data, mentions some of the relevant technologies and gives a bit of advice about designing solutions.
There are particular tropes that come up again and again when pairing. I’ve decided to canonize a few as comics. Enjoy!
While working on AwesomeResource , I needed to implement functionality that would make the following test pass: it "creates readers and writers for any attributes passed in during initialization" do article_class = Class.new do include AwesomeResource end article = article_class.new("...
It is a time-honored tradition for Pivots to blog about their first few months at Pivotal. A typical day at Pivotal is strong work. It’s different from any previous job. It’s exhausting. After six weeks or so, however, the Pivots find their rhythm. I’m not going to write any more abou...
Anyway, I am working in a little project with a friend and we decided to use ember on it. First thing we implemented was authentication. This is a very simple problem with several solutions. We want to use devise . A very simple one is to rely on the devise’s engine and just make it a...
This week I decided to clear out the cobwebs of my Ruby-trained brain and try a completely different language. Ruby and Rails have been my staples for over seven years, and I’m starting to tire of my patterns of thinking, and of the common problems found in large Rails applications. S...
In the design world, a river runs between the consultants and in-house designers. I’ve worked at big start-ups, small start-ups, corporations, newspapers, non-profits and universities, and I have hired consultants myself. Having been on the other side, each job unique with its own cha...
This post is pair-authored by David Friermor and Nina Mehta Traditionally, pairing has benefited both pivots and clients improving productivity and quality of output. We want to see if design pairing is a way to move creative, collaborative work forward. We define design pairing as wh...
“I’ve been looking for a couple months for the right third-party tools, and couldn’t find them, so I decided to make my own.” said Brian Noah from eGood . We love and admire that initiative in our users, especially when they build something this cool. The app he had to build is called...
Ensure consistent, professional and effective customer support Make customers feel good about getting in touch and using Tracker Investigate and respond to customer support tickets, community forum posts and tweets (in writing, as we’re not currently set up for phone support) Answer q...
Oh the age-old ‘should designers code?’ debate again. Nope! I pushed the matter further last night at Pivotal’s Extreme Roundtable meetup in LA. I asked, ‘how involved should designers get into code?’ and ‘Should developers design?’ In a room of 7 developers, the latter surprisingly g...
Software development teams that aim to be more “Agile” often pick and choose the pieces of an agile methodology that suit them. For some reason standup is usually picked first, way before addressing their waterfall ways. I guess it’s because it’s hard to do “retrospective” but easy to...
The year is 2005. I’m one year out of school, and a year into a job doing PHP web development at a small development firm in Dallas. A co-worker tells me jokingly about extreme programming. He laughs about the absurdity of pair programming and writing tests. Another developer goes rog...
Meetings are crucial to healthy team communication. But they’re also opportunities for waste, occasionally dull, and always expensive. Every team is different, but continuing the theme of “Convention over configuration for process”, I’ve found the following structure keeps meetings to...
As developers, we create, update, and delete files all day long. Managing files from the command-line is one of the first skills we learned. However, constantly switching from your editor to the command-line to execute a simple file command, a command you’ve probably executed thousand...
Interesting Anecdote: Today, I was with a customer trying to debug cruisecontrol.rb. He uses NetBeans (which was the GUI debugger I referred to above that was pretty nice). However, we couldn’t get the debugger to breakpoint after a couple of minutes trying, so we used ruby-debug, whi...