The purpose of this post is to provide three simple guidelines by which you may judge the effectiveness of a custom website development firm. Although this guidance is most appropriate for software development, the principles also apply to custom website development.
A Common Problem
Hiring a custom development firm for your project can be a daunting task. Years in business have illustrated the fact that many development firms usually run over time and over budget. A promised three-month window becomes six months; six months becomes a year, and so it goes. (See Gartner June 2012)
One large organization I recently consulted with confessed to having a project overrun more than a year and thousands of dollars in personnel and other costs. I have discovered this to be a common problem.
The issue really centers on the lack of quality processes, including the development of proper project specs, quality development methods and customer status updates with effective client communication. The corollary is the promise of price. Often companies focus on bargain developers lacking the quality processes and customer communication skills necessary for good outcomes.
To go down the path of the bargain developer too often leads to the outcome described above, which is to say one or more years down the road with an unfinished or a sub par product and an unhappy customer.
How can you screen web developers with the objective of making a sound selection? Here are three key factors to consider:
3 Key Factors
1. Does the developer first engage for a Blueprinting or Define/Design Phase?
2. Does the developer employ Agile Development Methodology?
3. Does the developer provide consistent status updates in one to two week intervals?
Let us briefly review each of these with the objective of arming you to make a wise selection.
1. Define and Design
Some years ago my wife sketched out the plans to our house. Although our custom design and much of the finish work led us to a reasonably happy ending, we have agonized for more than a decade over critical design flaws and (hindsight has revealed) head-scratching mistakes. The problem centers around going to a draftsman vs. a true architect. Today, we would gladly pay the $5 grand plus for a proper architect to have drawn up her sketches!
Similarly, quality websites and software start with quality architecture. Even with a reasonably well-thought out statement of work (SOW) or requirements document, expert architects will pose critical questions which will cause stakeholders to question former premises and refine their functionality and logic. One must also remember that the documented dreams and visions of you the stakeholder must be written in a way which helps the actual coders to follow the flow and user experience, not to mention include proper functionality.
A Define and Design engagement may include deliverables such as a detailed Product Requirement Specification or PRS, Functional Maps, Wire Frame Mockups and of course, a more accurate estimate of final costs to completion.
Consider the “large organization” I alluded to in the beginning of this post. While the name is not revealed, it applies to many organizations. This particular organization had no detailed PRS or functional maps. The result? Two years later, the project was not finished, the development team could not articulate when the project would be finished, and only 80% or less of desired functionality had been completed.
Be wary of the web design firm or developer that will give you an “all-in” quote without a proper blueprinting phase, and proper blueprinting cannot occur in a 30 minute sales meeting.
2. Agile Development
Agile Development Methodology is to the programming world what Henry Ford was to the manufacturing industry. It is the quality process and control model for development. Ask a web design firm or developer, “What about Agile Development Methodology? How do you employ it?”
Here are some key knowledge points: User stories tie in with the blueprinting phase mentioned above, and are a method of creating an effective PRS or blueprint. Here’s a basic user story layout: “As a <role>, I want to be able to <goal>.” For example, “As an online bookstore visitor, I want to be able to click a button and quickly see store employee favorites.” A good designer and developer will employ user stories.
Scrum is an agile methodology commonly employed. The Scrum process works well for projects with in-flux requirements. Since almost every project experiences scope creep (growth in the list of project requirements) and change as time progresses, this methodology creates an adaptive development environment.
Scrum development is executed through a series of iterations called sprints, which are traditionally in one to two week lengths. In this model, each sprint begins with a brief (i.e. effective – economy of expression) planning meeting and should always conclude with a review.
The progress of the scrum team is reported on the burndown chart. The Scrum Master – the coach responsible for guiding the team in this agile process – can use these charts to measure the velocity of the team for better project estimates.
Unlike another method referred to as waterfall, Scrum agile development has testing built into the process vs. a build-it-then-test-it model. Scrum is more of a test-as-you-go philosophy.
If you’re concerned about a quality result, your selected designer or developer had better employ a quality process.
3. Client Communication
One of the critical components of Agile, but which deserves attention on its own, is the client status update. Your developer should propose a method to update you frequently. This is obviously important so you can see the progress of your investment, but more importantly it is an opportunity to provide feedback and ensure the design team is heading down the right path.
Usually these updates occur in one to two-week increments and will be set up, if not face-to-face, with a web-based meeting via WebEx, GoToMeeting or something similar.
Long experience has shown that quality client status updates, scheduled at regular intervals, provide a quality result.
Your website design project represents an investment not only in dollars but in man-hour resources within your company. Selection of the right designer or developer, the one that can bring your vision to reality, is critical!
In review, one can conclude that quality website designers will employ the following key factors:
1. A Define/Design or Blueprinting Phase
2. Agile Development
3. Consistent and Quality Client Status Updates and Communication