What is Bloatware, what types exist and does an agile approach help against Bloatware?
Smartpedia: Bloatware is software that has an excessive number of unnecessary, unused features.
Bloatware – software features without real benefit
Many software products offer a large number of features. If a software has many unnecessary, unused features, it is called bloatware. The English term “to bloat” stands for “to inflate”, so bloatware is bloated software. As an alternative to bloatware, the term “software bloat” is also used.
The process that leads to bloatware is called creeping featuritis. The reasons for this disease of creeping increase are mostly
- a lack of stakeholder communication,
- ignorance of basic needs, satisfiers and delighters (as described by the Kano Model),
- overengineering or
- the desired marketing of new functions or entire programs.
Types of bloatware
Basically, there are three different types of bloatware:
- Software that is overloaded with functions that provide little or no benefit to the majority of users.
- Software that offers similar functions to competing products, but requires more system resources.
- Software that is either additionally installed with the installation of other programs or has already been pre-installed (and often cannot be uninstalled on smartphones). This type is also called Crapware.
By simply counting function calls within a software, manufacturers could relatively easily find out which functionalities are used or not used by users. As a result, features could either be removed from the functional scope of future versions or outsourced to plug-ins or add-ons. In the case of outsourcing, interested users could continue to use these functions, while all other users use “leaner” software. The development of modular software could also be an instrument against bloatware in itself, but often meaningful modules also contain functions that offer only minor benefits or are rarely used.
Bloatware despite agile software development
Can agile software development also lead to bloatware? The answer is yes. Ideally, agile – and also traditional – software development takes the wishes and requirements of the user into account. There are numerous ways to get to know them, e.g. through dedicated requirements engineering. In practice, despite agile software development, the prioritisation and refinement of backlogs is often carried out without user feedback and without a focus on the business value of individual functions. And this can lead to the provision of functions that merely inflate the corresponding product.
How can you remove bloatware?
And how can bloatware be removed? The answer is: it depends. If it is software with too many unnecessary functions, you can simply uninstall the software in most cases. The same applies to software that offers similar functions to products from other manufacturers but takes up more system resources. However, if it is crapware or adware, i.e. software that was additionally installed with the installation of other programmes, the use of separate tools such as
may be appropriate. Basically, it is advisable to look for corresponding solutions for devices or operating systems, whereby special caution is required here, because you do not want to accidentally install unwanted software by installing anti-bloatware software.
From the point of view of quality assurance, bloatware could also possibly violate the test criterion “absence of unspecified functionalities (by the customer)”. A circumstance that also plays an important role in so-called Gold Plating.
Here you will find additional information from our Smartpedia section: