Software Maintainability: What it Means to Build Maintainable Software

Posted by

All in all, since active repair time is largely determined by the equipment’s built-in maintainability characteristics, the manufacturer of the equipment plays a key role in influencing how much active repair time is required. It is the average time required to perform corrective maintenance on all of the removable items in a product or system. This kind of maintainability prediction analyzes how long repairs and maintenance tasks will take in the event of a system failure. Engineering provides inputs to alternative design concepts, support concepts, subcontractor/supplier proposals, and analysis of the effect of alternative manufacturing processes on maintainability. The maintainability engineer should develop and maintain a maintainability requirements model that also can produce a report with content driven by the customer’s data needs . Commonly, you will be required to report detailed corrective maintenance data and a summary mean time to repair figure plus preventive or turnaround maintenance data.

If your organization is lacking in this area, creating a standardized operating procedure or even just a central repository for maintenance documentation can go a long way to helping technicians and mechanics carry out their work more efficiently. Food and BeverageKeep your assets running and manage checklists across all of your locations. In addition to helping keep accurate MTR records, you’ll more efficiently document repair history with CMMS software. Asset Operation Resource Hub Your source for tools, webinars, guides, and more.

By benchmarking, at SIG we let the metrics in the software industry answer this question. If software metrics for a system score below average, it is harder than average to maintain. As the industry learns to code more efficiently (e.g., with the help of new technologies), the average for metrics tends to improve over time. What was the norm in software engineering a few years back, may be subpar now.

Understanding software maintainability allows organizations to identify improvement areas as well as determine the value supplied by current applications or during development changes. To measure the maintainability of an asset, you need to be able to quantify the amount of effort put into performing maintenance on that asset. While there are many methods to calculate the effort exerted, the most common way is simply by calculating the average time it takes to repair a piece of equipment. This might sound familiar because you’re measuring the mean time to repair , which is also typically used as a performance indicator metric. A characteristic of design and installation, expressed as the probability that an item will be retained in or restored to a specified condition within a given period of time, when the maintenance is performed by prescribed procedures and resources.

definition of maintainability

Where predictions suggest a failure to satisfy allocated values, the maintainability engineer must first determine which area of the design offers the best avenue for reduction of this figure. In software engineering, these activities are known as software maintenance (cf. ISO/IEC 9126). Closely related concepts in the software engineering domain are evolvability, modifiability, technical debt, and code smells.

What Impacts Maintainability?

Engineering actively participates in all formal and informal in-house reviews and is also included in the distribution of all proposed design changes. Each change is evaluated for impact on quantitative and qualitative maintainability requirements. Upon approval of a design change, prediction parameter values, design criteria, or maintenance procedure documentation is updated as appropriate.

definition of maintainability

The model supports building quality into software, definition of language-specific coding standards, systematically classifying quality defects, and the development of automated code auditors for detecting defects in software. Maintainability is used to define how quickly and easily a system can be repaired to operational function after an outage occurs. Maintenance, Repair, and Overhaul technicians are constantly monitoring the Maintainability of their systems. Employing maintenance methods such as Non-Routine Maintenance, Predictive Maintenance, and Preventative Maintenance, inspection technicians can try to minimize system downtime and keep machines running in good condition. Every second that a machine is offline is money wasted in industrial applications.

What Is the Definition of Maintainability?

SIG divides the systems in the benchmark by star rating, ranging from 1 star to 5 stars . The distribution of these star ratings among systems from 1 to 5 stars is 5%-30%-30%-30%-5%. Thus, in the benchmark the systems that are among the top 5% are rated 5 stars. In these systems, there are still violations to the guidelines, but much fewer than in systems rated below.

definition of maintainability

Supplier progress is monitored and maintainability concerns highlighted for resolution. Of these parameters has a very precise definition that may have slightly different meanings to different people. It is important to get a clear understanding with the customer about the parameter they wish to use as a basis for maintainability requirements.

Notice that over one-third of the codebase is in units that are over 60 lines of code. The star ratings serve as a predictor for actual system maintainability. SIG has collected empirical evidence that issue resolution and enhancements are twice as fast in systems with 4 stars than in systems with 2 stars. Even though ISO does not describe how to measure software quality, that does not mean you cannot measure it. In not available, we present how we measure software quality at the Software Improvement Group in accordance with ISO 25010. Reliability means the degree of performance of the bulk electric system that results in electricity being delivered within Reliability Standards and in the amount desired.

What does maintainability mean?

These times could include only remove and replace time of line replaceable units or they could include access, checkout, and logistic delay times. The maintainability engineer should keep a tabular list of allocated corrective maintenance times for each element accepted into the maintainability program. Engineers provide inputs to the design engineers to identify and integrate specified maintainability requirements. The design criteria constitute specific maintainability goals, such as modularization, standardization, accessibility, interchangeability, repair versus discard guidance, quantity and placement of test points, and degree of self-test features. These criteria are stated qualitatively or quantitatively and are used as guidelines by the design engineer.

  • In software development, the maintenance phase of a software system often spans 10 years or more.
  • Assets, equipment, assemblies, and sub-assemblies should be identifiable from each other to facilitate communication and record-keeping.
  • Instead of using multiple different types of parts and components, it is recommended to minimize variety among parts in order to minimize inventory, tooling, and training requirements.
  • Since it considers system running time and downtime, both MTBF and MTTR are a part of its calculation.
  • Duplication of source code should be avoided at all times, since changes will need to be made in each copy.
  • This might sound familiar because you’re measuring the mean time to repair , which is also typically used as a performance indicator metric.

