Sign-in
Monday
08Feb2010

Bug Tracking in LiquidPlanner

I get a lot of questions about how to use LiquidPlanner for (or in addition to) bug tracking software.  We have LiquidPlanner customers doing both, depending on the nature of their team, the systems that are already in place, etc. Several customers are using our API (still in beta) to integrate with GitHub, Jira, and Bugzilla. Internally, we use LiquidPlanner and only LiquidPlanner for filing, tracking, collaborating on, and verifying bugs & incidents.

Why? At the end of the day, we want to track bugs along with the rest of our work—in our schedule. Bugs need to be assigned, estimated, and prioritized alongside our project work, based on their severity and impact. We fix bugs (new and existing) in every release of LiquidPlanner, and since LiquidPlanner is the one system we all look at every day, it doesn’t make sense for us to track them in a separate system.

But how, you might ask, does it actually work? Here are the gory details.

First, we have a single place to collect new bugs.  They all get saved to a tasklist called “UNTRIAGED,” which is the central holding place for new bugs, feature requests, ideas, and tasks until we can process them (Figure 1).  This tasklist lives in the “Prioritize” view of LiquidPlanner; each item is also put into a folder on the “Organize” view for proper categorization.

 Figure 1

For us, bugs come to our attention in a variety of ways. They might be reported by a customer via email, found during the testing process or through our normal use of the tool, or sent to us as a system alert.

To get these items into LiquidPlanner, most of us use email integration. This “UNTRIAGED” tasklist has its own email address, which we’ve all added to our address books. When we mail an issue into LiquidPlanner, we automatically create a new “task” for tracking.

Using the subject line of the email, we can:

  • Name the bug (usually it starts with “Bug: XXXXX”)
  • Assign the bug to any member of our workspace
  • Estimate it in any unit we want (2-4h, .5-1d)

The attached documents and body of the email (including screenshots, repro steps, or error messaging) get saved to the collaborate page of LiquidPlanner, ensuring that all relevant details stay with the item as it goes through our workflow.

Next, we have twice-weekly meetings to process our “UNTRIAGED” bugs. During those meetings, we review every new item, and assign, estimate, and prioritize it. Some bugs get moved into the current sprint, others get pushed into the staging sprint or out to the backlog. If a new bug is assigned to a developer, they get notified via email and it shows up on their prioritized tasklist.

We typically structure the work in each release into several major categories, one of which is “Bugs.” This allows us to view, analyze, and report on them as a group, separate from other tasks like new features or tech debt. However, as you can see in Figure 2, the amount of work associated with bugs is non-trivial – hence our interest in tracking them in conjunction with our other project work!

 Figure 2

 Figure 3

All comments, collaboration, updates, and files associated with the bugs are stored on the collaborate tab. This includes references to specific customers who may have been affected.  Sometimes this information can pile up, but since the most recent comments, documents, and links are added to the top of the list, it’s pretty easy to stay on top of the latest happenings for each item. We also have LiquidPlanner integrated with our source control system, so that applicable references/commit notifications are automatically added as comments to the bug.

Finally, once the bug has been fixed, we assign it back to the creator (or a tester) for verification. By simply switching ownership of the task, we can move it through an informal workflow that doesn’t bog us down in process. (The person who created the item is also notified by email that they have a new assignment.) Once the fix has been verified, the item is marked done and becomes part of our (fully searchable) archive for later reference.  Voilà!

Naturally, you can argue that LiquidPlanner lacks some of the features of a dedicated bug management system. I’ll give you that. But what it lacks in dedicated features it makes up for in ease of use, simplicity, and integration into our other processes.

What could we add to LiquidPlanner to make it a better tool for tracking bugs in addition to your regular project work? We have some ideas (such as custom columns & item types) but we’d love to hear yours.

Monday
25Jan2010

A SaaS Cocktail: 12 Ingredients for Running Our Business

The other day, I was looking over our list of customers with our new VP of Finance and noticed that quite a few SaaS companies (like us) were on the list. It got me thinking about all of the various SaaS products we use to run our business…and it turns out to be a pretty long list. Some of these we stumbled upon and have stuck with because they just work. With others, we evaluated multiple options and finally took the plunge.

