I was on my way into the city to teach video game development. Grant and I have been professional colleagues now for a little over a decade; we first met when I was doing freelance, through a bot I had written to scan craigslist ads and send my design CV out with a single line that read, "In response to your craigslist posting". (At that time he needed some help with the Atomic Clock site which was written in php (CodeIgniter))). - Best client that little bot ever found me.
That was a long time ago. Today I'm happy to refer to Grant as good friend as well as a professional colleague. We share values and ethics, and we're both really passionate about our work. Grant is also, (hands down) the most talented producer I know. His work is just the best of the best and his portfolio is absolutely incredible.
Even though we've worked together many times over the last ten or eleven years, doing a small website contract for a company like Calibre Creative would normally have to be a pass for us at Liftlock. We're still in startup mode and really need to keep focused on the video game industry, Calibre Creative isn't directly in alignment with this industry. However, we will use their service in the future for our own marketing needs & Tariq had some availability (he was also a little excited at the idea of a website project to "recharge and re-engage on").
With a talented member of the team willing and able to put the time and care into the project that it would need, we took it on.
Yes! A "good" client can make a difference, we've all heard stories of (or experienced first hand) clients that just frankly don't have their shit together. The same thing can be said for having good processes, or tools, or talent. But it's been my observation that what REALLY makes or breaks a project is the communication. The communication between the studio and the client AND the communication between the talent in the studio itself.
Grant is an amazing client, this is why the only thing that could have prevented us from taking on this gig was the availability of the talent 'in house' to give this project the time and attention it deserved. Grant and Tariq both understand the importance of clear communication. Even though they never needed to communicate directly to each other. That was part of my role on this project. It's important to keep the designers and developers (Tariq had both hats on) focused on their actual work and the iterations of the project (we use a loose scrum methodology), while ensuring that the client is seeing the momentum, getting the content you need and providing feedback along the way.
At Liftlock, we utilize kanban boards in a very straight forward manner. We run shorter projects (like this one) with only four columns. "Backlog" is for all the individual tasks that need to happen and this is the only column that new tasks can be added to. "Sprint" is the tasks that we want to get done in the iteration we're in (the designers or developers choose the duration they want an iteration to be), and once we start an iteration, nothing else gets added to it. "In Progress" can have only one thing per team member in it at a time and helps me (or whoever is wearing the project lead hat on a project), know whats being worked on by whom so that we can keep the conversations intelligent and to the point. And the "Done" column is for things that are ... well, done.
Ideally and in a perfect world, everything would just move forward, obviously thats not what happens and tasks sometimes get shuffled back and forth between "Sprint" and "In Progress". There are even times when something that was slated for an iteration gets bumped down on the priority list because something else thats shown up in the "Backlog" would effect it. We don't hold grudges or point fingers at this stuff, it happens. We try to remain observant of whats left (even outside the current sprint) so that we don't waste time building, designing, coding, or testing something that doesn't need to be done. (which can still happen from time to time).
We also use git, even on small projects that only have a single person working on them. (like this one). It isn't uncommon for Tariq to do 30 or so commits with 25 or so pushes to the repository in a sitting. I don't micro manage the time of the people. I do encourage everyone to try and get 12 "poms" done a day (I'll discuss the Pomodoro Technique below with the technical details), but its a target not a requirement.