Jacob Kaplan-Moss

Tag: Software

Estimating Software Projects: Breaking Down Tasks

Something missing from this series on estimation, until now, has been a discussion of how to “break down” a project into a well-defined task list. I’d not previously written about this because, to me, it’s largely intuitive. But it isn’t for everyone, so this post fills the gap, and explains in detail how I break down projects into a task list.

Quality Is Systemic

Software quality is more the result of a system designed to produce quality, and not so much the result of individual performance. That is: a group of mediocre programmers working with a structure designed to produce quality will produce better software than a group of fantastic programmers working in a system designed with other goals.

Estimating Software Projects: So you messed up. Now what?

You’ve made and committed to a timeline, but your estimate was wrong. The timeline’s going to slip. Now what?

Estimating Software Projects: The art of the SWAG

Sometimes, it’s more important to be able to produce a quick estimate than it is to produce a good one. In those cases, reach for the SWAG: the Simple Wild-Ass Guess. To a large degree making a (good) SWAG is an intuitive process, but I’ve tried to unpack what’s happening in that short moment and give some thoughts about when a SWAG is appropriate, and how to give one.

Estimating Software Projects: My Software Estimation Technique

Last time, I explained that, although estimating software project timelines is hard, you should do it anyway. With that background, I want to go into some detail and share the technique I use when I need to develop a project timeline. I don’t believe there’s a single “correct” technique; this is one system that works well for me. However, my system does have one critical characteristic that I believe any effective estimation technique should have: it captures both time and uncertainty.

Estimating Software Projects: Software Estimation Is Hard. Do It Anyway.

It’s well established that estimating software projects is hard. This is true, but you should learn how anyway.
May 20th, 2021 • estimation software timelines

Help desk software?

I’m looking for some help-desk style software with some very specific features:

  • Users create new help requests by emailing a [email protected]-style email.
  • There should be some sort of concept of “support queues” with each queue having an associated email address. So there might be a “sales” queue by emailing [email protected], a client-specific queue at [email protected], etc.
  • New issues (i.e. new emails) get automatically assigned to one of a pool of support staff. The bare minimum would be a round-robin or random assignment from the pool. Bonus points for some sort of rules engine (“emails from @example.net get assigned to Joe, Jane, or Jeff”). Double-bonus points for a PagerDuty-style calendar-based rotation system.
  • The primary interaction should be via email. Follow-up emails cc’d or sent to the support email get appended to the ticket. Ticket numbers in the email itself is OK; smart subject matching would be better.
  • Staff members get a web dashboard with the standard stuff: issues assigned to me, open issues, closed issues, etc. They can also mark issues as resolved, etc. A configurable workflow would be nice, but non-essential.
  • The system needs to be very good at keeping multiple support staff in sync. So everyone in the support pool needs to maybe get cc’d on all follow-ups? Or at least be able to see the whole thread in the web interface.
  • The users — the people sending the issue — don’t need access to the web interface. In fact, they probably shouldn’t have it. Assume that issues are sensitive and shouldn’t be shared with other reporters.
  • Open source is preferable, but access to the data is non-negotiable. So if it’s self-hosted it needs to store data in a standard way (relational database, probably), and SaaS is fine only if there’s a read/write API.

It feels like this has got to exist, but so far I’m unable to find anything that Just Works out of the box. I’ve tried some general-purpose issue trackers (Bugzilla, Trac, RT), but in each case they’d take lots of custom work to support the workflow I’d want. FogBugz looks like it’d work, but it’s prohibitively expensive. Zendesk was far too web-oriented.

March 4th, 2011 • help desk software

Professionalism

Yes, it’d be nice if contractors kept up to date on the progress of the various building codes. They don’t. There are a lot of people who asked about the building codes in the 1970s and were told (right or wrong) what they were. So they went ahead and learned their trade, build their homes, and chose watching a DVD or spending time with their kids over watching city council do battle over asbestos insulation. Now all of a sudden they’re told that their work isn’t up to code any more. Some waiting and gnashing of teeth is to be expected. What’s needed is less “boy, aren’t I smarter than them” snideness and more “Hey, here’s what’s up.”