A business’s ability to achieve its goals is often centred revenue and profit, but understanding how productivity levels, and employee satisfaction fits in with this can be key to business success and often depends to a great extent on their culture. To start defining culture, and its success it needs to not be confused with other aspects of a business benefit, Horowiz defines culture as three things:
- The collected behaviour of everyone in the organisation.
- What people do when they’re not giving them a direction.
- The Businesses way of doing things.
Therefore, the culture is a reflection of the working environment and the leadership within this.
Why is culture important for software development?
A healthy culture rallies developers around a common goal, of creating high-quality code, continuously improving and enjoying the process. Culture is not only key to the alignment and effectiveness of the work, but to recruiting and retaining high-level talent.
Creating a good culture for software development teams can be achieved by
- Providing space for autonomy and mastery
- Creating a sense of purpose
- Continuous Training
- Coaching and mentorship
- Internal communities of practice
- Engagement with external communities
Whilst the culture of a business often is defined by the behaviours, the actions put in place can create the trajectory towards a successful working environment.
Using modern and attractive technology
There are two sections to this action point, the first focusing on career progression and enjoyment within a software development team. The pace of innovation in the software industry is exponential, and for businesses the focus is on gaining a competitive advantage through collective knowledge, experience and creativity. Therefore, the hunt to attract employees with a modern and innovative skill set has never been more important. Teams also are more attracted to working on newer techniques and modern technologies that have a longer lifespan, rather than continuously updating legacy software.
The second falls under the expectation of the business. To give employees access to the tools and technologies they need to do their job, and let them work in a way that works best for them to be more efficient. If admin systems are slow and inefficient, this can impact the moral of individuals. Without the tools in place to do admin focused tasks efficiently, this impacts productivity elsewhere.
Continuous Training
It is reported that businesses with continuous learning cultures have a 37% higher productivity, and are 92% more likely to innovate.
However, this culture path isn’t just about providing the opportunities for learning but creating a true shift, to allow the workforce to take on the full impact that training has to offer, to provide the time and expectations.
Focusing, specially on the continuous learning culture, a set of values and practices that encourage individuals (and the business as a whole) to continually increase knowledge, competence, performance and innovation. This is achieved through commitment to relentless improvement and promoting a culture of innovation.
Coaching and mentorship
A coaching and mentorship culture is a style of managing and working together with a commitment to grow both the business, and the people in the business. It encompasses not just skill and performance but the development of each individual and their career.
It can help teams work together towards a common goal by creating the habit of challenging a process, or assumption. Also speeding up the transfer of knowledge.
By creating this culture within software development teams, it helps reduce turnover of talent by improving employee engagement and job commitment to contribute to the performance at both an individual and team level.
Internal communities of practice (CoP)
A community of practice is a group of people who share a common concern, or interest in a topic. Groups come together to fulfil both individual and group goals.
Within software development teams, by having internal CoPs people can be connected who would usually not collaborate (if they are on different teams, projects) This encourages a share of information and experience across the whole business. The coordination between all members of the business allows for problem solving, sharing of best practices and often helps remove any blockages within the process.
This communication increases knowledge sharing, and helps improve the culture of coaching and mentorship.
Engagement with external communities
A large part of all of the techniques mentioned have access to knowledge and learning, This continues with engagement with external communities. One business often doesn’t have all the answers, which is why encouraging engagement outside of the business only helps increase knowledge sharing and development. Being able to talk through problems, career goals or new technology with new people increased satisfaction and improves employee retention rate. It also allows experienced staff to position their own knowledge within the software community.
Communicating externally also increases the rate to attract new talent.
Creating a business culture that employees feel happy to work in, not only however, helps with retention, but as mentioned above provides a space for effective working, growth in productivity, and initiative for innovation. Therefore, culture becomes important in software modernisation, as its key to helping developers work towards higher quality code, and a working environment where every one strives to continues improvement. Ensuring software, and the employees, evolve with the business, rather than working how it's always worked.