You may envision communicating with a software developer to be quite difficult due to their nature of sitting behind a computer screen by themselves for hours on end. However, in our experience that couldn’t be more wrong.
Our developers are extremely passionate about producing great software. Their communication skills are strong as a result of them working closely with our clients and their users to learn, explore, teach, problem solve and help make the right decisions. They are innovative, creative and intelligent people who pay extreme attention to detail and have a curiosity and love for learning. Because to their analytical mind, they evaluate all aspects of every situation, which means they are brilliant at solving all sorts of problems.
Normal rules apply when communicating with a developer. Find out a bit about them and build rapport like you would with anyone else, according to the characteristics of each individual. They’re just as diverse as everyone else and, in our experience, extremely fun people that love making jokes, burgers, music and beer! Though developers aren’t hesitant to communicate, they do tend to prefer emailing and other online forms of communication rather than face to face or over the phone.
Developers are good team members who work alongside designers, other developers and clients to regularly discuss work and manage feedback. Developers like to meet regularly to share progress. At Naked Element we hold daily stand-ups to discuss progress, what we are doing today, what we did yesterday and any barriers that may stand in the way. A stand-up meeting is simply a meeting in which attendees participate while standing, and the discomfort of standing for long periods is intended to keep the meetings short and informative. The aim of stand ups is to ensure that all members of the team are on the same page and working cohesively and for developers to know ‘why’: why does the client want this feature? Why do they want it done this way? Why does it need to be done by tomorrow?
Help them do their job
In order to help developers do their job both happily and to the best of their ability, it’s important to provide clear software requirements and to be open about where the boundaries are if you allowing for some creative licence.
It’s good to provide open requirements so that developers can learn as they go, only getting into the detail at the last responsible minute. However, a Project Manager or Development Lead should ensure that client requirements are not too open in order to prevent misinterpretation. Though key features of the system should be instructed, developers are creative people and they know what works and what doesn’t; allow them to play with software they’re interested in and show you ideas.
Functionality comes first, design second. If you have a clear idea about how something should look, provide examples or explain this upfront. Every task is drilled down so there are often over a hundred lines of requirements. For example a simple requirement, such as, ‘As a Sales person I want to log a new sale on my system’, can be broken down to help the developer understand better:
As a Sales person I want to:
- Search for a client to which the sale relates
- Search by company name, contact name, account reference number
- Select a client from the search results list
- Record the product name, sales value, quantity and colour
- Select a delivery address and date
- Take a payment
- Submit the details to the fulfilment department
- Print a copy for my records
Don’t believe the bad press about developers being nerds, especially if nerds are supposedly just geeks without a social life, as all our developers have social lives. Anyway, isn’t it cool to be a geek these days? Do not be afraid to talk to them, get to know what makes them tick and enjoy the benefits it brings to your software development project.
Now you know a bit about our developers, learn a bit more about how they do it.
Originally published on Naked Element