This blog post is partly motivated by Joel Spolsky’s article that was written ages ago (actually 10+ years is “ages” in Twitter scale and you gotta be hiding under the rock if you haven’t heard of him, well never late than never). Joel’s post is as effective and relevant today as it was then – “The Joel Test: 12 Steps to Better Code“. If you haven’t read it yet, I urge you to do so right now and then you may come back here (which I doubt you will, because you will be unable to move away and stop reading that blog).
While developing software applications me and my team (total 5 team members) have often come across the threat of losing time, energy and direction in the pile of – tools available these days, design and development approaches possible and the fact that communication itself become a barrier when the team is spread over 3 continents.
We understand well that there are no single answer to these types of issues and the solution should be guided by the nature of the problem the software application is attempting to solve. In our current project which is a SaaS based application and geared towards educationist, school/campus directors/principals we have adopted specific tools and methodologies for it. I want to keep track of these tools/approaches & challenges so that I can keep coming back to these in future to analyse which one of our decisions made sense, which ones failed and then learn, rinse and repeat.
At a high level our biggest challenges is the following – Global Team + SaaS design/development + Lean Startup Methodology. Though we are leveraging these for all kinds of right reasons but they do bring their own challenges to the process and hence need equally innovative tools and open mind to internalize them. The challenges that we face also stems from our internal resistance to adopting these new set of tools instead of the traditional ones we have worked with in the past. This specially applies to the notion of “market first and build later” which has been the most difficult to accept.
In this post I’m only going to share about the tools we have decided to live and work with for our current project. In future posts I’ll share more about the specific business problem we are trying to solve, our customer discovery successes/failures, the bumps and falls along the SaaS design/development adoption path, our resistance for lean startup approach (which still continues) and how we are learning albeit painfully slowly that there are no shortcuts to success (this may sound obvious to many but is really hard to accept). Actually I have begun to realize that this journey to so-called “success” is more about learning from failures, understanding and introspections about those failures and moving on, in the hope of not repeating the same ones twice. That’s it.
Resources we checkout everyday, read regularly and subscribe to
- Lean Startup Book
- Ash Maurya’s blog
- CodeSchool - An excellent high quality interactive technology/programming learning portal
- RailCast - Another excellent source for high quality, in-depth Ruby/Rails tips/tricks by Ryan Bates
- Railslab – A super cool resource for advanced Rails stuff .. monitoring, tuning & optimization etc.
Idea capture and brain storming
- Pen and Paper (best tool)
- 3M Self Stick Wall Mount Paper Writing Pads & White boards - How do we use these during our Skype video sessions is hilarious. I’ll record and post a video of it at some point :-). If you know of any better simple and cheap alternative please do share.
- Intuit Wacom Bamboo Tablet - Very helpful to quickly share our doodles across the seven seas
- Skype Video - We have paid account since it allows multiple people, I think max is 6. We rely on Skype heavily.
- OooVoo - When Skype doesn’t work we use OoVoo, but it isn’t very stable specially when some of the attendees are not in the US, it automatically disconnect about every 2 mins then.
- Google Chat - Browser based not GTalk widget. This is the light weight option for quick audio chat.
- Join.me - Best tool ever, we have used Skype, WebEx, AIM, TeamViewer but now have settled on this little gold nugget for screen sharing and web conferencing. You know a tool is great when you don’t want to share it with anybody, cause you fear that it will become overloaded or will lose it’s innovative edge. This tool is THE BEST tool we found in 2011, hands down. We didn’t read any reviews about this tool, never heard of it before, just starting it using it and never looked back. It just works.
- Eclipse - In our past lives when using Java we were using Eclipse, we have continued to do so even for RoR but we are moving away from it slowly and slowly in favor of some light weight IDE’s or just simply Editors
- TextMate - the best text editor on Mac
Project, Task and Document Management
- Basecamp - We use it like many other startups. We love the ease of task management, central document sharing etc. However developers in our group are gravitating towards Google Docs.
- Google Docs – We want more realtime collaboration and so we are slowly shifting towards Google Docs. Being geeks it is easy for the team to work with it. We are loving it.
Wireframing and Protoyping
- Mockflow - We use this tool extensively for all kinds of wire-framing and early prototyping. We tested various tools but settled on this. This is a bit more advanced in functionality and features than gomockingbird and balsamiq but it suits our needs better than those tools, specially for globally distributed teams. It also has a desktop version which is helpful when offline. This tool has been very helpful in fleshing out the idea before we started to code.
This is our ToolBox as of Jan 2012 that is helping us to move ahead. As we move forward I’m sure this list will change and there will some addition and deletion. I’ll keep posting them here.
What are the tools in your war chest? Do you believe that good tools make a difference in the productivity of teams?