Integration, Integration, Integration - Sanity for $86.00 a month!
Friday, August 31st, 2007The developers at Powered By Geek are distributed all over the US… Maryland, Utah, Nevada, Texas, New York… you get the picture. When we first started out we had to overcome many obstacles of communication and project management. Our work style is very “open� in that there is no real central point (project manager) on any project, we are adults and as adults we understand the responsibilities we take on and therefore have no need for someone to crack the whip. Sound great right? It is, but with our very open management style it became quickly evident that we needed to track things like requirements, changes, code, decisions in a centralized, organized and easily accessible manner. If things change, the whole team needed to be aware of the changes and decide how that effected them and speak up if reality wasn’t going to meet projections.
So in the spirit of Web 2.0 we looked towards the internet and web apps. So whats the secret? Integration! After trying countless apps and different configurations we finally settled on:
Backpack + Basecamp + SVN + Campfire + Lighthouse + Warehouse + Blinksale
Now before you post about how you like a competitions product or how a certain product sucks, let me first state that I probably agree with you. I have found many things within these products that I would love to change or features in other products I would love to have. The secret however is integration. If it doesn’t automatically update or integrate with the other apps, it just doesn’t work for us. Maybe we are lazy… maybe we are just super efficient… but I found that if the tools weren’t easy and the whole method wasn’t extremely DRY (Don’t Repeat Yourself) then things just got out of whack and things weren’t updated.
The Tools
So let me go over a brief description of each service, how we use it and how it integrates:
Backpack
URL: http://www.backpackit.com/
What: 37Signal’s service to manage an Individual’s To Do Lists, Calendar and Notes
How We Use It: Each developer has their own Backpack account and manage their calendar based on the projects they are assigned to. They can keep their own todo list for any project or just keep notes of things they think they personally need to know about such as a code snippet or idea. This is for the individual and isn’t shared with the group.
How it Integrates: Basecamp (Which we will talk about next) is a project management software from within you can create a project schedule, milestones and deadlines. This schedule is exportable via the iCal format and a developer can import the project calendar for the projects they are working on into their Backpack calendar and recieve email and SMS alerts for their specific criteria. This means a person only sees what they need to see and not project schedules or projects they have nothing to do with.
Basecamp
URL: http://www.basecamphq.com/
What: 37Signal’s service for project collaboration, management and documentation.
How We Use It: All the information regarding the requirements, the project schedule, documentation, time tracking and messages are kept here. We give the client access to the Basecamp project we are working on with them and all “decisions� are linked off of here (whether directly in Basecamp or linked to a wiki or collaborative doc like google docs). There is only one place to check if you have questions about the plan or schedule.
How it Integrates: The schedules/deadlines/milestones are available to the individuals involved with the project in their Basecamp calendars as well as chat logs from Campfire (see below) are accessible from Basecamp, further centralizing all the content about the project. Blinksale’s invoicing tools also sync with Basecamp to track the contacts and jobs so there is no need to double enter when it is time to send an invoice.
Subversion (SVN)
URL: http://subversion.tigris.org/
What: Open source source control software. Free, but you need a place to host this. There are hosted options available if your surf around on the net.
How We Use It: Source control is a must, especially when working with a distributed workforce. Different programmers are working on different components of an application and you want to make sure everyone is kept up to date with the latest and the greatest as well as be able to roll back and document the process. SVN keeps us all on the same page and lets the project manager or customer easily be able to view the latest and greatest of what is going on.
How it Integrates: SVN is very rich in integration. On a very simplistic level you can email all involved parties everytime there is a code change. We also use it to announce into our Campfire chatroom (see below) when updates are posted, when we close out bugs in our Lighthouse bugtracking tool (see below) we reference the code change, with a link to Warehouse (see below) of the code that fixed the bug or issue and we use Warehouse to also allow us to view “diffs� of the code changes so we can see how changes fixed things.
Warehouse
What: Warehouse is a subversion browser software from ActiveReload that allows you to watch your source control repository through the web. It is currently 30 dollars and you purchase it and host it on your server.
How We Use It: We use Warehouse two fold. First not all our clients want to setup the necessary structure to do SVN checkouts of the code. If they are even interested to look at the SVN, they might just want to browse it to get a feel for things (this is particularly useful in larger projects where the customer may want have code checks done by other programmers to ensure everything is going well). We give our customers access to the Warehouse subversion browser and they can view the log of all the updates including comments and the person responsible for them as well as view the code itself. We also use Warehouse ourself to reference code to each other such as when we are referencing it in our Lighthouse bugtracking tool or in our Campfire chat. Since each developer’s environment is different we can’t easily say “check out the code in file c:\Windows\BLAH\new.html� as our development spans many configurations and many operating systems, plus honestly it is just a pain for each person to go searching for the file. With Warehouse since it is a web based app, you can just reference a URL and everyone can click on it and be brought to the same place.
How it Integrates: We use Warehouse URLs to paste in our Lighthouse bugtracking tool to reference code changes in the bug tracking tool like “This bug was fixed. It was a spelling error. Code Change at http://ourwarehousesite.com/code/123891″. This helps keep everything referenced properly so you can easily trace back things if you need to research something. We use the Warehouse URLs in our IM, Campfire and emails to reference specific code or specific code update.
Campfire
URL: http://www.campfirenow.com/
What: 37Signal’s service for chat.
How We Use It: For each project we have a chat room where the customers and all developers basically monitor chat going on about the project. The chats are logged and searchable so anyone can view any of the conversation. This keeps all the developers in the loop and gives a centralized place for all communication. This is of course suplemented with emails, phone, skype and IM conversations, but anything critical that we may want to reference like code pastes or decision conversations we use campfire for.
How it Integrates: Campfire integrates with Basecamp in that from any project you can link into the associates campfire room and search the chats or participate in the active chat. We sometimes cross reference conversations in other aspects of our project management such as “Go to Campfire and search for svn key problem from August 12″.
Lighthouse
URL: http://www.lighthouseapp.com/
What: Web based issue/bug/feature tracking from ActiveReload.
How We Use It: We use Lighthouse to track all bugs/features/issues for our project. We initially chose Lighthouse for it’s super clean, easy and intuitive interface and later grew to love the integration components. This particularly works well when we allow clients to login and monitor tickets as well as submit them. Being web based all our developers can log in from anywhere and check out what is going on.
How it Integrates: Lighthouse integrates with Subversion in two ways. First off references to code can be made directly in the ticket and linked to via Warehouse. This makes research on an issue a one click process. Secondly subversion commits can automatically update tickets without having to go into the Lighthouse app separately, saving time and ensuring everythign is updated. Using a simple formatted message SVN will also go to the ticket and close it out as the commit is made.
Blinksale
What: Simple web app for creating and invoicing customers.
How We Use It: To invoice customers, need I say more?
How it Integrates: Blinksale will read your customer and project information from Basecamp automatically. This means not only can you quickly reference what a invoice is for, but you also save time entering in contact information.
Conclusion
The title of this post is probably a little misleading. 86 dollars is what is costs PBG based on the number of consultants we work with and the projects we take on actively for the software licenses we require. We have existing resources such as a dedicated server to run free software on that I am not counting into the price, but you can easily supplement not having a server for hosted services, such as SVN, for less then 20 dollars a month. Most of the services I talk about here have even a free version of the software which may work for you if you are a small or one man shop. All the prices and configurations are available on the service’s respective sites so check them out and you can quickly estimate your sanity cost.



