Welcome!

IBM Cloud Authors: Elizabeth White, Yeshim Deniz, Pat Romanski, Liz McMillan, Stefan Bernbo

Related Topics: IBM Cloud

IBM Cloud: Article

Reducing the 80/20 Rule and Increasing Developer Productivity

Reducing the 80/20 Rule and Increasing Developer Productivity

The 80/20 Rule is a well-known rule of thumb within the software development community that simply states that developers spend 80% of their time debugging applications and 20% writing new code. This ratio, which would seem to some outside the software industry the very embodiment of bad productivity, is unique to the software development community. No other industry measures work performed versus the amount of error fixing that needs to take place. Can you imagine what the production numbers would be for the Big Three automakers (GM, Ford, and DaimlerChrysler) if they spent 80% of their time fixing defects instead of making new cars? They would hardly be making any cars at all, and those they did would be utterly compromised in the eyes of the consumer.

There are those who find this rule so unnerving that they dismiss it with zealous disdain. The 80/20 rule applies only to "badly organized development groups" or "unskilled amateur coders," so the argument goes; it is something that happens to "other" development shops, but not something that can happen to "our group." The reason it is commonly dismissed out of hand is that it is felt that only the most unaware and incompetent software development team could miss such a staggering sign that their group is performing so inefficiently. Yet these dissenters are in a distinct minority; the 80/20 Rule is more or less accepted within the software development industry because programmers really do spend most of their time correcting bad code rather than producing new work.

Chances are pretty good that you think the 80/20 Rule doesn't apply to you and your development group. However, as incredible as this ratio is, I would bet that there are signs somewhere within your development organization that suggest you and your fellow developers really do spend a disproportionate amount of time debugging code rather than creating new work. Is your group showing symptoms of such poor productivity? Would you even recognize these signs if you saw them? It's harder than you think to recognize them.

A small experiment will confirm this hunch. Go and talk with your fellow developers while they are working and see if they consider their work "new" or something that they are trying "to make work." Walk in at different times during the day and see what this ratio is. Better yet, do this every day for several weeks across the entire group and see what the ratio of "working on new code" to "fixing code" is. Be sure to include your own work in this mix. I think you'll find that the 80/20 Rule does apply to your group. I also think you'll find, much to your own surprise, that your fellow developers consider the time they spend fixing code - "making it work" as they say - as actual coding time. They probably don't make a clear distinction between the two activities and they certainly won't be thinking about the 80/20 Rule as a strict demarcation of their time, if they think about it at all. If this is the case - if you and your comrades don't think of fixing and coding as two separate issues - then you have a big problem on your hands.

Once this experiment is conducted, you'll have enough data to take back to your fellow programmers and to your project managers to demonstrate how the group is really spending its time. Hopefully the entire group, managers and developers alike, will recognize and appreciate this data and will be eager to change the pattern of their development time. Realistically, it is the job of your project manager to help your group do something about the ratio of time they spend on new code versus debugging. However, there are a few things that you as a developer can do to help reduce the 80/20 ratio and increase your group's productivity.

The first step you should take to remedy the effects of the 80/20 Rule on your group is to think about how you are preventing errors. Review your work environment and the tools you are using. Are your tools sufficient for the kinds of applications you are writing? Do they help improve programming conditions and reduce errors? A good code editor is mandatory - the tools integrated into WebSphere Studio are a perfect example of a comprehensive IDE that helps developers write better code by providing a robust development environment for building and testing software applications before release. If you've got the right tools, then you are on the right track for reducing the 80/20 Rule.

However, if you don't feel that you have the proper tools, or if developers pick and chose their tools by personal preference rather than by group need, then perhaps this is a good indication that there is a communication breakdown between the development group and management. This is an easily forgotten point; not all errors are generated when code is written. If developers and their managers are not communicating - if you find it difficult to get the message across that you are not equipped properly for your tasks at hand - then chances are very good that the entire group is working under a flawed process and that steps should be taken to make intra-group communication easier and more proactive to developer needs. If your development group is fairly new, or you have recently been merged into another group or organization, a lot of your 80/20 problems could stem from simple process definition issues.

