10 Tips for Running Successful Software Projects with Teamwork
We’ve been making easy to implement software at Teamwork.com since we started our consultancy 100 years ago back in 1999. We’d like to think that, at this stage, we’ve gotten pretty good at it. Teamwork Projects is very flexible and we use it every day to manage all our software development projects. Over the years, we’ve devised some techniques for running successful software projects with Teamwork.com that you may find useful.
Plan Out Your Project with Messages, Notebooks, and Links
When we start any major software project, it inevitably involves a lot of planning and research. We use messages when we need to have a back-and-forth discussion about the best way to do something. We use notebooks when version control is important. And we use links to reference external sites and resources. Along with these, we find it handy to set up similar categories for all of these resources in advance and to always assign items to these categories.
Pro Tip: You can drag and drop notebooks, etc… to the sidebar categories.
Use a Separate Task List for Each Phase of the Project
You’ll need to break your project into manageable chunks based on the resources you have (or it’ll feel like you aren’t making any progress). Typically, at the start of a big project, we have task lists like “Phase 1 Dev”. Later, when a project is in production and we are doing weekly sprints we name them something like “Week 14, 2015”. We assign a milestone to each task list so that all tasks will inherit the milestone due date – then we get the satisfaction of marking the milestone complete. It’s a nice touch to give milestones meaningful names like “Phase 1 – User can log in and view orders”.
Create Task Lists for Bugs
Topper’s first law of software development says that it’s impossible to write 10 bug-free original lines of code. To manage our bugs, we recommend creating two task lists: “Major Bugs” and “Minor Bugs”. It is imperative that all bugs must be fixed before development work can proceed. This is the key to high-quality software and is something we learned the hard way over the years. A major bug means stop everything and work on this – right now! It’s easy to let this rule slip when you want to get features developed, but you’ll be doing yourself a disservice. Trust us, fix bugs first.
Pro Tip: Fix bugs reported by customers first. The misaligned pixels bug in the Settings menu can wait.
Pro Tip: Log every single bug you see.
Log Bugs from Customers with Teamwork Desk In production, your support team can streamline bug resolution by instantly creating a task when a bug report comes in. The flow goes something like this:
A ticket comes in from John saying the user CSV import doesn’t work with his sample file.
Mary, your Support Superstar, answers John saying that we will look into it. She creates a task right there and assigns it to the development team. The ticket is marked “on-hold” which means we’re working on a fix.
The dev team fixes the issue. It was useful that they were able to view the original support ticket and sample CSV file directly from the task listing page.
With the task fixed, the ticket automatically becomes “active” again and it is back in Mary’s inbox.
Mary tells John that the issue is fixed.
Use Task List Defaults to Save Time
If you edit a task list, you can set “Task List Defaults” under the “Advanced” tab. This is beyond useful when you are almost always assigning the same properties to a task. The mobile apps also pick up on these defaults.
Pro Tip: When typing a task, you use shortcuts like @name to assign the task to somebody, +notify to send a notification email, ~ to set an estimate which brings us to the next tip…
Set Estimates on All Development Tasks
You’ll get a good feel for the project and the resources you need if you assign an estimate to every task. They key thing here is: only the developer who is working on the task can set the estimate. Not the owner, not the boss, not the manager…Only the poor dev who is going to do the actual work.
Pro Tip: Developers tend to underestimate and not account for Murphy’s Law so, in your head, multiply the time by 1.5
Log Time on Every Task
As the developers work through the tasks, they can use the task timer to log how long each task has taken. This is fantastic to see how completely inaccurate your original estimates are. Eventually, you’ll get better at putting more realistic estimates on tasks.
Pro Tip: There is a very handy Desk Timer App available for the pros. Yes, it’s free.
Pro Tip: The iPhone, iPad, and Android apps also have very handy timers built-in.
Create a “Future Improvements” Task List
It happens all the time, you’ll be in the middle of something and some amazing new idea will pop into your head, write it down on this list and get back to work. There’ll also be amazing features you really want but which just have to be culled for the version 1 MVP release. You can review this list with your support team and product leads to decide which features to work on next.
Use Teamwork Chat for Internal Chatter We give you a completely free, no catches, amazing chat client with Teamwork Projects. It’s insanely useful for sending quick help questions, sharing tips or files, and notifying each other about events, and so on. You can get it from the Teamwork.com Teamwork Chat page. Did I mention it’s completely free forever for unlimited users with no catch? We’re simply hoping it’ll help spread the word about Teamwork.com’s awesomeness. Oh, and with the latest release when you post a link to a project task, message, notebook or link you’ll see this sexy preview.
Use Templates for Projects & Task Lists
You can make great use of Task List templates when you have standard procedures for things like testing or roll-out. Simply set up your template tasks lists in
Settings > Templates and you can easily apply them on your project, saving time and getting you organized.
Finally, a really nice time-saver is to set-up a project called something like “Template: Software Project”. Set it up with the task lists and categories you need most of the time (e.g. Major Bugs, Minor Bugs, etc…). Then, when you want to start a new project, you can make a copy of this project to get off to a flying start.
We hope that you will benefit from these tips, all of which were used by us when developing Teamwork Desk. Every organization is different so some, none or all or these may work for you. If you have any suggestions of your own or follow up questions, just leave a comment. Thanks for using Teamwork!