Field Guide: Feature Development

Communication is one of the most important aspects when developing a new feature for your product or service. Whether it's internally with the folks at your company or externally with your customers, Basecamp can help.

In this guide, we'll show you an example of how a software company can use Basecamp to keep their team informed and on track during the entire feature development process.

πŸ”₯ Hot Tip: This is guide shows one way to approach product management and feature development. Check out Shape Up for all the details on how we create Basecamp features from pitch to ship at 37signals.

Jump to:


Projects

Projects are at the heart of Basecamp. For feature development, you could consider having three separate projects: one for the company-wide announcements, one for the team building the feature, and another for customer feedback and feature requests.

A screenshot of a user's home screen showing two project cards titled

In this example, we use a Project stack for all the new features that we work on. This helps things stay nice and tidy. Home screen organization, like stacks and pinned projects, is personal to each user, so your Home screen won't be seen by anyone else in your team. A truly custom experience 😌

Let's take a quick peak at the Script Happens HQ and Product Feedback project setup πŸ‘€

The Script Happens HQ project is a where you can announce upcoming features to all the folks in your company/organization so they know what's to come, what's being worked on, and what has already launched.

A screenshot showing the Message Board and Chat tools and the

The Product Feedback project:

A screenshot showing the Message Board, Docs & files, and


Now, let's open that New Features 2024 stack to see the projects within:

A screenshot of an open project stack showing three projects titled

Here's how we've got that Time Tracking project set up:

A screenshot showing the Time Tracking project with the following description

We'll dive deeper into the project tools used in these examples, but first, we should go over how you add people to your projects!

πŸ’‘TIP: If you find that you use a similar set up for your feature development projects, create a template for them to save you time!


Adding people

In the examples above, the projects are all set to "All-access." This setting will allow anyone from your team to join at their discretion. But sometimes, you'll want your team in the projects right away. When that's the case, you'll want to manually add all the folks like we did in the Script Happens HQ and Product Feedback projects.

Any project that's "All-access" will have a label on the upper-left corner:

A screenshot with a spotlight on and an arrow pointing to the

Here's how it looks when folks join from the project directory:

A GIF showing a user click the

They can also join by accessing any link from the project:

A GIF showing a user named Jessie click

πŸ“ NOTE: If you're working with clients, they won't be able to join All-access projects like this. They'll need to be manually added to the project instead.

Now, we can learn a bit more on the project tools used in each of these project examples πŸ€“


Project Tools

Each project in Basecamp has a variety of tools to choose from: Message Board, To-dos, Chat, Card Tables, Schedule, Docs & Files, Doors, Email Forwards, and Automatic Check-ins. Some projects won't need all tools, and some will need multiple instances of the same tool β€” for example, two Card Tables.

Here's the tool setup for the Script Happens HQ project:

A screenshot showing the Message Board and Chat tools and the

Since this project's goal is to keep everyone in the company/organization updated on new features, only the Message Board and Chat tools are turned on.

The Message Board is where the new features are announced internally and you'll notice that the title of the Messages are updated to communicate the status of the feature (e.g. from Soon to Launched):

A screenshot of the project's Message Board with three posts in view:

The numbers located to the right of each message indicate how many comments were made on a post β€” they change only when someone adds or deletes a comment. At a glance, you can see that the Time tracking feature had the company talking!

πŸ’‘ TIP: Not looking to write an entire comment? Use a Boost instead!

Curious to know all the changes that happened in a Message Board post? You can always check its change log in the more options menu "β€’β€’β€’" located on the top right of the post:

A screenshot the

The Chat tool allows folks to chat casually on anything feature-related. Users won't receive a notification for every chat line, only when:

  • They're are @mentioned
  • There is a new message after chat has been idle for 6+ hours

Not interested in receiving notifications for those new messages? Click the "Notifying" button located on the top-right to turn those off:

A GIF showing a user click the

πŸ“ NOTE: If you send a chat line after you've turned off the Chat notifications, your notification setting will change back to "Notifying."

Now, let's check out the Product Feedback project setup:

A screenshot showing the Message Board, Docs & files, and

The Message Board here has just one Message letting people know what and how to use the project. And for clarity, the Chat tool was renamed to "Customer comments."

This project is also making good use of the Docs and files tool:

A screenshot of two folders titled

There are two different folders β€” one for customer feedback and another for feature requests. The setup here is account-wide so everyone will see the same layout (unless they're clients).

πŸ’‘ TIP: Looking for a way to view your documents or folders in a carousel? You can do so like this 🎠

And lastly, here's how the Time Tracking project looks:

A screenshot showing the Time Tracking project with the following description

The Message Board here also has just one message β€” to announce the feature's pitch. And because we mentioned the Message Board post from the Script Happens HQ project, we see it referenced under the that Time Tracking Message like this:

A screenshot with a spotlight on the

This project also uses two Doors β€” one that redirects you to Github where all coding happens, and another redirects folks to the company announcement:

A screenshot of  a Door to Github and a Door to the

πŸ’‘ TIP: If a Door leads to a service that requires a password, you'll want to get that information to your team β€” you could even add it in the Door's description!

Next, you'll see that the project uses both the To-do and Card Table tools:

A screenshot showing a To-dos tool with the Hill Chart turned on and a Card Table tool with 37

Both To-dos and Card Table are for tasks, but the types of tasks will determine which tool to use.

To-dos are generally best suited for tasks that are more binary, e.g. here's 12 individual items to get done. When those items are done, you can check them off. There isn't a need to track the progress of the work being done β€” it's similar to any to-do/reminder app.

Card Tables are generally best suited for work that moves through stages or phases, e.g. here's a request that comes in, let's consider it, then move it through a pre-determined workflow, and track it at every step.

For this project example, it makes sense to use both, but not all projects will use both and some may not use either (as seen in the other two projects discussed here).

πŸ’‘ TIP: Visualize your to-dos with Hill Charts πŸ‘€


Communicating with your team

As previously mentioned, communication is so important when developing a new feature. Especially, when it's time to rope the folks that will share the new feature announcement with the world β€” updating the marketing website, writing blog posts, creating social media posts, adding help documentation, and so on.

Basecamp makes it easy to communicate in a way that works best for you and your team. It's always a balance of not too much where its overwhelming and not too quiet where things fall through the cracks.

  • Chat Tool: This one is key to ensure all (at least most) communication is related to the project β€” it's turned on in every project example in this guide for a reason 😏
  • Pings: These are private conversations that aren't necessarily tied to a project or it's a conversation that isn't pertinent to the whole team. You can create a Ping with one person or with a group of folks. Now, it's not possible to edit the folks in a Ping so if you'd like to have the flexibility to add (or remove) users to a conversation, you'll want to use a Project's Chat tool instead. Feel free to create a project and just have the Chat tool turned on πŸ’‘.
  • @Mentions: This is the feature you'll want to use when you want to draw someone's attention to a specific discussion, message, or any project item in your projects.
  • Groups: Similar to @mentions, but you'll use this when you want the attention of a group of folks, like @designers, @support, @programmers, etc.

Keeping yourself and the team updated

Just about everyone has their own preference on how they want to stay looped in on a project. Because of this, Basecamp allows you decide on how you stay updated.


We hope this guide helps you use Basecamp get your new features from pitch to ship. And if you need any help along the way, you can check our learning center and help pages, join our Community, or reach out to us at Support.