The systems in the benchmark are ranked based on their metric quality profiles. Figure 1-1 shows three examples of unit size quality profiles (print readers can view full-color figures for this and the other quality profiles that follow in our repository for this book). However, the guidelines described in this book are not specific to Java. In fact, SIG has benchmarked systems in over a hundred programming languages based on the guidelines and metrics in this book. Maintainability needs to be addressed from the very start of a development project.

The concept of RAM: Reliability, Availability, and Maintainability

The ease or difficulty with which a software system can be modified is known as its maintainability. The maintainability of a software system is determined by properties of its source code. This book discusses these properties and presents 10 guidelines to help you write source code that is easy to modify. When someone gives you a problem and requirements, you are able to come up with a solution and translate that solution into a language that a computer understands. If you regularly have to change source code written by others , you know that it can be either really easy or really difficult.

definition of maintainability

The goal of performing maintainability analysis is to determine the amount of time required to perform repairs and maintenance tasks. In other words, if a system does fail, how long will it take to fix it? Later, when actual failure rate and maintenance time data become available from reliability and maintainability testing, manufacturing testing, or the user, the engineer can develop a figure for achieved MTTR.

Words Near Maintainability in the Dictionary

Administrative time is that portion of equipment downtime not taken into consideration in active repair time and in logistic time. Required administrative activities and unnecessarily wasted time are both included in administrative time. This time is a function of the structure of the operational organization and is influenced by factors such as work schedules and the nontechnical duties of maintenance people. Apart from the fact that replacement parts needs are affected by factors such as operating conditions and the equipment’s inherent capability to tolerate operating stress levels, logistic time is largely a matter of management. Acquisition personnel can play an important role in minimizing logistic time by developing effective procurement policies. Design inputs are formally transmitted to design engineers by conversation, tabular maintainability data, and design specifications where flow down is applicable.

Maintainability analysis

System or end item scheduled maintenance time is computed from detailed scheduled maintenance tasks by combining them in accordance with the process flow diagram and timeline diagram as noted above. In a deterministic environment, the estimated times are simply added where they are serially accomplished and critical path times added where parallel tasks are involved. In a probabilistic environment, mean and variation numbers are required and they are introduced into a queuing model to determine aggregate values. In both the deterministic and probabilistic approaches, margins should be used to provide for risk management opportunities. Resource needs continue to grow as environments become increasingly complex and applications are rapidly developed.

Parts & Inventory Streamline parts consumption and purchasing with mobile friendly inventory management features. Work Order Management Accurate and efficient request and work order management in real-time. For instance, heat exchangers are assigned an alphanumeric tag starting with the letter ‘E’ and followed by dashes and numbers. Components within equipment are given specific part numbers by the manufacturer so that queries can be made regarding the specific parts without any confusion. System-level upgrades are usually possible by upgrading one or more sub-assemblies rather than changing the entire equipment.

There may be several alternatives that may have to be studied in a trade format. The maintainability engineer then works with the selected item principal engineer for scheduled maintenance time reduction. As a last resort, maintainability figures may be reallocated and maintainability margins attacked or margin values exchanged in other parts of the architecture. As the design concept matures, maintainability engineers study the evolving design and make scheduled maintenance predictions within the context of the planned maintenance concept.

By facilitating easy disassembly and reassembly of the machines, thus improving the accessibility to the part requiring maintenance or replacement. DisclaimerAll content on this website, including dictionary, thesaurus, literature, geography, and other reference data is for informational purposes only. This information should not be considered complete, up to date, and is not intended to be used in place of a visit, consultation, or advice of a legal, medical, or any other professional. Please help to improve this article by introducing more precise citations.

This research studied a number of software maintainability measurement metrics and also new proposed techniques and found that fuzzy logic can be used to model uncertainty for these factors. Conscious plan that fixing failed equipment, machine, or system will occur as designed. Ability to restore a thing within a given timeframe, using the prescribed practices and procedures, to its normal operable state. Serviceability, preventive maintenance simplicity, and reparability, failure fixability, are its two main components. Click here to learn more about the benefits of performing static analysis with AIP and how it can help minimize software maintainability costs for your organization. Maintainability refers to the ease with which you can repair, improve and understand software code.

Better documentation of asset knowledge and procedures will boost the maintainability of your assets since repairs will be more standardized and repeatable. While reliability characterizes how long an asset can operate without issues, maintainability describes the likelihood the same asset can be restored once a failure does occur. Total downtime is the total time it takes to repair the asset and bring it back online; the number of failure events is the total number of breakdowns an asset experienced. Enterprise Asset Management Optimize asset performance with full life-cycle visibility for data-driven asset operations.

In the manufacturing sector, where every facility is home to a wide range of plant, machinery, and automation equipment, the drawings, operation manuals, and parts for those assets need to be readily available and well organized. Automated logistics definition of maintainability Asset ManagementReduce downtime and improve productivity. Due to the wide range of things needing to be maintained, maintenance software solutions can be very different. Courses Free asset and maintenance management courses to help you thrive.

Using equipment and assets that can be repaired quickly and put back into service is a key indicator of efficiency in the manufacturing sector. Whether downtime is planned or unplanned, it always affects your bottom line and your ability to meet production targets and delivery times. Mean time to repair also factors in other reliability and maintainability predictions and analyses. It can be used in reliability prediction to calculate the availability of a product or system. Availability is the probability that an item is in an operable state at any time, and is based on a combination of MTBF and MTTR. There are many ways to measure maintainability and many ways to count time in maintenance events, so the corrective maintenance times must be very carefully defined and agreed upon by the customer.