Monday, April 7, 2008

The green part of development and software testing: "Ecologiability"

Over the last few months in several resources are paying attention to the ECO effect of our systems. They already started defining infrastructure in such a way that our environment is somehow lesser charged.

IBM cools data centre with swimming pool
Sun to set up datacentre in coal mine

Another trend to reduce hardware by using virtual development and test environments.

If this trend is continuing, is the quality attribute we know now as efficiency enough to measure the benefits of lesser data storages or virtual environments? Perhaps we need a new one: Perhaps: Ecologiability?

Currently we see functional testing and infrastructure testing as two different specialists areas. I can imagine that this new quality attribute is combining both of those good worlds.

Combining both worlds take more then just another location of data storage. It can go further then that.

Won't it also be good to make this work over the business requirements? Let the business think during defining requirements if all data should be stored and also if old data should be kept.

Let the architects think about an optimal design of databases and infrastructure.

Let the developers search for solutions in function usage that prevents creation of redundant or too much information.

Let organizations think what information they actual need at this moment and leave thoughts like: "In the future we might eventually need this kind of information."

If we use this quality attribute we can define goals for reducing CO2 reduction in terms like: Our infrastructure should create a maximum of xxxxx CO2. The next release should reduce the CO2 creation by 5% per year.

Using terms like this will have impact on the architecture, environments, data usage and also the functions that are initially creating those data. Therefore it will impact development and testing.

To act on frequent basis in development, we should be dynamic in our development. Perhaps this leaves us more towards development methods like: Extreme Programming, Agile Development and SCRUM. As this requirement can change or introduced in every iteration.

As tester we should be able to measure it. We should have knowledge of both worlds: functional and infrastructure testing. We should also be able to adapt ourselves towards those development methods, including their tools.

I ask you, reader, do we need such a new quality attribute? How can we deal with it?


  1. An interesting viewpoint. However I am not sure if environmental friendliness is a quality attribute, a hype or a future legal requirement. Making a profit is the biggest concern for all companies. If they are no legal requirements and environmental friendliness is costing to much they would probably do much with it. But still, I think a very good candidate for an extension to the ISO 9216 standard.

  2. Hello Brian,
    Indeed currently organizations are more lead by making profit and cost reductions then paying attention towards the environment.
    This was always this way and will always be this way.
    In the previous decennia companies adapted their goals a bit to pay attention towards the social environment like sponsoring huge events, help on education, etc.

    As the article I linked there is some shift in also paying attention towards the environment by re-use the warmth of servers. In my suggestion to propose a new quality attribute I hope to trigger other people that there is more we can do. We can also take care in developing our software by defining new requirements and accept that those requirements cost money. Having a new attribute can help us choose. As in a project money can only spend once, choices are made which attribute is more important. Therefore you might want to choose also between an environment-attribute. As it might impact several kinds of development like infrastructure, functionality, data storage and so on.

    With regards,