Of course we take advantage of some internal systems (like for source control) and use some installed applications (like MS Office and Quickbooks), but by and large we are very dependent on online software. And by and large we’ve been very happy with the service, performance, price, and feature set of these tools.

So if you’re looking to start a business (or just thinking about converting over to more web-based software), we recommend you check out some of the following.

Operations

Email Exchange Hosting: 123Together

The website leaves something to be desired, but 123Together does a decent job with hosting our Exchange 2003 email. Most of us use Outlook for access, but the webmail version is always available if we’re logging in from other machines.

Virtual PBX: RingCentral

Truth be told, we only recently got land lines installed in the LiquidPlanner offices. Up until then, we used our personal cell phones to receive calls forwarded from our 800 number. We each have an extension (plus general extensions for Sales, Support, Billing, etc.) and we can easily set the behavior we want for each line. Call forwarding is a no-brainer, and we can pass responsibility for answering the phone to different people when one of us is out of the office.

Website Hosting & Content Management: SquareSpace

This is a new one for us. We used to use Joomla, but frankly, it sucked (at least the version we had).  It seems like we could barely change simple copy without involving a developer. Charles researched and tested SquareSpace himself, and it looked to have almost all of the features we needed. During the implementation process we ended up doing quite a bit of custom coding, but the platform itself is robust and the team very responsive. Look for another blog post soon on this with all the details.  

Project Management, Bug Tracking, Document Storage, Collaboration: LiquidPlanner

This pretty much goes without saying. We’ve been using our own software to build LiquidPlanner (and run the rest of the projects in the company) for three years now. We keep all of our project plans, documents, dialogue, links, and timesheet data in LiquidPlanner. We also use it for bug tracking, which works quite well, so we don’t require a separate system for that. We can’t imagine managing projects any other way.

Sales

CRM: Salesforce

We shopped around quite a bit before deciding on Salesforce since it’s the most expensive tool in the mix. We looked at SugarCRM, Highrise, and a few others. Ultimately, Salesforce was the closest to what we needed. We’ve integrated it with our own internal administration tools, so we can get customer contact information and usage data (like trial expiration date and number of users –not actual project data!) from Salesforce without having to login to a separate system. But we pay for that convenience.

Online Demos: Acrobat Connect

Adobe Connect is my lifeline to the outside world.  We have three separate accounts – one for support, one for sales, and one for biz dev/media. We do all of our demos/Q&A sessions, etc. using this tool. The only drawback I’ve found is that you can’t record the sessions for playback later.

Customer Feedback: Survey Monkey  

We use Survey Monkey (the paid version) for collecting customer feedback at various points in the trial/usage process.  I’d like to take better advantage of this tool, but we just haven’t had the time yet. Ease of use is big here – anybody on the team can create a survey (or analyze results) in minutes.

Marketing

Email Marketing: Constant Contact

We use Constant Contact to send our new feature announcements and customer updates, usually about once a month or so. They’re good about making sure you’re following all the SPAM rules so your emails actually get through. Templates aren’t the easiest things to set up, but I’m able to copy and modify past emails to get new ones out the door pretty quickly.

Website Analytics: Google Analytics

For our size company, Google does the job well when it comes to Analytics. They’ve beefed up the service recently and I need to explore some of the new features, but we can get good data from the tool and use it to inform our marketing strategies and understand what’s working. I like being able to get a sense for how traffic is looking, where it’s coming from, and what search terms are performing well in just seconds (that’s usually all the time I have). Charles, on the other hand, likes to stay up late into the night pulling different reports and sending nuggets of information out to the rest of us.

SEO: Google Webmaster Tools, SEOMoz.org

I hesitate to list these, because I touch them so infrequently. But having them there when you need them is important. And dedicating more time to SEO is one of my new year’s resolutions.

Advertising: Google AdWords

We don’t spend a lot on marketing or advertising. Thankfully we get tons of traffic on word of mouth and natural search results alone. But along with a few other campaigns here and there, we do run some PPC ads on Google, with the help of the very talented folks at Confluence Digital.

