3 Tips for Developers while Visiting a Client
When developing software, face-to-face conversation is often the best form of communication (Agile Principles). While Skype and other tools allow you to get face-to-face from pretty much anywhere, there is really no substitute for spending some time in-person with everyone involved in developing software. At Highgroove, we often do remote work for many of our clients. Since travel can be hard and expensive, here are 3 tips for maximizing the value of your next business trip.
1) Get some work done together.
When you visit a client, chances are you will have some meetings scheduled. Often times these meetings are centered around planning. While sometimes these are unavoidable, try to keep them short, opting for spending time working on the product with the customer. You can do this by simply pairing with the customer, or even with their team. Working on a problem together will be easier for you because you have the direct attention of the person/people who know the most about the product. It will be helpful for the client because they will get a better sense of your workflow. Finally, it will be a win for everyone, because – “when was the last time you had a pairing session where neither party learned something?”
2) Do something that isn’t work together.
While business is the reason for the trip, try to plan some non-working time with your client and their team. Try to get as many people from the team to participate as possible. This could be as simple as going out to a meal together, or as exhilarating as a bike ride through a city you have never ridden in. Try to keep the conversation off of work. This is about forming some common ground over something outside of the codebase. If there are team members present that you normally don’t get a chance to interact with, make sure you try to spend some moments getting to know them better. That way when you do need to work with them in the future, it will be easier since you have already spent some time getting to know that individual.
3) Plan in advance, but adapt to changes.
It’s tempting to plan every minute of the trip down to the last second, but chances are, you’re over-planning. Just like we do Iterative Development at Highgroove, you can iterate on the agenda to adapt to what’s working. For instance, if you are pairing with a developer on a particularly tricky bug, it might not make sense to spend too much time – to get bogged down on fixing the bug, when time can be better spent hashing out how you would architect the next big feature.
How else can you make client visits more productive?