Get personal for quality

Although organizational capability is important when it comes to programming control applications, individual capability is critical to a quality product. It is not uncommon to see 10 to 1 differences in errors per thousand lines of code between the best and worst software developers, and the best and worst development teams.

09/01/2005


Although organizational capability is important when it comes to programming control applications, individual capability is critical to a quality product. It is not uncommon to see 10 to 1 differences in errors per thousand lines of code between the best and worst software developers, and the best and worst development teams. Because the process with the lowest quality determines the quality of the end product, fewer individual errors result in more predictable releases and higher productivity.

The Software Engineering Institute's (SEI) Capability Model is good for helping an organization develop software on time and on budget, however it doesn't provide a lot for the individual control engineer or development team. Fortunately, SEI developed two additional processes—personal software process (PSP) for individuals to improve their personal processes and team software process (TSP)—to help development teams improve.

Watts Humphrey, the "2005 National Medal of Technology Laureate," developed PSP. Most professional engineers strive to improve the quality of their work and PSP shows software professionals how to approach their tasks in a professional manner. PSP brings a rigor to personnel processes by defining how to measure your own performance, track changes, analyze problems, learn from mistakes, and update personal processes based on lessons learned. TSP brings the same rigor to software teams.

It is easy to fall into bad habits in software development. Everyone makes some mistakes during development, but few systematically learn from the mistakes so as not to repeat them. Yet, learning from mistakes and improving the process is the basis for quality improvements. For example, you may find that, during unit testing, you are consistently discovering the same errors, such as un-initialized variables in C, reuse of latches in ladder, incomplete detailed design, misspelled variables, or an incomplete understanding of the proper control algorithm. PSP teaches you how to learn from these mistakes and modify processes to reduce or eliminate future errors. This might involve earlier testing of smaller elements, external reviews, or earlier code walkthroughs. It is up to you to change your development process to remove the source for errors or find them earlier.

SEI provides a self-study PSP manual. This is not for the faint of heart; improving your own work is a long process, but worth the journey. Improvements don't come easily, especially if you have been designing and implementing software your own way for a long time. The self-study guide works best when you are working on one or more large projects. It requires you to keep measures, through logs of all stages of a project (planning, designing, coding, compiling, testing, and maintaining). The logs allow you to establish a quality baseline; measure estimates of sizes, resources, and schedules; and practice defect and yield management.

The reward for this hard work is better ability to meet commitments by correctly estimating and planning your work. Engineers taking PSP training have reduced schedule estimating errors from an average of 350% (work took 3.5 times longer than expected) to less than 10%. Total defects per thousand lines of code were reduced by more than 75%.

TSP provides similar process improvement tools to team managers focusing on self-directed teams. It stresses team development of schedules and estimates. Software managers are considered coaches that motivate the team to maintain a focus on quality and excellence. TSP provides tools to help manages follow the process, gather data, analyze results, and make corrections. PSP and TSP together provide a basis for quality development.

Additional information is available at www.sei.cmu.edu/tsp in the paper "PSP: A Self-Improvement Process for Software Engineers."


Author Information

Dennis Brandl, dbrandl@brlconsulting.com , is the president of BR&L Consulting, a consulting firm focusing on manufacturing IT solutions, based in Cary, N.C.




No comments
The Engineers' Choice Awards highlight some of the best new control, instrumentation and automation products as chosen by...
The System Integrator Giants program lists the top 100 system integrators among companies listed in CFE Media's Global System Integrator Database.
The Engineering Leaders Under 40 program identifies and gives recognition to young engineers who...
This eGuide illustrates solutions, applications and benefits of machine vision systems.
Learn how to increase device reliability in harsh environments and decrease unplanned system downtime.
This eGuide contains a series of articles and videos that considers theoretical and practical; immediate needs and a look into the future.
Sensor-to-cloud interoperability; PID and digital control efficiency; Alarm management system design; Automotive industry advances
Make Big Data and Industrial Internet of Things work for you, 2017 Engineers' Choice Finalists, Avoid control design pitfalls, Managing IIoT processes
Engineering Leaders Under 40; System integration improving packaging operation; Process sensing; PID velocity; Cybersecurity and functional safety
This article collection contains several articles on the Industrial Internet of Things (IIoT) and how it is transforming manufacturing.

Find and connect with the most suitable service provider for your unique application. Start searching the Global System Integrator Database Now!

SCADA at the junction, Managing risk through maintenance, Moving at the speed of data
Flexible offshore fire protection; Big Data's impact on operations; Bridging the skills gap; Identifying security risks
The digital oilfield: Utilizing Big Data can yield big savings; Virtualization a real solution; Tracking SIS performance
click me