Support

Incident Management/Help Desk*:  This category gets an asterisk, because we don’t have a SaaS solution in place. Not using yet, anyway.  We’re thinking about using Zendesk – we’ve gotten some great recommendations for it (one customer even integrated LiquidPlanner with it!) and we’re ready to graduate to the next level. We welcome any comments about people’s experience with it or other tools.

So that’s the current list. At the end of the day, we love cloud software. And we hope LiquidPlanner is loved by other teams like ours.

P.S.: one more installed product I can’t live without – SnagIt by Techsmith. A must have for marketers.

 



Thursday
21Jan2010

Buffers and The Mac Tablet: One Thing is Certain

Mac fans around the world are anxiously awaiting next week’s big announcement from Apple.  Those fanboys among us are eagerly looking forward to seeing a healthy Steve Jobs finally descend from Mt. Cupertino to deliver the fabled MacTablet/iSlate to the masses.

One of the qualities that makes Apple somewhat unique in the technology landscape is that they’re not very keen on vaporware. I can’t remember the last time Apple announced a new product without committing to a rock solid delivery date. When introducing the first generation iPhone a few years ago, consumers could pre-order the phone the day it was announced and could expect delivery the same day the product became available on store shelves.

In the eyes of Apple, this is more than an expectation. It’s a promise. Imagine for a moment that next week Apple announces the new iTablet and tells the world that they can expect to lay their grubby little paws on the device promptly at 9AM on April 1, 2010. Now imagine that just a few weeks prior to the anticipated ship date, they say, “oops, we were just a bit off in our estimates. Turns out it won’t actually ship until April 15th.”

How many hundreds of millions of dollars do you think would be shaved off their market cap? While the next few days will see endless speculation regarding which features this tablet/slate might or might not include, I can guarantee you one thing: it will ship when Apple says it will ship.

Few companies currently have as much at stake when it comes to calculating a project ship date as does Apple. And when so much is riding on estimating the delivery date for one of the technology industry’s most anticipated products, how do you go about picking a ship date with 100% confidence? 

Obviously, I have no insight into how Apple manages their project plans but I think it’s a safe assumption that their product managers rely heavily on project buffers. These cushions of time provide teams with a measure of consolation when they don’t have a firm grasp on how long a given task might take (especially true when it comes to tasks that have no precedence). When bringing an entirely new innovation to market, you can imagine a project plan that is overloaded with such buffers. But because these buffers are really nothing more than arbitrary chunks of time, they only account for one side of the exit date equation (i.e., the worst case).

So yes, with enough project buffers you can set a promise date with a reasonable amount of certainty. But by overloading a project plan with buffers, you end up with a schedule that is stiff and unable to respond to market dynamics. This is one of the hidden benefits of incorporating ranged estimates into project planning. By accounting for both the best- and worst-case scenarios – which is especially powerful across an entire portfolio of projects – you can realize the best of both worlds while setting realistic promise dates.

On what date do you think the MacTablet will ship? Leave your best guess in the comments and we’ll give the winner (the first to post the correct date or the closest to the correct date)a $25 iTunes gift card.



Wednesday
13Jan2010

Backstory on LiquidPlanner iPhone App

This is a cross post from Deep Focus Technologies, our development partner on LiquidPlanner's iPhone App.

Delivering projects on time with LiquidPlanner? There’s an app for that.

With the possible exception of the equator, everything begins somewhere. – Peter Robert Fleming

The Beginning

It was the beginning of the summer and I was sitting with Charles Seybold and Jason Carlson of LiquidPlanner to discuss the possibility of building a mobile application to support their SaaS project management system. It was fun to be working with Charles and Jason again — we’d worked together at Expedia while they were incubating the ideas that would lead them to leave Expedia and create LiquidPlanner.

From the beginning, the passion for the product and the details came through and we quickly sketched out and talked through an initial design for the application and the API (currently in beta) that would sit behind it to provide access to LiquidPlanner.  The team had a solid vision for what they wanted the app to do both in the initial incarnation as well as over time. Following the principles that launched LiquidPlanner, we focused on the functionality to deliver in version 1.0.