The next, and more important, step you should take is to look at your own needs, and those of your fellow developers, and compare them to the needs of the entire development group. How are the needs of individual developers different - or the same - from those of the group as a whole? Where do these needs intersect? To effectively address the 80/20 disconnect, you must begin to think in terms of group needs rather than in terms of individual developer needs. For the needs of the group, you must ask if the tool that is right for the individual is also right for the entire organization. Can the IDE you like to use for your own code be used to define group behavior? This is where a comprehensive plan for error prevention can begin to take root. As a group, are you taking full advantage of such tools, using them in the correct way, not just to find and fix errors, but also to prevent errors from recurring? Is the group using a comprehensive set of coding standards? Are you using these coding standards as a filter for source-control check-in? Many of the errors that propagate in the software development life cycle come to life through inconsistencies in the way developers work on their individual projects versus their group work dynamics. It won't matter if everyone uses the same tool if they all use it in a different way; i.e., if half of your fellow developers use a standard set of coding rules and the other half uses customized rules. Errors are bound to slip through if these rule sets are at all different.

WebSphere Studio is again a good example of an IDE that allows group behavior to be predefined, monitored, and refined in an effort to eradicate errors. Parasoft has an active partnership with IBM to provide WebSphere Studio with a variety of plug-in tools that extend the capabilities of WebSphere Studio for different types of application development, such as for Java applications or Web services or Web development projects. Such partnerships and plug-in tools reduce the probability of errors being generated across the development group through the use of language-specific coding standards and automated unit tests that can be shared among programmers and altered or revised as needed.

Reducing, or even reversing, the 80/20 Rule cannot, and will not, happen overnight. Looking at the dynamics within your development group and knowing that you and your fellow programmers have the right tools may be the work of a moment, but integrating common error prevention practices for that tool throughout the group - and getting positive results- is a much longer and more difficult task. There is no silver bullet for solving the 80/20 dilemma. Numerous studies have shown that in order to get full reversal of the 80/20 Rule could take as many as eight years. Clearly, it takes skill and patience to organize a development group into an efficient working team and to get results for your efforts.

What is important to understand is that getting the upper hand on the 80/20 Rule is largely a matter of analyzing and changing group behavior to address error prevention rather than using simple error detection and correction. You cannot, and will not, get a handle on errors if you act on an individual basis to correct your own code and leave your fellow programmers "on their honor" to correct their own work. Group behavior must be focused on uniformly meeting common coding standards, unit/load/functional tests, and monitoring practices. Only when a development group approaches error prevention as the norm, rather than performing simple error detection and bug fixes on an as-needed basis, will the 80/20 ratio begin to fall.

This is not simple hyperbole or wishful thinking - the rule can, in my opinion, be reversed, and permanently so. There is no reason why developers shouldn't spend 80% of their time developing new code and only 20% of their time debugging that same code. Actually, I am much more optimistic than that - I see no reason why debugging shouldn't be reduced even further, to less than 10% of a developer's total time, if the right tools and practices are integrated into a development group and those tools and practices are maintained for optimal performance and usage. Finding the right tool, such as WebSphere Studio, is the first step. Using that tool uniformly across a development team or set of teams is the next logical, and most important, determination that you and your fellow developers will need to make.

More Stories By Adam Kolawa

Adam Kolawa is the co-founder and CEO of Parasoft, leading provider of solutions and services that deliver quality as a continuous process throughout the SDLC. In 1983, he came to the United States from Poland to pursue his PhD. In 1987, he and a group of fellow graduate students founded Parasoft to create value-added products that could significantly improve the software development process. Adam's years of experience with various software development processes has resulted in his unique insight into the high-tech industry and the uncanny ability to successfully identify technology trends. As a result, he has orchestrated the development of numerous successful commercial software products to meet growing industry needs to improve software quality - often before the trends have been widely accepted. Adam has been granted 10 patents for the technologies behind these innovative products.

Kolawa, co-author of Bulletproofing Web Applications (Hungry Minds 2001), has contributed to and written over 100 commentary pieces and technical articles for publications including The Wall Street Journal, Java Developer's Journal, SOA World Magazine, AJAXWorld Magazine; he has also authored numerous scientific papers on physics and parallel processing. His recent media engagements include CNN, CNBC, BBC, and NPR. Additionally he has presented on software quality, trends and development issues at various industry conferences. Kolawa holds a Ph.D. in theoretical physics from the California Institute of Technology. In 2001, Kolawa was awarded the Los Angeles Ernst & Young's Entrepreneur of the Year Award in the software category.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


