The StoneHenge blog

Opinions, insights and occasional rants on IT consulting

The difference between success and failure

Mike RodebushEvery company has worked on some projects that were a great successes, and some projects that weren't as successful. What makes the difference? Why do some projects succeed while others fail?

At StoneHenge we believe that our Nimble Methodology and our people make a huge difference.

Four keys to success

We believe there are four keys that make a successful project:

1. Documentation. We follow a very disciplined process for gathering and documenting requirements. At times this can be painful for the customer because we asked a ton of questions that force decisions early in the project. But it is completely necessary if you want all things known and documented before construction begins.

No stone is left unturned and ambiguity is removed and every last detail fleshed out. This results in a Requirements Specification that clearly documents the system that the customer wants and that we are going to deliver.

2. Measurement. Second, we used an accurate tool for sizing and scoping projects. Instead of gathering a team of developers over pizza and talking through how long they think it will take, we use Function Point Analysis applied to a detailed Requirements Specification. This results in an accurate sizing of the project and number of hours the project will take to execute.

The result is an accurate estimate that allows the team the time needed to do the construction, and implementation.

3. User-centric. Third, we kept a constant focus on the end user and the experience they will have using the tool. We have skilled user experience architects that are responsible for laying out detailed wireframes for every piece, making sure the end result is something that would be very intuitive for the end user.

More often than not, without this approach, you end up with forms that aren't laid out the way the user is use to working and many changes are required.

4. Disciplined. Fourth, we believe in disciplined project execution. We like to have a firm grip, before a single line of code is written, on exactly what the customer wants and how it functions.

The project is broken up into a series of iterations. Within each iteration, a business analyst first creates use cases. Those use cases are then passed to the architect who would do the detailed technical design, and to the tester who would write test cases. The technical design is passed to the developers who code the iteration. Notice that, before the first line of code is written, we have a thorough understanding of what the customer wants, how long it's going to take, and how we are going to build it. Once the iteration has been constructed, it is passed to the tester for testing against the test cases.

These iterations are staggered in such as way that the business analysts goes immediately from iteration 1 use cases to iteration 2, and so forth.

Also, the customer begins seeing some results as the tester is testing so they can inject change orders into the process if there are changes they would like make from their original requirements. The methodology had processes built into it for handling these change orders and adjusting the schedule and pricing accordingly.

These four steps, which are integral parts of our process, help ensure a successful project. The development team feels like they have produced a great product and the customer is pleased with the results. The successful project boils down to the use of a detailed, time proven, project methodology.

If you're interested in learning more about this, give us a call.

Print friendly version.

©2010 StoneHenge Partners, Inc. | 401 S. Boston Ave., Tulsa, OK, 74103 | (918) 971-1999