From fd2b29353736f814de2ffe8c789ebf75f63d3e0f Mon Sep 17 00:00:00 2001 From: dhope-scottlogic Date: Mon, 13 May 2024 11:09:39 +0100 Subject: [PATCH 1/8] NFRs blog and new author Nick Barber --- _data/authors.yml | 6 +++ ...egrating-sustainability-into-NFRs.markdown | 48 ++++++++++++++++++ .../sustainabilty_development_goals.jpg | Bin 0 -> 96204 bytes nbarber/atom.xml | 5 ++ nbarber/feed.xml | 5 ++ nbarber/index.html | 6 +++ nbarber/picture.jpg.jpg | Bin 0 -> 49618 bytes 7 files changed, 70 insertions(+) create mode 100644 _posts/2024-05-13-integrating-sustainability-into-NFRs.markdown create mode 100644 nbarber/assets/sustainability_nfrs/sustainabilty_development_goals.jpg create mode 100644 nbarber/atom.xml create mode 100644 nbarber/feed.xml create mode 100644 nbarber/index.html create mode 100644 nbarber/picture.jpg.jpg diff --git a/_data/authors.yml b/_data/authors.yml index 02b7cbf258..0a8b09d0fd 100644 --- a/_data/authors.yml +++ b/_data/authors.yml @@ -100,6 +100,7 @@ active-authors: - mridene - mwallace - nbetts + - nbarber - ocronk - oforeman - osharon @@ -657,6 +658,11 @@ authors: author-summary: "

Senior UX Designer at Scott Logic. I like to talk about user-centered design, usability, and accessibility. When I'm not working I'm doing something creative or playing board games.

