Sustainable Upgrade of Our Built Environment: A Technical Perspective

Last Updated: 04 Oct, 2024

Achieving sustainability is a complex and challenging endeavour. If it were straightforward, we would have already met our sustainability and climate change targets with clear consensus on the best way forward. However, the result is quite different. Many organisations struggle to achieve their sustainability objectives leading to frustration with the process, criticism of the strategy and accusations of corporate greenwashing.

When selecting building services for a new or retrofit project, the most sustainable decision often involves navigating a multitude of competing factors. While it may seem tempting to focus on a subset of these issues, this approach often falls short of delivering genuinely sustainable outcomes. Too often, the optimal solutions are missed due to a lack of understanding of these key issues.

Considerations for building services include life-cycle analysis, performance, repairability, material composition, recycling practices, and energy efficiency, among others. However, procurement personnel are often incentivised to prioritise factors such as cost or completion timelines by an arbitrary date, potentially leading to suboptimal outcomes.  

There are numerous instances where properties retrofitted with LED lighting have experienced premature failures, despite receiving rebates from government energy-saving schemes. Some installations may also fail to provide adequate lighting for staff, compromising safety and productivity.

Relatively new LED lights being removed from a property and sent to landfill is heartbreaking for anyone who cares about our environment.

It is clear that many current procurement processes are inadequate and in need of change. Here are some considerations:

  1. No One-Size-Fits-All Solution: Achieving sustainability requires a multifaceted approach tailored to specific contexts and challenges. 
  2. Education: Building stakeholders must be equipped with the knowledge and understanding necessary to make informed decisions about sustainable practices and technologies. Education should not be solely technical; it must also encompass the multiple considerations needed to achieve a sustainable outcome and an understanding of when to engage with technical experts.
  3. Supplier Engagement: Supplier engagement is crucial for delivering sustainable outcomes in construction projects. By collaborating closely with product suppliers, companies can influence various aspects of sustainability, including packaging, material composition, and the selection of manufacturers. A real-world example of this is enLighten's partnership with Telstra, which resulted in Australia's largest and most sustainable LED lighting upgrade, showcasing the significant impact of supplier engagement on environmental initiatives (see Link).  
  4. Formal Life-Cycle Assessment: The energy expended during the manufacturing, transportation and installation of a product underscores the importance of ensuring its longevity with minimal maintenance and repair requirements. Merely demanding longer warranties is insufficient, as many companies have offered extended warranties but were no longer in business to honour them. A warranty is only as good as the company offering it. Therefore, a more sophisticated approach to life-cycle assessment is required to guarantee the longevity and functionality of the product over many years.
  5. Incentives: Decision-makers should be incentivised to prioritise long-term sustainable solutions over short-term gains, with a focus on performance, safety, reliability, and energy efficiency. While cost considerations and government rebates hold significance, they should only come into play once other essential criteria have been met.
  6. Overarching Policy: It's essential for all stakeholders in the decision-making and tender processes to understand the product selection criteria thoroughly. Although tender processes typically outline criteria aligning with these objectives, decisions down the line might deviate from them. As with any rule or policy, compliance hinges on an effective auditing system.

Our current situation in many ways is best summarised by a quote from R. Buckminster Fuller, “You never change things by fighting the existing reality. To change something, build a new model that makes the existing model obsolete.”  It is time for a paradigm shift in building services procurement to truly deliver on our sustainability promises.

Print

Contact us today to learn how enLighten can help you achieve your sustainability goals with innovative LED lighting solutions.

x

Help us tailor your experience

We’d love to better understand who’s visiting. This isn’t data collection, just a quick way to help us design a better site for you.