IoT & Smart Cities Stories
In his general session at 19th Cloud Expo, Manish Dixit, VP of Product and Engineering at Dice, discussed how Dice leverages data insights and tools to help both tech professionals and recruiters better understand how skills relate to each other and which skills are in high demand using interactive visualizations and salary indicator tools to maximize earning potential. Manish Dixit is VP of Product and Engineering at Dice. As the leader of the Product, Engineering and Data Sciences team at D...
As you know, enterprise IT conversation over the past year have often centered upon the open-source Kubernetes container orchestration system. In fact, Kubernetes has emerged as the key technology -- and even primary platform -- of cloud migrations for a wide variety of organizations. Kubernetes is critical to forward-looking enterprises that continue to push their IT infrastructures toward maximum functionality, scalability, and flexibility. As they do so, IT professionals are also embr...
The Japan External Trade Organization (JETRO) is a non-profit organization that provides business support services to companies expanding to Japan. With the support of JETRO's dedicated staff, clients can incorporate their business; receive visa, immigration, and HR support; find dedicated office space; identify local government subsidies; get tailored market studies; and more.
At CloudEXPO Silicon Valley, June 24-26, 2019, Digital Transformation (DX) is a major focus with expanded DevOpsSUMMIT and FinTechEXPO programs within the DXWorldEXPO agenda. Successful transformation requires a laser focus on being data-driven and on using all the tools available that enable transformation if they plan to survive over the long term. A total of 88% of Fortune 500 companies from a generation ago are now out of business. Only 12% still survive. Similar percentages are found throug...
Atmosera delivers modern cloud services that maximize the advantages of cloud-based infrastructures. Offering private, hybrid, and public cloud solutions, Atmosera works closely with customers to engineer, deploy, and operate cloud architectures with advanced services that deliver strategic business outcomes. Atmosera's expertise simplifies the process of cloud transformation and our 20+ years of experience managing complex IT environments provides our customers with the confidence and trust tha...
At CloudEXPO Silicon Valley, June 24-26, 2019, Digital Transformation (DX) is a major focus with expanded DevOpsSUMMIT and FinTechEXPO programs within the DXWorldEXPO agenda. Successful transformation requires a laser focus on being data-driven and on using all the tools available that enable transformation if they plan to survive over the long term. A total of 88% of Fortune 500 companies from a generation ago are now out of business. Only 12% still survive. Similar percentages are found throug...
AI and machine learning disruption for Enterprises started happening in the areas such as IT operations management (ITOPs) and Cloud management and SaaS apps. In 2019 CIOs will see disruptive solutions for Cloud & Devops, AI/ML driven IT Ops and Cloud Ops. Customers want AI-driven multi-cloud operations for monitoring, detection, prevention of disruptions. Disruptions cause revenue loss, unhappy users, impacts brand reputation etc.
As you know, enterprise IT conversation over the past year have often centered upon the open-source Kubernetes container orchestration system. In fact, Kubernetes has emerged as the key technology -- and even primary platform -- of cloud migrations for a wide variety of organizations. Kubernetes is critical to forward-looking enterprises that continue to push their IT infrastructures toward maximum functionality, scalability, and flexibility.
Today's workforce is trading their cubicles and corporate desktops in favor of an any-location, any-device work style. And as digital natives make up more and more of the modern workforce, the appetite for user-friendly, cloud-based services grows. The center of work is shifting to the user and to the cloud. But managing a proliferation of SaaS, web, and mobile apps running on any number of clouds and devices is unwieldy and increases security risks. Steve Wilson, Citrix Vice President of Cloud,...
When Enterprises started adopting Hadoop-based Big Data environments over the last ten years, they were mainly on-premise deployments. Organizations would spin up and manage large Hadoop clusters, where they would funnel exabytes or petabytes of unstructured data.However, over the last few years the economics of maintaining this enormous infrastructure compared with the elastic scalability of viable cloud options has changed this equation. The growth of cloud storage, cloud-managed big data e...