Process_nav_pic

Case Studies

Thompson Automotive Labs

We created a program that when used with an oscillioscope detects inefficient combustion.

"Not only did Rolemodel create this software, but through RoleModel Community, was also able to work with a business consultant, graphic and web designer. It was very nice to have all these options at one place!" 

- John Thompson

Process

We think we've got a great process. But process must be given its proper place. You can have the best process in the world, and produce lousy software. We subscribe to the Agile Manifesto, that points to the importance of people over process. We also subscribe to the view that Software is a craft - part engineering and part artistry - and that a key focus of software craftsmen should be to be proud to sign their name on their work.

Of course, really talented people with good moral character who don't pay attention to process can still make foolish mistakes.

A skilled craftsman wouldn't be considered a skilled craftsman if he constantly let foolish mistakes slip by him. He'd be known for shoddy quality. When working with a team, there are even more opportunities for mistakes to slip through through assumptions about who else on the team should be responsible for some particular aspect of quality. Accountability is key, and process is extremely important to keep the quality up.

The team members at RoleModel have been building software for a broad range of organizations since the 1980s. In our experience, we have seen one thing that remains constant: change. If your project has enough uncertainty that things could change - plan on it.

We know companies rarely initiate projects in a static business or technical environment. For every issue that is well understood, there is another that is uncertain. For every piece of technology that you insert, there may be implications on existing technology or future decisions. If you wait for everything to be perfectly understood and free from the possibility of being affected by change, you will never move forward.

As craftsman, we recognize that a good process must

  • Allow all parties to adapt easily and intelligently to new information
  • Maintain constant communications and accountability
  • Measure success based on frequent delivery of reliable working results

 Process ChartTherefore we use an iterative approach to all that we do.

  1. Draw the picture of the horizon and the target that lies on it, and a rough sketch plan to determine approximate cost
  2. Identify initial steps and take them
  3. Get feedback based on our new location
  4. Continue until goals are satisfactorily achieved... always pay attention, always move forward

We've chosen eXtreme Programming (XP) as our custom software development process because it is built on the concept of accountability for all who participate. Process engineers will tell you the importance of a tight feedback loop and, as you can see by the figure on this page, XP is a process that has feedback at all levels. This enables us to keep all measures of quality high, from the ability to have the customer verify we're building what they need, to the maintainability of the code, to the skill levels of those building it.

We begin our project engagement by understanding your business and its objectives. Next, we break the project into short iterations, tackling high-priority items first. At the beginning of each iteration we identify ways to test whether goals are reached. Whenever possible, we write those tests in an executable form before we start crafting the software. Yes, we write tests before crafting the software. From that point forward, our goal is simple: deliver high-quality, streamlined and adaptable software that meets the requirements necessary to pass each test. We continue this cycle, maintaining open communications until all objectives are met. This allows us to build quality code, with a focus on functionality rather than fixing bugs.

 

Footer_column ©2006-2008 RoleModel Software, Inc