System.Web.HttpException (0x80004005): Error executing child request for handler 'System.Web.Mvc.HttpHandlerUtil+ServerExecuteHttpHandlerAsyncWrapper'. ---> System.NullReferenceException: Unable to get Form with ID: '0f158336-ad0c-4a03-9440-0bcf563b2ac2' off disk or from the cache. Check the file exists on disk
   at Umbraco.Forms.Core.Data.Storage.FormStorage.GetForm(Guid id)
   at Umbraco.Forms.Web.Controllers.UmbracoFormsController.GetForm(Guid formId)
   at Umbraco.Forms.Web.Controllers.UmbracoFormsController.GetFormModel(Guid formId, Nullable`1 recordId, String theme)
   at Umbraco.Forms.Web.Controllers.UmbracoFormsController.RenderForm(Guid formId, Nullable`1 recordId, String theme, Boolean includeScripts)
   at lambda_method(Closure , ControllerBase , Object[] )
   at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c.<BeginInvokeSynchronousActionMethod>b__9_0(IAsyncResult asyncResult, ActionInvocation innerInvokeState)
   at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`2.CallEndDelegate(IAsyncResult asyncResult)
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult)
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass11_0.<InvokeActionMethodFilterAsynchronouslyRecursive>b__0()
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass11_2.<InvokeActionMethodFilterAsynchronouslyRecursive>b__2()
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass11_2.<InvokeActionMethodFilterAsynchronouslyRecursive>b__2()
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass11_2.<InvokeActionMethodFilterAsynchronouslyRecursive>b__2()
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass11_2.<InvokeActionMethodFilterAsynchronouslyRecursive>b__2()
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass11_2.<InvokeActionMethodFilterAsynchronouslyRecursive>b__2()
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass11_2.<InvokeActionMethodFilterAsynchronouslyRecursive>b__2()
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult)
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass3_6.<BeginInvokeAction>b__4()
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass3_1.<BeginInvokeAction>b__1(IAsyncResult asyncResult)
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult)
   at System.Web.Mvc.Controller.<>c.<BeginExecuteCore>b__152_1(IAsyncResult asyncResult, ExecuteCoreState innerState)
   at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult)
   at System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult)
   at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult)
   at System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult)
   at System.Web.Mvc.MvcHandler.<>c.<BeginProcessRequest>b__20_1(IAsyncResult asyncResult, ProcessRequestState innerState)
   at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult)
   at System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult)
   at System.Web.Mvc.HttpHandlerUtil.ServerExecuteHttpHandlerWrapper.<>c__DisplayClass5_0.<Wrap>b__0()
   at System.Web.Mvc.HttpHandlerUtil.ServerExecuteHttpHandlerWrapper.Wrap[TResult](Func`1 func)
   at System.Web.HttpServerUtility.ExecuteInternal(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage, VirtualPath path, VirtualPath filePath, String physPath, Exception error, String queryStringOverride)
   at System.Web.HttpServerUtility.ExecuteInternal(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage, VirtualPath path, VirtualPath filePath, String physPath, Exception error, String queryStringOverride)
   at System.Web.HttpServerUtility.Execute(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage)
   at System.Web.HttpServerUtility.Execute(IHttpHandler handler, TextWriter writer, Boolean preserveForm)
   at System.Web.Mvc.Html.ChildActionExtensions.ActionHelper(HtmlHelper htmlHelper, String actionName, String controllerName, RouteValueDictionary routeValues, TextWriter textWriter)
   at System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper htmlHelper, String actionName, String controllerName, Object routeValues)
   at ASP._Page_Views_MacroPartials_InsertUmbracoFormWithTheme_cshtml.Execute() in C:\inetpub\Sites\Umbraco\enlighten_old_prod\Enlighten\Views\MacroPartials\InsertUmbracoFormWithTheme.cshtml:line 51
   at System.Web.WebPages.WebPageBase.ExecutePageHierarchy()
   at System.Web.Mvc.WebViewPage.ExecutePageHierarchy()
   at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage)
   at Umbraco.Web.Mvc.ProfilingView.Render(ViewContext viewContext, TextWriter writer)
   at Umbraco.Web.Mvc.ControllerExtensions.RenderViewResultAsString(ControllerBase controller, ViewResultBase viewResult)
   at Umbraco.Web.Macros.PartialViewMacroEngine.Execute(MacroModel macro, IPublishedContent content)
   at Umbraco.Web.Macros.MacroRenderer.<>c__DisplayClass17_0.<ExecuteMacroOfType>b__0()
   at Umbraco.Web.Macros.MacroRenderer.ExecuteProfileMacroWithErrorWrapper(MacroModel macro, String msgIn, Func`1 getMacroContent, Func`1 msgErr)
   at Umbraco.Web.Macros.MacroRenderer.ExecuteMacroWithErrorWrapper(MacroModel macro, String msgIn, String msgOut, Func`1 getMacroContent, Func`1 msgErr)
   at Umbraco.Web.Macros.MacroRenderer.ExecuteMacroOfType(MacroModel model, IPublishedContent content)
   at Umbraco.Web.Macros.MacroRenderer.Render(MacroModel macro, IPublishedContent content, IDictionary pageElements)
   at Umbraco.Web.UmbracoComponentRenderer.RenderMacro(IPublishedContent content, String alias, IDictionary`2 parameters)
   at Umbraco.Web.UmbracoComponentRenderer.RenderMacro(Int32 contentId, String alias, IDictionary`2 parameters)
   at ASP._Page_Views_Partials_grid_editors_Macro_cshtml.Execute() in C:\inetpub\Sites\Umbraco\enlighten_old_prod\Enlighten\Views\Partials\grid\editors\Macro.cshtml:line 15
   at System.Web.WebPages.WebPageBase.ExecutePageHierarchy()
   at System.Web.Mvc.WebViewPage.ExecutePageHierarchy()
   at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage)
   at Umbraco.Web.Mvc.ProfilingView.Render(ViewContext viewContext, TextWriter writer)
   at System.Web.Mvc.Html.PartialExtensions.Partial(HtmlHelper htmlHelper, String partialViewName, Object model, ViewDataDictionary viewData)
   at ASP._Page_Views_Partials_grid_editors_Base_cshtml.Execute() in C:\inetpub\Sites\Umbraco\enlighten_old_prod\Enlighten\Views\Partials\grid\editors\Base.cshtml:line 20
Need help image