" name: "Mark Wallace" picture: profile.jpeg + nbarber: + name: "Nick Barber" + email: "nbarber@scottlogic.com" + author-summary: "Lead Test Engineer based in Newcastle with an interest in sustainable technology" + picture: picture.jpg nhemley: name: "Nicholas Hemley" nowen: diff --git a/_posts/2024-05-13-integrating-sustainability-into-NFRs.markdown b/_posts/2024-05-13-integrating-sustainability-into-NFRs.markdown new file mode 100644 index 0000000000..2bf7ee306c --- /dev/null +++ b/_posts/2024-05-13-integrating-sustainability-into-NFRs.markdown @@ -0,0 +1,48 @@ +--- +title: Conscientious Computing: Integrating Sustainability into Non-Functional Requirements +date: 2024-05-12 12:45:00 Z +categories: +- Sustainability +tags: +- Sustainability +- NFRs +summary: Architects and engineers are used to setting NFRs around availability and security but not carbon emissions. In this blog I look at why we should think about sustainability NFRs when designing software +author: nbarber +--- + + +As part of our Conscientious Computing series, we've explored the importance of considering the environmental impact of software development. In this instalment, we'll focus on the role of non-functional requirements (NFRs) in creating sustainable software solutions. + +As the world focuses more on the action needed to solve the climate crisis and with the ICT sector being responsible for [3-4% of global CO2 emissions](https://www.bcg.com/press/24june2021-telco-sector-game-changer-sustainability-shrinking-carbon-footprints), now is the time that development teams need to add sustainability and low carbon to their NFRs and here we’ll look at the considerations needed and some examples. + +Non-Functional Requirements (NFRs) are aspects of software that define quality characteristics rather than specific functionality. Unlike functional requirements that dictate what the system must do, NFRs define how the system must perform under certain conditions. For example, "the sign-in page should render in <50ms and be secure against CSRF attacks". Other examples include: + + * 95% of requests should be served in <= 150ms. + * The website should be accessible. + * Service A should be built with adaptability in mind such that we could roll out into a new market in 4 weeks. + +Traditionally carbon emissions and environmental impact have not been prioritised as NFRs and there could be a few reasons for this. One could be that the costs are generally someone else’s problem in the sense that we don’t personally suffer the effects of our service’s emissions. Contrast with the case where your app is running too slowly, and the engineering team will get a callout. + +This is a bit like cost management where it’s common for a development team to be given a platform to run apps on with no worry about the monetary costs as another part of the business covers it. This is now changing with monetary cost and may do so with carbon emissions as excess emissions come with a financial hit that will be pushed down to teams. + +Another reason may that setting sustainable NFRs is not simple. In short, it's hard to say in advance that software service A should generate X emissions per month, because every application is slightly different and has different usage patterns. It’s not as simple as something like availability with a set of standard achievable values like (99%, 99.5%, 99.9%, ….) that is well understood. + +Like cost, carbon emissions will very much depend on other NFRs like performance and availability. There is a mentality where we set those other NFRs as independent variables and a cost, financial or carbon, results as a dependent variable. We need to move to a mentality where carbon is weighed up independently against all the other NFRs. If we’re to deliver truly sustainable software solutions, we need to incorporate low carbon and sustainable attributes into the same conversations and processes where we consider performance, security, and usability. + +NFRs are often interdependent, so improving one area can require compromises in others. For example, increasing security may decrease usability or performance. It is understood that balancing multiple NFRs involves trade-offs. Development and business decisions are made based on requirements and priorities. As an example, the decision of whether to spend development resources making the system more reliable or more performant requires priorities to be considered and stakeholders to agree what is more beneficial. This is why it is essential to consciously include environmental sustainability as early as possible. By stating low carbon emissions as a priority NFR alongside low latency for example development teams can make informed decisions to get the optimal mix of attributes where latency is acceptable but not creating unnecessary emissions. + +Another consideration for NFRs is the implications of setting them, it's essential to avoid unrealistic targets that could exponentially increase development effort or complexity. Setting a system's target carbon emissions too aggressively could make the system much harder to build and run. It may be quite possible to reduce carbon emissions from 10g CO2e emitted per API to 5g CO2e call but to reduce further to 3g CO2e could be more than twice the development effort. Appropriate low carbon NFR targets should motivate teams to minimise carbon emissions without compromising other critical qualities. + +The final requirement I’ll mention for establishing low carbon is collaboration between all stakeholders. Business leaders, developers, operations teams, and end users may have differing perspectives on the acceptable trade-offs between sustainability, functionality, performance, and cost. By bringing together representatives from all stakeholder groups early in requirements planning, priorities can be negotiated to find an optimal balance. For example, developers may push for extremely low emissions targets, while business leaders focus on minimizing short-term costs. End users want both environmental sustainability and high performance. Through collaborative prioritisation, compromise targets can be set, focusing first on easy high-impact emission reductions before making carbon targets more aggressive. + + +Diagram of overlapping sustainability goals with economically viable, sustainable e.g. managed tech debt and then green sustainability including water and carbon + +Collaboration between all stakeholders is crucial for establishing sustainability NFRs. It’s key this occurs pragmatically considering business realities alongside environmental ideals. No single group has the full picture - it requires understanding differing motivations and constraints to find common ground. Joint ownership of priorities allows the sustainability NFRs to be set ambitiously but realistically. Teams can then work together, confident that targets reflect both ethical ideals and practical limitations. Consistent collaboration ensures priorities dynamically adapt as capabilities evolve. + +In future blog posts, we'll discuss specific NFRs that help with sustainability including carbon, such as: + +* Server utilisation - Ensuring servers are utilised at >50%, reducing embodied and operational carbon emissions. +* Carbon intensity - Setting a limit for the carbon intensity of the electricity a data centre or cloud region uses, such as <200 gCO2e/kWh. +* Emissions efficiency - That is, the rate of emissions a system generates per request, for example a system generates p81w=%e5PC#FI!JFJQITFEAfU8J??ieh(z{6S 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 literal 0 HcmV?d00001 diff --git a/nbarber/atom.xml b/nbarber/atom.xml new file mode 100644 index 0000000000..05319debe5 --- /dev/null +++ b/nbarber/atom.xml @@ -0,0 +1,5 @@ +--- +author: nbarber +layout: atom_feed +--- + diff --git a/nbarber/feed.xml b/nbarber/feed.xml new file mode 100644 index 0000000000..1117b6759c --- /dev/null +++ b/nbarber/feed.xml @@ -0,0 +1,5 @@ +--- +author: nbarber +layout: rss_feed +--- + diff --git a/nbarber/index.html b/nbarber/index.html new file mode 100644 index 0000000000..ef132e8258 --- /dev/null +++ b/nbarber/index.html @@ -0,0 +1,6 @@ +--- +title: Nick Barber +author: nbarber +layout: default_author +--- + diff --git a/nbarber/picture.jpg.jpg b/nbarber/picture.jpg.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b6028b6865f012780aa5f91f67ec1bc9974d75e0 GIT binary patch literal 49618 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 aDi?zs8M1M9eB|UydQGydb_wwRe*8aqS~LCt literal 0 HcmV?d00001 From b5bd7052ee0c407f9d1fc2cc975a3b946ca2d45a Mon Sep 17 00:00:00 2001 From: dhope-scottlogic Date: Mon, 13 May 2024 14:56:53 +0100 Subject: [PATCH 2/8] Fix to title --- .../2024-05-13-integrating-sustainability-into-NFRs.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_posts/2024-05-13-integrating-sustainability-into-NFRs.markdown b/_posts/2024-05-13-integrating-sustainability-into-NFRs.markdown index 2bf7ee306c..aa0450282a 100644 --- a/_posts/2024-05-13-integrating-sustainability-into-NFRs.markdown +++ b/_posts/2024-05-13-integrating-sustainability-into-NFRs.markdown @@ -1,5 +1,5 @@ --- -title: Conscientious Computing: Integrating Sustainability into Non-Functional Requirements +title: Conscientious Computing, Integrating Sustainability into Non-Functional Requirements date: 2024-05-12 12:45:00 Z categories: - Sustainability @@ -11,7 +11,7 @@ author: nbarber --- -As part of our Conscientious Computing series, we've explored the importance of considering the environmental impact of software development. In this instalment, we'll focus on the role of non-functional requirements (NFRs) in creating sustainable software solutions. +As part of our [Conscientious](https://blog.scottlogic.com/2023/12/19/green-software-podcasts-what-the-team-are-listening-to-right-now.html) Computing series, we've explored the importance of considering the environmental impact of software development. In this instalment, we'll focus on the role of non-functional requirements (NFRs) in creating sustainable software solutions. As the world focuses more on the action needed to solve the climate crisis and with the ICT sector being responsible for [3-4% of global CO2 emissions](https://www.bcg.com/press/24june2021-telco-sector-game-changer-sustainability-shrinking-carbon-footprints), now is the time that development teams need to add sustainability and low carbon to their NFRs and here we’ll look at the considerations needed and some examples. From deba7f721619a8798a41748e2f9e7b1572226a47 Mon Sep 17 00:00:00 2001 From: dhope-scottlogic Date: Mon, 13 May 2024 15:04:16 +0100 Subject: [PATCH 3/8] Fixed author image --- nbarber/{picture.jpg.jpg => picture.jpg} | Bin 1 file changed, 0 insertions(+), 0 deletions(-) rename nbarber/{picture.jpg.jpg => picture.jpg} (100%) diff --git a/nbarber/picture.jpg.jpg b/nbarber/picture.jpg similarity index 100% rename from nbarber/picture.jpg.jpg rename to nbarber/picture.jpg From 2e89e716aaa01d32cf9bbe5d29165207e849082f Mon Sep 17 00:00:00 2001 From: dhope-scottlogic Date: Mon, 13 May 2024 15:35:28 +0100 Subject: [PATCH 4/8] Fix for image path --- ...egrating-sustainability-into-NFRs.markdown | 21 ++++++++++--------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/_posts/2024-05-13-integrating-sustainability-into-NFRs.markdown b/_posts/2024-05-13-integrating-sustainability-into-NFRs.markdown index aa0450282a..e4a2cccfa9 100644 --- a/_posts/2024-05-13-integrating-sustainability-into-NFRs.markdown +++ b/_posts/2024-05-13-integrating-sustainability-into-NFRs.markdown @@ -1,5 +1,5 @@ --- -title: Conscientious Computing, Integrating Sustainability into Non-Functional Requirements +title: Conscientious Computing - Integrating Sustainability into Non-Functional Requirements date: 2024-05-12 12:45:00 Z categories: - Sustainability @@ -15,32 +15,33 @@ As part of our [Conscientious](https://blog.scottlogic.com/2023/12/19/green-soft As the world focuses more on the action needed to solve the climate crisis and with the ICT sector being responsible for [3-4% of global CO2 emissions](https://www.bcg.com/press/24june2021-telco-sector-game-changer-sustainability-shrinking-carbon-footprints), now is the time that development teams need to add sustainability and low carbon to their NFRs and here we’ll look at the considerations needed and some examples. -Non-Functional Requirements (NFRs) are aspects of software that define quality characteristics rather than specific functionality. Unlike functional requirements that dictate what the system must do, NFRs define how the system must perform under certain conditions. For example, "the sign-in page should render in <50ms and be secure against CSRF attacks". Other examples include: +Non-Functional Requirements (NFRs) are aspects of software that define quality characteristics rather than specific functionality. Unlike functional requirements that dictate what the system must do, NFRs define how the system must perform under certain conditions. For example + * the sign-in page should render in <50ms and be secure against CSRF attacks * 95% of requests should be served in <= 150ms. - * The website should be accessible. * Service A should be built with adaptability in mind such that we could roll out into a new market in 4 weeks. -Traditionally carbon emissions and environmental impact have not been prioritised as NFRs and there could be a few reasons for this. One could be that the costs are generally someone else’s problem in the sense that we don’t personally suffer the effects of our service’s emissions. Contrast with the case where your app is running too slowly, and the engineering team will get a callout. +### Why aren't sustainabilty NFRs prioritised today +Traditionally carbon emissions and environmental impact have not been prioritised as NFRs and there's a few possible reasons for this. One could be that the costs are generally someone else’s problem in the sense that we don’t personally suffer the effects of our service’s emissions. Contrast with the case where your API is responding too slowly, and the engineering team will get a callout. Over time we expect development teams to face more pressure to keep emissions as low as possible as is now happening with cloud costs and the rise of FinOps. -This is a bit like cost management where it’s common for a development team to be given a platform to run apps on with no worry about the monetary costs as another part of the business covers it. This is now changing with monetary cost and may do so with carbon emissions as excess emissions come with a financial hit that will be pushed down to teams. +Another reason may that setting sustainability NFRs is not simple. In short, it's hard to say in advance that software service A should generate X emissions per month, because every application is slightly different and has different usage patterns. It’s not as simple as something like availability with a set of standard achievable values like (99%, 99.5%, 99.9%, ….) that is well understood. -Another reason may that setting sustainable NFRs is not simple. In short, it's hard to say in advance that software service A should generate X emissions per month, because every application is slightly different and has different usage patterns. It’s not as simple as something like availability with a set of standard achievable values like (99%, 99.5%, 99.9%, ….) that is well understood. - -Like cost, carbon emissions will very much depend on other NFRs like performance and availability. There is a mentality where we set those other NFRs as independent variables and a cost, financial or carbon, results as a dependent variable. We need to move to a mentality where carbon is weighed up independently against all the other NFRs. If we’re to deliver truly sustainable software solutions, we need to incorporate low carbon and sustainable attributes into the same conversations and processes where we consider performance, security, and usability. +Like cost, carbon emissions will very much depend on other NFRs like performance and availability. There is a mentality where we set those other NFRs as independent variables and a cost, financial or carbon, results as a dependent variable. We need to move to a mentality where carbon is weighed up independently against all the other NFRs. If we’re to deliver truly sustainable software solutions, we need to incorporate low carbon and sustainability attributes into the same conversations and processes where we consider performance, security, and usability. +### Tradeoffs NFRs are often interdependent, so improving one area can require compromises in others. For example, increasing security may decrease usability or performance. It is understood that balancing multiple NFRs involves trade-offs. Development and business decisions are made based on requirements and priorities. As an example, the decision of whether to spend development resources making the system more reliable or more performant requires priorities to be considered and stakeholders to agree what is more beneficial. This is why it is essential to consciously include environmental sustainability as early as possible. By stating low carbon emissions as a priority NFR alongside low latency for example development teams can make informed decisions to get the optimal mix of attributes where latency is acceptable but not creating unnecessary emissions. Another consideration for NFRs is the implications of setting them, it's essential to avoid unrealistic targets that could exponentially increase development effort or complexity. Setting a system's target carbon emissions too aggressively could make the system much harder to build and run. It may be quite possible to reduce carbon emissions from 10g CO2e emitted per API to 5g CO2e call but to reduce further to 3g CO2e could be more than twice the development effort. Appropriate low carbon NFR targets should motivate teams to minimise carbon emissions without compromising other critical qualities. +### Collaboration The final requirement I’ll mention for establishing low carbon is collaboration between all stakeholders. Business leaders, developers, operations teams, and end users may have differing perspectives on the acceptable trade-offs between sustainability, functionality, performance, and cost. By bringing together representatives from all stakeholder groups early in requirements planning, priorities can be negotiated to find an optimal balance. For example, developers may push for extremely low emissions targets, while business leaders focus on minimizing short-term costs. End users want both environmental sustainability and high performance. Through collaborative prioritisation, compromise targets can be set, focusing first on easy high-impact emission reductions before making carbon targets more aggressive. -Diagram of overlapping sustainability goals with economically viable, sustainable e.g. managed tech debt and then green sustainability including water and carbon +Diagram of overlapping sustainability goals with economically viable, sustainable e.g. managed tech debt and then green sustainability including water and carbon Collaboration between all stakeholders is crucial for establishing sustainability NFRs. It’s key this occurs pragmatically considering business realities alongside environmental ideals. No single group has the full picture - it requires understanding differing motivations and constraints to find common ground. Joint ownership of priorities allows the sustainability NFRs to be set ambitiously but realistically. Teams can then work together, confident that targets reflect both ethical ideals and practical limitations. Consistent collaboration ensures priorities dynamically adapt as capabilities evolve. -In future blog posts, we'll discuss specific NFRs that help with sustainability including carbon, such as: +In future blog posts, we'll discuss how to set specific NFRs that help with sustainability including carbon, such as: * Server utilisation - Ensuring servers are utilised at >50%, reducing embodied and operational carbon emissions. * Carbon intensity - Setting a limit for the carbon intensity of the electricity a data centre or cloud region uses, such as <200 gCO2e/kWh. From b39e3324965543a85d9b7bb8e78d6f9c33d07f02 Mon Sep 17 00:00:00 2001 From: dhope-scottlogic Date: Mon, 13 May 2024 15:46:33 +0100 Subject: [PATCH 5/8] Minor tweaks --- ...24-05-13-integrating-sustainability-into-NFRs.markdown | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/_posts/2024-05-13-integrating-sustainability-into-NFRs.markdown b/_posts/2024-05-13-integrating-sustainability-into-NFRs.markdown index e4a2cccfa9..c0a60d373d 100644 --- a/_posts/2024-05-13-integrating-sustainability-into-NFRs.markdown +++ b/_posts/2024-05-13-integrating-sustainability-into-NFRs.markdown @@ -11,11 +11,11 @@ author: nbarber --- -As part of our [Conscientious](https://blog.scottlogic.com/2023/12/19/green-software-podcasts-what-the-team-are-listening-to-right-now.html) Computing series, we've explored the importance of considering the environmental impact of software development. In this instalment, we'll focus on the role of non-functional requirements (NFRs) in creating sustainable software solutions. +As part of our [Conscientious Computing series](https://blog.scottlogic.com/2023/12/19/green-software-podcasts-what-the-team-are-listening-to-right-now.html), we've explored the importance of considering the environmental impact of software development. In this instalment, we'll focus on the role of non-functional requirements (NFRs) in creating sustainable software solutions. As the world focuses more on the action needed to solve the climate crisis and with the ICT sector being responsible for [3-4% of global CO2 emissions](https://www.bcg.com/press/24june2021-telco-sector-game-changer-sustainability-shrinking-carbon-footprints), now is the time that development teams need to add sustainability and low carbon to their NFRs and here we’ll look at the considerations needed and some examples. -Non-Functional Requirements (NFRs) are aspects of software that define quality characteristics rather than specific functionality. Unlike functional requirements that dictate what the system must do, NFRs define how the system must perform under certain conditions. For example +Non-Functional Requirements (NFRs) are aspects of software that define quality characteristics rather than specific functionality. Unlike functional requirements that dictate what the system must do, NFRs define how the system must perform under certain conditions. For example: * the sign-in page should render in <50ms and be secure against CSRF attacks * 95% of requests should be served in <= 150ms. @@ -24,12 +24,12 @@ Non-Functional Requirements (NFRs) are aspects of software that define quality c ### Why aren't sustainabilty NFRs prioritised today Traditionally carbon emissions and environmental impact have not been prioritised as NFRs and there's a few possible reasons for this. One could be that the costs are generally someone else’s problem in the sense that we don’t personally suffer the effects of our service’s emissions. Contrast with the case where your API is responding too slowly, and the engineering team will get a callout. Over time we expect development teams to face more pressure to keep emissions as low as possible as is now happening with cloud costs and the rise of FinOps. -Another reason may that setting sustainability NFRs is not simple. In short, it's hard to say in advance that software service A should generate X emissions per month, because every application is slightly different and has different usage patterns. It’s not as simple as something like availability with a set of standard achievable values like (99%, 99.5%, 99.9%, ….) that is well understood. +Another reason may that setting sustainability NFRs isn't simple. In short, it's hard to say in advance that software service A should generate X emissions per month, because every application is slightly different and has different usage patterns. It’s not as simple as something like availability with a set of standard achievable values like (99%, 99.5%, 99.9%, ….) that is well understood. Like cost, carbon emissions will very much depend on other NFRs like performance and availability. There is a mentality where we set those other NFRs as independent variables and a cost, financial or carbon, results as a dependent variable. We need to move to a mentality where carbon is weighed up independently against all the other NFRs. If we’re to deliver truly sustainable software solutions, we need to incorporate low carbon and sustainability attributes into the same conversations and processes where we consider performance, security, and usability. ### Tradeoffs -NFRs are often interdependent, so improving one area can require compromises in others. For example, increasing security may decrease usability or performance. It is understood that balancing multiple NFRs involves trade-offs. Development and business decisions are made based on requirements and priorities. As an example, the decision of whether to spend development resources making the system more reliable or more performant requires priorities to be considered and stakeholders to agree what is more beneficial. This is why it is essential to consciously include environmental sustainability as early as possible. By stating low carbon emissions as a priority NFR alongside low latency for example development teams can make informed decisions to get the optimal mix of attributes where latency is acceptable but not creating unnecessary emissions. +NFRs are often interdependent and it's generally understood that improving one area can require compromises in others. For example, increasing security may decrease usability or performance. Development and business decisions are made based on requirements and priorities. As an example, the decision of whether to spend development resources making the system more reliable or more performant requires priorities to be considered and stakeholders to agree what is more beneficial. This is why it is essential to consciously include environmental sustainability as early as possible. By stating low carbon emissions as a priority NFR alongside low latency for example, development teams can make informed decisions to get the optimal mix of attributes where latency is acceptable but not creating unnecessary emissions. Another consideration for NFRs is the implications of setting them, it's essential to avoid unrealistic targets that could exponentially increase development effort or complexity. Setting a system's target carbon emissions too aggressively could make the system much harder to build and run. It may be quite possible to reduce carbon emissions from 10g CO2e emitted per API to 5g CO2e call but to reduce further to 3g CO2e could be more than twice the development effort. Appropriate low carbon NFR targets should motivate teams to minimise carbon emissions without compromising other critical qualities. From ab5a7f7db41e702472ef55288ad9bb310b0667d6 Mon Sep 17 00:00:00 2001 From: dhope-scottlogic Date: Mon, 13 May 2024 15:52:45 +0100 Subject: [PATCH 6/8] typo fix --- _posts/2024-05-13-integrating-sustainability-into-NFRs.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2024-05-13-integrating-sustainability-into-NFRs.markdown b/_posts/2024-05-13-integrating-sustainability-into-NFRs.markdown index c0a60d373d..abd47950d8 100644 --- a/_posts/2024-05-13-integrating-sustainability-into-NFRs.markdown +++ b/_posts/2024-05-13-integrating-sustainability-into-NFRs.markdown @@ -21,7 +21,7 @@ Non-Functional Requirements (NFRs) are aspects of software that define quality c * 95% of requests should be served in <= 150ms. * Service A should be built with adaptability in mind such that we could roll out into a new market in 4 weeks. -### Why aren't sustainabilty NFRs prioritised today +### Why aren't sustainability NFRs prioritised today Traditionally carbon emissions and environmental impact have not been prioritised as NFRs and there's a few possible reasons for this. One could be that the costs are generally someone else’s problem in the sense that we don’t personally suffer the effects of our service’s emissions. Contrast with the case where your API is responding too slowly, and the engineering team will get a callout. Over time we expect development teams to face more pressure to keep emissions as low as possible as is now happening with cloud costs and the rise of FinOps. Another reason may that setting sustainability NFRs isn't simple. In short, it's hard to say in advance that software service A should generate X emissions per month, because every application is slightly different and has different usage patterns. It’s not as simple as something like availability with a set of standard achievable values like (99%, 99.5%, 99.9%, ….) that is well understood. From 4ac11ad7b153231e9303eeef5b17feef9dfd1cfc Mon Sep 17 00:00:00 2001 From: dhope-scottlogic Date: Fri, 17 May 2024 15:28:58 +0100 Subject: [PATCH 7/8] Small grammar fix --- .../2024-05-13-integrating-sustainability-into-NFRs.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_posts/2024-05-13-integrating-sustainability-into-NFRs.markdown b/_posts/2024-05-13-integrating-sustainability-into-NFRs.markdown index abd47950d8..054dc0c38a 100644 --- a/_posts/2024-05-13-integrating-sustainability-into-NFRs.markdown +++ b/_posts/2024-05-13-integrating-sustainability-into-NFRs.markdown @@ -1,6 +1,6 @@ --- title: Conscientious Computing - Integrating Sustainability into Non-Functional Requirements -date: 2024-05-12 12:45:00 Z +date: 2024-05-17 12:45:00 Z categories: - Sustainability tags: @@ -24,7 +24,7 @@ Non-Functional Requirements (NFRs) are aspects of software that define quality c ### Why aren't sustainability NFRs prioritised today Traditionally carbon emissions and environmental impact have not been prioritised as NFRs and there's a few possible reasons for this. One could be that the costs are generally someone else’s problem in the sense that we don’t personally suffer the effects of our service’s emissions. Contrast with the case where your API is responding too slowly, and the engineering team will get a callout. Over time we expect development teams to face more pressure to keep emissions as low as possible as is now happening with cloud costs and the rise of FinOps. -Another reason may that setting sustainability NFRs isn't simple. In short, it's hard to say in advance that software service A should generate X emissions per month, because every application is slightly different and has different usage patterns. It’s not as simple as something like availability with a set of standard achievable values like (99%, 99.5%, 99.9%, ….) that is well understood. +Another reason may be that setting sustainability NFRs isn't simple. In short, it's hard to say in advance that software service A should generate X emissions per month, because every application is slightly different and has different usage patterns. It’s not as simple as something like availability with a set of standard achievable values like (99%, 99.5%, 99.9%, ….) that is well understood. Like cost, carbon emissions will very much depend on other NFRs like performance and availability. There is a mentality where we set those other NFRs as independent variables and a cost, financial or carbon, results as a dependent variable. We need to move to a mentality where carbon is weighed up independently against all the other NFRs. If we’re to deliver truly sustainable software solutions, we need to incorporate low carbon and sustainability attributes into the same conversations and processes where we consider performance, security, and usability. From 6dfc6a0ef572da30beafa7c4cda589e72de03364 Mon Sep 17 00:00:00 2001 From: dhope-scottlogic Date: Fri, 17 May 2024 16:20:34 +0100 Subject: [PATCH 8/8] Title change --- ...n => 2024-05-17-integrating-sustainability-into-NFRs.markdown} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename _posts/{2024-05-13-integrating-sustainability-into-NFRs.markdown => 2024-05-17-integrating-sustainability-into-NFRs.markdown} (100%) diff --git a/_posts/2024-05-13-integrating-sustainability-into-NFRs.markdown b/_posts/2024-05-17-integrating-sustainability-into-NFRs.markdown similarity index 100% rename from _posts/2024-05-13-integrating-sustainability-into-NFRs.markdown rename to _posts/2024-05-17-integrating-sustainability-into-NFRs.markdown