Some of the company's staff also teach Agile software development practices through a separate training company, called Boost Agile.
Part of your business involves training people from other companies, but can you tell us about some of the initiatives you have in place to train your own staff?
We deliver software using Agile practices, and four of us here also deliver Agile training as part of our separate training company, Boost Agile. All of our new team members go through the same training we offer as part of our training services in Agile. This includes attending free workshops we run here every Friday afternoon introducing people to Agile practices.
We also work with the apprentice model, whereby new developers work with our more established developers to learn Agile techniques and use them in their everyday work. So, for example, there's an Extreme Programming practice called pair programming where one developer - the driver - sits at the keyboard typing in code while another navigates. The main reason we pair program is that two eyes on code results in higher quality - and less defects. But it's also a great way for someone who is less familiar with the code to work with someone more experienced. Our developers also often code review each other's work and this can be particularly useful for someone who is new or learning a new skill.
Are there any other ways that you coach staff?
Coaching takes a few different forms here. Our teams are self-managing, so you'll often find more experienced team members coaching the less experienced. We also do one-on-one coaching with team members who need a bit more support. We currently have a new team member who hasn't worked with some of our software practices, and he's about to begin one-on-one coaching with one of our technical coaches to further his understanding. Our Agile coaches also spend time coaching teams around ideas like becoming more self-managing, improving communication and maintaining quality of development projects.
The benefits of coaching are that our teams are highly collaborative and understand how best to provide value to our clients. They're also happier, which means a high staff retention rate.
Do staff have the opportunity to pursue their own interests in terms of their training?
Each Friday afternoon all team members, from the managing director to our team administrator, are given four hours to work on a project of their own choosing. This might be utilising a new technology a developer has recently read about, or upskilling in an area they're interested in via e-learning.
One of our team members, for example, was interested in working on iOS development and decided to use his R&D time to learn by making an application. Around a month later we had a prototype for an app that used a browser interface to send tea and coffee orders to our administrator's iPad at her desk. This enables people in meetings to enter attendee's drink choices via the meeting room computer.
It can also provide value to clients. During R&D time a couple of our team members identified an improvement that could potentially be made to a client's existing system; they built a prototype and then asked the client if they would be interested in a demonstration. The client was impressed and decided to dedicate budget for a full implementation on their system.
Coming up in Small Business: Mentors can be a powerful source of wisdom and advice for small business owners. If you're a small business owner with a mentor who's made a big difference to your operation, please get in touch.