I headed back to the luxurious offices of Deep Focus Technologies, to work on turning the white board sketch into an initial set of wireframes so we had something more concrete to visualize.  More discussion, refinement, and a schedule in LiquidPlanner and we were ready…

The project got the green light and I began work in earnest.  Back at LiquidPlanner, Brett had a super-early release of the API — we were almost ready to begin hooking things up.

The Technology

LiquidPlanner’s REST API is as easy to use as any REST API, but developing the app was made easier by a few of pieces of software upon which I relied heavily.

The first was my data framework.  For most of the summer I had been developing an application using sqlite3 on the iPhone that supported CRUD within the standard UI framework.  The application hasn’t been released yet, but the framework that sits under it keeps finding its way into released code.

The intention of the framework was to support a variety of data providers, all rendering and providing update facilities through a common set of code.  The first test: was the framework able to support a REST API instead of sqlite?

My display framework combined with Justin Palmer’s httpriot, had me up and talking to the LiquidPlanner APIs in less than a day.  Basic functionality quickly took shape, and over next several weeks the application became began to resemble the things we had planned to build.

Also extremely useful for developing this type of application was the combination of Todd Ditchendorf’s HTTP Client, Tuffcode’s HTTPScoop and some Apache request forwarding trickery.  This setup was my x-ray vision, allowing me to manually play with requests, as well as inspect the traffic to and from the iPhone emulator as it ran my code.  This visibility was invaluable as it could easily expose problems in the application’s messaging.

Working With the Team

LiquidPlanner has retained some of the habits that initially made our former employer what it was — rapid execution, focus and eating your own dogfood. This time, the dogfood was both the application and the API supporting it.  There are always challenges when working toward a moving target.  We used LiquidPlanner’s built-in chat feature and tasks to communicate changes, drops and track work items including a specific set of work items, rumored to exist, apparently called defects.

I enjoy opportunities to work with small, focused teams. There’s an experience of progress that doesn’t exist everywhere.  It seems that people who live in that world every day might sometimes forget what the rest of the world is like, but I doubt they’d want it any other way. Everyone focuses on the goal and there is little to get in the way of progress.

As the work progressed, I would spend a couple of days in LiquidPlanner’s offices, focusing closely on user feedback and interactive design/development sessions.  The rest of the week I was meeting with other clients or working at my home office.  Either way, the schedule required to run my business and make the expected amount of progress on the project required occasionally being out-of-sync with LiquidPlanner’s office hours. I relied on the information in the LiquidPlanner system to maintain connections between where I was and where others on the project were going.

As the milestones passed, the application became increasingly more functional.  The work and tracking I once did on the web app was soon working on the iPhone.

The software development process at LiquidPlanner revolves around the product; it is the product. Team uses the system to store documentation, for tracking defects and to constantly chatter about what is happening. They use it for tracking releases and making scope decisions as the work moves beyond the time allotted for the current sprint. The system has become the center of their process, and the iPhone app was designed to become a growing part of that evolving system.

The tool supported functionality throughout the business. Chatter between PR, sales and marketing communicated status on projects in progress.  Creative brainstorming and tasks for upcoming blog posts had their own places and schedules.  Work in progress and work waiting for a future start was all there. If there’s work to be done, it finds its way through the system.

The Release

We developed and tested the app until we had the initial product goals finished and submitted it to the app store in October.

The only thing more rewarding than watching something grow from some scribbles on a whiteboard to a released product in a short period of time, is knowing that customers are using that software to make their projects easier to manage and to help their people be more productive.

- Matt, DeepFocusTechnologies.com

Monday
14Dec2009

LiquidPlanner Holiday Release - something for everyone

It's been a very busy year for LiquidPlanner and we've enjoyed getting to know and serving so many new customers.

We really appreciate all the positive feedback, tweets, and dialog with the user community since it helps us learn how to build even better project management software.

In the spirit of appreciation, we offer our December software update (a.k.a. "Sprint 22"). It's a virtual holiday gift basket full of new features straight from the customer wish list.  

For team members: a new calendar view

And that's just for starters, there's more...

Click to read more ...