A common difficulty customers face when working with our development team is understanding their pivotal role in product development. All too often, they mistakenly expect software companies to function much like bakeries do. While they may not know all the ingredients that go in the cake they have chosen to order, they do expect it will be baked quickly and to sate their every chocolate craving. Unsurprisingly to developers, however, this not only generally results in underbaked software, but consumers also find that what they really wanted was a lemon drizzle all along.
Despite the lack of popularity of Extreme Programming (XP) today, Software Planet Group still strongly believe in the importance of its practices, including that of the On-Site Customer. Kent Beck, the creator of XP, found it necessary for customers and developers to work together in the very same room. Without adequate customer involvement, developers are thrown off course and valuable resources are wasted. When the opposite is achieved, however, clients are able to evaluate new delivered features every week, ensuring that the development team is kept abreast of their vision and evolving ideas. Even though physical proximity is not always an option when working with remote teams, technology does allow us to do all we can to overcome distances and make communication as fluid as possible.
In order to ensure a smooth-sailing Agile process, customers can help in a few significant ways:
- Share knowledge of your business
- Provide details for each feature (user story)
- Give feedback throughout development
At Software Planet Group, our primary focus is on delivering effective solutions to real problems. This is why it is important to always discuss with our developers the exact nature of the issues you are trying to quell. By sharing knowledge of their businesses, the challenges they are facing and their proposed solutions, our customers enable SPG to assess the situation and find the best practical answer to help companies succeed. In the end, our solutions are often a lot cheaper than the ones our customers initially have in mind.
In spite of that, due to their lack of technical knowledge, customers can be understandably intimidated by the idea of becoming involved in development. Thankfully, however, the Agile process we use is entirely set up to overcome these differences. By allowing customers to define priorities from the very beginning, without ever having to worry about dependencies, Agile enables software engineers to focus on delivering the most important product features within the very first iteration. For this process to be successful, however, it is crucial that customers also be willing to give enough details for each user story. If dealing with a user login feature, for example, customers should clarify whether or not users will be able to log in with their Google accounts or if the system will be able to remember passwords.
Software Planet Group also make it easy for customers to track the progress of their projects. After every iteration, or “Sprint” as we call it, we provide our customers with an updated estimate of when the project is due for release. These updates are very useful to clients, as they allow them to know about problems in advance and take action by changing priorities, adding extra developers to the project or even deleting certain features. Throughout this process, we encourage our customers to provide continuous feedback. Should you have any questions or concerns, feel free to ask them without the need for managers or other third parties acting as disruptive intermediaries. Transparent communication is the greatest guarantee of a project’s success.
In light of our partnership approach to software development, it should be evident that we do not consider customers to be mere assistants — they are part of our team. Through this collaborative strategy, whether you find yourself in the mood for a Victoria sponge or a fully-fledged wedding cake, Software Planet Group can help you discover exactly what your business needs.