Core Values
History
Resumes
Contact
 
Fixed Price Software and Systems Development
System/Module Testing
Consulting Strategy
Why hire us?
email
more...
 
Software Development Process Improvement

Every company has slightly different needs for their software development process. Even within a company, no two software projects can be handled exactly the same. Each project has different requirements, risks, resources, and technologies. Even the level of quality needed for each project is different. Some projects are designed to last ten years and some ten days.

There are proven practices within the software engineering discipline that can be applied to your company to improve your software quality and lower your development costs.

See an excellent article about problems using a cookie cutter approach like Rational Unified Process (RUP). Let MicroTools help you evaluate your current software development process and tailor these proven practices for your company. We can help independent of the current state of your process.


 
SEI Capability Maturity Model

The Software Engineering Institute of Carnegie-Mellon has developed the Capability Maturity Model (CMM) to help companies evaluate their software development process. The model defines 5 levels of organizational 'maturity' that indicate effectiveness in delivering quality software. It is geared for large organizations such as U.S. Department of Defense contractors. However, many of the QA processes involved are appropriate to any organization, and if reasonably applied can be helpful. MicroTools can help you with this first stage of process improvement through process evaluation.


 
ISO 9000/ISO 9001

We are not ISO 9000/9001 experts. However, we have helped two organizations become certified for ISO 9000/ISO 9001. In both cases, they used projects that we did for them as examples of a well controlled software process.

Click here to find out more about how we did this.

Call us today to let us help you become ISO 9000/9001 certified.


 
Written Specfications and Procedures

Documented specifications and written procedures, policies and guidelines are essential if you are going to be able to repeat past success and avoid repeating past failures. MicroTools can help you create the following essential documents:

  • Software Engineering Procedures and Policy Manual
  • Software Requirements Documents
  • Software Design Documents
  • Interface Control Documents
  • Software Test Plans
  • Software Coding Standards
  • Software Release Procedures
  • Configuration Management Procedures

If all of these documents are not in place for your organization on each project, you are probably operating at Level One of the CMM - ad hoc chaos which occasionally leads to success.


 
Code Reviews

Code Reviews are a must for every Software Engineering organization. See an excellent article about Code Reviews by Jack Ganssle.

Not every company is as clear about Code Reviews as Jack and there are a lot of misunderstandings about this proven practice:

  • When you apply them
  • Who should be involved
  • Should all code be reviewed

While the principles are the same, the ideal application for your organization is unique. MicroTools can help you find the correct balance for your organization.

Can't find time for Code Review? Try using the Extreme Programming methodology. We use this here and find that sometimes this eliminates the need for code review while speeding up the design, coding and development process. Like any methodology, when used with a sledge hammer people and projects get crushed. So don't try to use this as a silver bullet against software failures. Read more about this at the following web sites:

Don Well's Site www.extremeprogramming.org

Ron Jeffries' Site www.xprogramming.com


 
Continuous Improvement

A goal of every Software organization should be:

  • to be ever improving in quality and efficiency
  • to continually incorporate new technologies and better tools into the process

 This can only happen with continued vigilance of the process.

  • Are procedures being followed?
  • Are metrics being evaluated? (If you can't measure it you can't control it)
  • Is quality improving?
  • Are we competitive world wide?
  • Are the customers content?

Let MicroTools help you attain and maintain a CMM level 5 organization where

  • project performance is predictable
  • quality is consistently high
  • the impact of new processes and technologies can be predicted and effectively implemented

 
Why Use Linux for Real Time Embedded Systems
Guidelines for Creating Robust Embedded Systems: Part 1 - Introduction
How to Select a Real-Time Embedded Systems Consultant
How to Grow Your Software Engineering Department
How to write a software requirements specification
How to Write a Software Process Procedures and Policy Manual
Principles of Software Driven User Interface Design for Business and Industrial Applications
If it's not tested, it doesn't work!
more...
Click here...