Sustainable Development is a set of principles for software teams to use to operate in healthy and productive ways, and for the long term.
Software teams practicing Sustainable Development follow guidelines that benefit them in three areas:
Physical: They work in ways that allows them to maintain good physical health.
Emotional: They work in an environment that supports their emotional health.
Cognitive: They work in ways that encourage creativity and support the intellectual nature of software engineering.
Why Practice Sustainable Development?
High pressure and stress is becoming the norm in the software industry. Toxic, unreasonable work environments are easy to find, and engineers in them regularly burn out, leave their jobs, and even abandon the industry entirely. Employees are working longer hours during the week and on weekends, and fully “disconnected” vacations are getting rarer.
Unsustainable work practices are bad for business:
- Retaining and attracting talent becomes harder
- Quality of work decreases as staff get more tired and stressed
- More simultaneous initiatives cause longer project durations
- Creativity drops, opportunities get missed, and innovation stalls
Engineers perform better when they are less stressed, rested, and get to focus on their work for a reasonable number of hours in a day. Sustainable Development gives teams a framework for reducing stress and burnout, and fostering intellectual creativity.
As the Agile Manifesto states,
“Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.”
If your team practices Agile development, then it should also work sustainably.
Practicing Sustainable Development
Development teams wanting to adopt Sustainable Development simply write down the practices they wish to embrace, and then commit to following them. Each practice should benefit the team in at least one of the three areas of sustainability (physical, emotional, or cognitive).
Key to the success of any team’s roll-out of Sustainable Development is the cooperation of management in the definition of their own practices, and in their continuous improvement.
Suggested Sample Practices
No two teams operate the same way, so every team adopting Sustainable Development does so in ways appropriate for them and the needs of their business. As your team adopts Sustainable Development, feel free to use any of these practices, modify them, or just write your own.
An ideal workday consists of 8 hours of work, 8 hours of sleep, and 8 hours of something else entirely. (Physical)
Weekend or weeknight work is only expected of staff who are on-call during those times, and even then only if the situation truly deserves their attention. (Physical, Emotional)
Management is committed to fostering an environment of psychological safety. (Emotional)
The entire team maximizes deep focus time for engineers and minimizes interruptions and context switching. (Cognitive)
Engineers are empowered to apply back pressure to management when unreasonable amounts of work is expected of them. (Emotional, Cognitive)
Engineers are empowered and encouraged to work with their manager and team members to tweak their schedules or environment to make their work time more sustainable. (Physical)
Retrospectives are run after staff are asked to unexpectedly work a weekend or late hours to prevent that same situation from reoccurring. (Emotional, Physical)
Engineers are encouraged to be reachable and responsive only from 9am-12pm. Before or after that time, they are encouraged to turn off interruptive tools to focus (as long as others can reach them in an emergency). (Cognitive)
Mornings are for meetings (if they are necessary), and afternoons are for focusing without interruptions. (Cognitive)
Meetings are scheduled at times that are within normal working hours for all remote participants. (Physical)
Everyone is incentivized to not log in or check messages during vacations, especially management staff. (Emotional, Physical)
Vacations are strongly encouraged to be taken, and especially not all at the end of the year. (Emotional, Physical)
Remember, these are only samples to help in your own journey to sustainable development. Your team should decide what is sustainable based on your own unique constraints and challenges.
For more information, see the FAQ.
Sustainable Development was created by Brian Kelly and is released under the Creative Commons CC BY 4.0 License. If you have feedback, or would like to share your team’s sustainable practices, please file a GitHub issue.