Our Project Management Stack
We’ve already tried a bunch of project management/issue tracking systems: (Pivotal Tracker, RedMine, Basecamp, Podio).
In one way or another, they always seemed lacking some features, confusing or just a pain in the rear :). If a tool was good enough for project managers, it turned out to be confusing for developers and vice versa. It is extremely important for us that developers enjoy using a certain toolkit since as a result they do a better job.
GitHub
In the beginning we mostly used SVN and Beanstalk, but over the last 1.5 years we’ve completely switched to Git. Simultaneously, we’ve started using GitHub for project management as our developers have been very enthusiastic about it as a code management tool. Read our previous article on the topic.
GitHub has proven to be an excellent option for project management and issue tracking.
Bringing benefits for each team member, GitHub has become one of the best tools for hosting code, managing projects, and facilitating project communication.
GitHub is definitely developer-oriented. The first thing developers see when opening a project is the code repository and the README file below. It’s a good practice to have this file at hand. Here are a few things we usually include there:
- a quick project overview
- info on how to quickly get started developing
- an outline of the development/deployment process
- environments
- configs
GitHub has quite a simple issue tracking system. You can:
- refer to issues (issues can be associated with each other by simply placing an issue number within another issue)
- add labels (meta data) to your issues (but honestly we do not like to use them)
- attach code to your issues (refer to an issue number from a commit message; thus you know if something has been implemented within a certain issue and you can review the exact piece of code)
- easily write using advanced markdown syntax
- create milestones for grouping issues within time spans (sprints, backlog, other versions etc.)
- benefit from pull requests = code + issue + code comments (useful for peer review and helps to keep the quality of code up to the team’s standards )
- find anything you need (issue titles, descriptions, and comments are all indexed. If someone wrote something, you can find it).
GitHub has an activity stream which shows you everything important happening within your project so that you can easily and quickly track progress.
GitHub provides a Git-powered wiki system that we use for every project. It’s clonable, usable offline, and accepts a variety of text formats.
A couple of decent examples to better understand the concepts:
Code reviews. GitHub allows you to have a detailed discussion about each and every commit that is pushed to your project. offshore centre . Should it be included? Is it done correctly? Should something else be added? Talk about all changes made to your code with everyone involved before releasing or incorporating them.
Other small yet very useful things about GitHub:
- receive email notifications and reply via email directly
- use iOS/Android apps
- address particular collaborators directly and only they will be notified (start typing “@” and you’ll see suggestions)
- use smiles (start typing from “:” and you’ll see suggestions)
- generate image thumbnails; just type ‘![alt text](image path.jpg)‘ and you’ll see not just a link but a thumbnail; with Dropbox, ‘![](dropbox url?dl=1)‘ you have to add extra param in the end ?dl=1
Besides all the above mentioned, GitHub is extremely secure, fast and stable. To be honest, we have faced a couple of downtimes, but at least we were able to get related info on a special status page.
Dropbox
If you don’t use Dropbox, you’re really missing out. ;) It’s often seen as the best shared network drive of the millennium. Nothing to set up, it works across firewalls, brilliantly easy to use, insanely cheap. If they go public one day, I’ll definitely buy the stocks :)
We use it for sharing all our project files: graphic assets, UI mockups, documents, screenshots, videos, DB dumps, etc.
Instead of uploading everything into Basecamp and worrying about logins or tagging, you just drop your items to the folder you share with the project team. That way, when someone updates the shared files you are instantly privy to the changes. If you have well documented processes / instructions, Dropbox can come in very handy for sharing all documentation with new team members. In such a way they can quickly jump in, learn what they need to know and get moving without distracting the teammates.
Skype
To begin with, our phone number +1 (424) 625.5131 is actually a Skype number, we use Skype instead of regular phones. If someone is calling us, you’ll hear Skype ringing on each of our computers. When one of us answers, the other computers become silent. How cool is that?
We internally use Skype for:
- our daily catch-up meetings across all projects,
- quick files sharing,
- instant messaging (it’s better to discuss certain things in chat without disturbing other team members),
- group chatting, e. g. development “war rooms” (we usually have group chats for every project),
- screen sharing (seeing team members in person, sharing emotions, showing whiteboards, interviewing, etc.).
If I were to name one piece of software released during the last 10 years that has changed the world we live in forever, I would probably choose Skype.
Google Docs
Google Docs allow us to effectively collaborate in real-time. Multiple users can edit documents simultaneously, discuss changes and revisions on the go.
It’s a super efficient way to “get together” to brainstorm.
What we use Google Docs for:
- work breakdowns,
- time/cost estimates,
- time reports,
- project scope outlines.
Balsamiq
We love creating basic design in Balsamiq. It’s so lightweight and fast that we can iterate wireframes really quickly. Once we know what the layout is, we can re-draw it in Illustrator or Photoshop (if needed), work on the colors, fonts, and styling.
What we extremely love about Balsamiq is that it limits your choices – you only have one font, a few colors, and a list of elements.
It makes you concentrate on the layout, not on choosing between helvetica or lucida, pink or blue.
Those of you who might want to take your wires and add a springboard into the code infrastructure can try the Balsamiq add-on called Napkee: it takes your .bmml file and can either generate a set of HTML, CSS and Javascript files, or a Flex Builder 3-ready project (web Flex project, or AIR). Pretty neat!
Droplr
I’ve mentioned earlier that our primary tool for file sharing is DropBox. But sometimes you just need to quickly do a screenshot, share it with your teammates and then it becomes useless. Droplr handles this problem simply. It’s a little app for Mac/Windows/iOS/Android/Linux that allows you to share short and secure URL links for files, images, notes or screenshots.
You can delete files immediately after sending without storing them on your device. It’s speedy and handy, and we love Droplr.
And what do you use? Feel free to share your favorites!