The Development ‘Team’

November 12th, 2010

We’ve all seen, maybe been involved in, an organization where the first tech person , either a co-founder or brought in by the founders, is a front-end developer. On the surface, this sounds like a good idea because it is this person who has the background and ability to develop an application that everyone can see and perform the functionality requested by the founders.

While this may work out in the short-term, it may not work out for the long-term.

To understand this, I think it is important to fully understand what technical and usability factors are critical to the long-term success of a start-up’s application.

  • Functionality – First and foremost, the application has to do what it is intended to do. This is why a font-end developer is brought in. This person can make it happen.
  • Design – The site and application has to be aesthetically pleasing and have an eye-catching, functional design.
  • Performance – The site has to perform well and have good performance. For me, this always starts with the database and includes deciding on a front-end development framework that is solid and capable of growing with the company.
  • Designed and built with both short- and long-term business objectives in mind. While the first build of an application may capture the initial concepts of the founders, the application should also be designed from a functional point of providing an easy path to incorporate the growth concepts envisioned by the founders.
  • Usability – In addition to having a nice graphical design, the site has to be designed from the perspective of the end-user, keeping in mind the ultimate objective of the site, whether it is to make it easy to buy something or to ensure that ads are seen.

Let’s start then by looking at the skill set of the front-end developer. First, this person probably has excellent development skills in the selected development platform, PHP, .NET, Java, etc. He/she also probably has at least decent back-end skills, the ability to query the database and create tables. He/she also probably has picked up a minimum set of graphic design skills and a minimum of business analysis skills to gather requirements for the application’s functionality.

However, from my experience, while this skill set is serviceable, to really build the application that everyone is hoping for, it needs to be supplemented with the skills of some specialists.

  • Performance – While the ability to create tables gets you part of the way, there is a skill to database design that keeps performance, ease of development and incorporates either planned or sometimes unanticipated functionality in mind. In the end, you get an application that provides the performance and solid platform for the company’s growth if done right the first time. To do this requires the skills of someone who has a background in database design and experience doing that. The worst thing that can happen is to have to rip an application apart and start over in a year or so because of a poor database foundation.
  • Site graphical design – We’ve all seen sites that look pedestrian and sites that are eye-catching. The eye-catching sites are done by people who have a background in graphical design and specialize in creating eye-catching sites. You can skimp here, but you can also spend a little money to develop something everyone will be proud of.
  • Short- and long-term business objectives. Again, this is a subtle skill that is gained through experience. We’ve all been involved in projects where an application is developed exactly as specified, but in the end wasn’t what was desired. It is the analyst’s job (whoever may fill this role), to not only hear what is said, but to attempt to get inside people’s minds in an attempt to find out what they are really trying to say. Building the foundation and understanding the functionality from the beginning is a lot easier and cost effective than having to rip things out and trying to incorporate additional features and functionality later.
  • Usability – It is important to take a step back and look at how an application will ‘flow’ from the perspective of an end-user. Again, we’ve all been to sites that were difficult to understand or navigate and therefore left and went somewhere else. There are people and consultancies which specialize in site design from the usability and end-user perspective. It can only help to bring them on early in the process. One note in this area is that I’ve received proposals from firms that specialize in this type of work that have been what I consider to be extremely comprehensive (and therefore expensive) to what I consider reasonable. Therefore, I’ve found that you have to have a good understanding of what you want to accomplish and keep the proposal limited to that, otherwise you will end up with a large bill at the end.

So, for me, I agree, you can start with a top-notch developer. However, the development skills need to be supplemented, and supplemented early, with the skills of some specialists on a project basis to ensure that you get the application and functionality that everyone wants to see as the end result.