Wednesday, September 17, 2008

Creating a Web Application Development Team

What a tangled web we weave

Web Application Development is becoming ubiquitous. Every company, every department, nearly every person is seconds away from creating web content. In addition many of these companies, departments and people are getting into the business of Web Application development. With tools like Google Apps and Blogger users are driving not just the look and feel of site, but their functionality. More sophisticated users are even creating complex content sites using tools like Joomla or Typo.

Many of our clients have Web Application Developers integrated throughout the company. A custom Rails site was built in Accounting for internal use, A blog for high profile clients is hosted on Drupal. Meanwhile a few cubes away, The Marketing department has legacy asp code getting data from a Microsoft Access DB file that was written by a remote developer in Orlando. How can a company manage all these capricious efforts?



Finding Harmony

In the past companies tried to organize Web Application Development as part of the Information Technology department. This rigid structure fails to capitalize on individual efforts and abilities. Recently companies are adapting the organic problem solving approach. Rather than a hierarchical structure, employee's can belong to many organizations in the company, one being the Web Team.



The Web Application Development Team

The modern web team is tied together not by an org chart, but an agreed upon a set of tools and procedures. The web team spans departmental and geographical boundaries using modern collaborative tools. The benefits to standards include quicker start up time for new developers, and minimal knowledge loss from departing developers. Additionally as a company grows these tools and procedures are scalable, and provide additional benefits including better communication within the Web Application Development Teams. Once a web site grows and projects get larger progress is notably slower without good tools and procedures.



The Tools

Key tools we use at AppTrain are
1) Source Control
2) Collaborative Documentation
3) Automated Deployments
4) Issue Tracking
5) Collaborative Project Management


The benefits of Source Control are well documented. Source Control encourages the idea of teamwork. Each line of code is now visible across the Web Team. In addition, redundant efforts are now minimized. The nightmare of supporting three blogging engine's or having five different authentication strategies is finally over.

Collaborative Documentation means getting developers to document things like internal procedures and asset locations (Database Addresses, log ins) in a single shared place such as a Wiki, or even a shared Google Doc called "Procedures" .

Automated Deployments became possible once the Version Control is in place. Not only the deployments can be automated, but any common task in the Version control system. Automation ensures that frequent processes such as test scripts/deployments are run in the same way and under the same conditions every time.

Issue Tracking is simply a shared location for all maintenance and enhancements to be done on a system. The benefits becomes apparent immediately after using, and include quicker issue resolution and the ability to instantly monitor progress.

Collaborative Project Management allows all team members to create goals and report progress and issues. The whole team continuously updates the project plan. Each member has the ability to create and update to milestones, tasks, and shared documentation. As a result, the project plan more accurately represents reality then it would if it were maintained by a single project manager using a desktop tool.




The quickest way to get familiar with the first four of these tools and their benefits is to create free account at Unfuddle. And it's hard to talk about Collaborative Project Management without mentioning the company 37Signals. Their products including BaseCamp have changed the way we think about creating software and working as a team. AppTrain uses a combination of these tools for every project.

Now the exact vendor that a team uses is unimportant. What matters is agreeing on common set tools and solutions that will make the Web Application Team function as a cohesive unit, and improve a company's overall web strategy. Whether your have a small team working together on site, or loosely structured team that traverses several departments and geographic locations, Source Control, Collaborative Documentation, Automated Deployments, Issue Tracking and Collaborative Project Management can drastically improve communication, morale, and overall productivity.

No comments:

Popular Articles