7 Surefire Ways to Deliver Quality Applications Faster
Many entrepreneurs find it frustrating to be involved in the application development process from the business side. In fact, collaboration between business and IT is a problem for many enterprises that has a negative impact on delivery speed and the overall project success.
Research studies from Forrester highlight the disconnect between business expectations and software development results: Even though 51% of business leaders expect projects to be delivered within six months, 70% said it actually takes longer than that. In fact, some 40% said it takes more than a year for IT departments to produce solutions to support innovative ideas.
The major impediment leading to the gap between business and IT is a lack of collaboration. The problem is that business executives often view the IT departments as “order takers”. In less than 43% of companies, the two departments work together to decide which business services or products should be delivered.
Traditional businesses need to shift their organisational models to view software development departments more as partners in delivering successful solutions. And here are the seven surefire ways to improve IT/business collaboration.
#1. Focus on the business problem
Many companies mistakenly focus on the solution envisioned by the customer. The problem is that the customer’s idea of what’s possible is often limited by technologies/tools they’ve experienced before. So what they see as “the best” might not be that good at all.
Let your business engineers (business experts who are well informed in the technology area) define the business problem and find the best solution. These people are ahead of the game because they have a deep understanding of the business as well as the capabilities of the platform.
#2. Divide and deliver work based on user stories
The old-school approach to app development is based on specialties: specific team members focus on specific technical areas and typically complete 80-100% of work themselves. However, this is not the most efficient approach.
Instead, introduce a practice used in Agile development methodologies: divide and delivery work based on user stories – a specific feature or piece of functionality written in the everyday language of the end user (e.g. As a <type of user>, I want <some goal> so that <some reason>).
In this case, every team member will develop a full working piece of functionality, instead of working on only his/her assigned task. The result is a better focus on the business solution, better software and happier users.
#3. Introduce “walk-in” hours
It’s important to ensure that every day developers have the opportunity to interact with the business, ask questions, discuss ideas and validate requirements or suggest new ways of doing something.
#4. Provide demos or prototypes during every sprint
Providing a working demo or prototype during each sprint is the best way to ensure that the business and IT department “talk about the same thing”, validate requirements and discuss changes if needed.
#5. Pair business users with business engineers
Cross-functional pair programming (where business users instead of only writing requirements documents are paired with business engineers) promotes a closer collaboration and knowledge sharing between developers and business users. It helps understand the requirements correctly, ask questions and resolve misunderstandings on the spot, which allows to build the right product faster.
#6. Collaborate with end users during user acceptance testing
User acceptance testing (UAT) is typically the last but yet a highly important part of the development cycle. Your solution might be perfect from a technical perspective. But these are end users who can help validate whether it will work from a business perspective.
Collaborate closely with the end user test team to identify and fix small issues on the spot. This allows to improve your bug fixing process and as a result, ensure quality and speed up delivery processes.
#7. Facilitate end-user feedback
The major problem with end-user feedback is that it often comes down to “it doesn’t work properly”. Users find it hard to explain exactly what they were doing or what they expected from the app.
To make feedback useful for developers, include a feedback button in every application that will allow users to simply provide feedback or capture the context, minimising the number of follow-up questions. This feedback should be added to the user story and then submitted to the relevant development team.