Development workflow

I was recently thrown headlong into the middle of a project where the team developing the site was doing a good job, but due to the time constraints from the client, combined with the fact that there were only really two developers on the team with clearly defined roles (modules and theme), time had not been taken to setup a good development workflow that would promote happy (multiple) developers and therefore, a happy client. Read on to see how you too can create a great setup for your development workflow and really help your clients get the bang for their buck, while keeping your developers happy.

Tools of the Trade

Let's start off by listing some of the tools we're using here at Rapid Waters Development.

 

Unfuddle

Unfuddle.com has been my recommended choice of project management, issue tracking, code revision control system and general communications tool for over two years. I first learned about this beauty from working with the extraordinarily talented people @Lullabot when I got my first big gig @SonyBMG.

Project Management

Unfuddle has tools such as Projects, Milestones and Tickets that allow you to setup and manage every aspect of a project. The milestones help keep your team on target with the project. The tickets are a great way to assign bugs to members of your team and go through a verification process once they are marked completed. You can even update your tickets directly from your commit messages when committing code. All of these features are tools to keep your developers happy because of the convenience, and your client happy with the communications.

Version control (all your code belong to us)

Unfuddle gives you the choice of Subversion or Git repositories to use for your projects. The number of projects is limited with free account, but the number of repositories is endless! Well, until you hit your storage limit that is... And as I mentioned before, being able to update your existing issues with your code commit messages is a huge time saver for developers.

Drush (more beer, less effort)

Drush is a command line tool for Drupal that allows you to quickly and easily do many things typical to a Drupal environment. You can download modules, quickly enable and disable them, create features for use with the features module, and generally get a lot of the redundant tasks your typical, everyday developer encounters completed more quickly. Which of course leads to a happier developer and a happier client when the developers are using their time more efficiently.

Freshbooks

This is a great utility for keeping track of your time spent on client work. Not only can you setup your developers with a way to track and report their time, but you can also link up subcontractors in order to report their time through their own accounts on your project. You can even give out a login to the client so that they can log in and see exactly how you are spending your time so that there are no surprises when it comes time to bill. They can view who did what and get detailed notes on the tasks (if you provide them of course).

Development Workflow

Now that you have an idea of some of the tools that can be used in your workflow, allow me to go on and tell you how we at Rapid Waters have been using them to create a workflow that helps promote our sanity as well as the client's. Here's a few topics I'll go over in this series of articles.

  • Basic development practices
    • checking out drupal
    • checking out modules
    • upgrades
  • Custom site module
    • Panels/Views exports
    • Form alterations
    • Database change techniques

// comments

  • Jerad Bitner's picture
  • Title
    Chief Technology Officer
    Bio

    Jerad is our co-founder and CTO, and has been using Drupal since the nightmare upgrades from 4.6 to 4.7 (that's early 2005, if you're asking). He started out as a Technical Illustrator with C/S Group and worked for three years with Photoshop, Illustrator, AutoCad and Macromedia products as well as PHP. When it came time to replicate a platform across the different locations of the company, Jerad found Drupal and hasn't looked back since.

    With 5 contributed modules and thousands of contributions to Drupal, he has gained many friends and an excellent standing within the community. He enjoys participation and helping out in any way he can, but enjoys learning most of all.

    Jerad has been on the teams at Sony BMG (now Sony Music Entertainment) and LifeTime Digital where he had the opportunities to work with some of the best minds in the Drupal community. Being a part of these awesome teams has helped lead him to where he is today. An avid reader, biker, hiker, and drummer, Jerad brings an energetic drive to the team and a wealth of knowledge that is helping lead them to more productive, satisfying lives.

// add comment

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <br> <hr>
  • Lines and paragraphs break automatically.

More information about formatting options