You need your development team to be able to deliver
what you need, when you need it, and to be able to respond to
changes of all kinds on demand, write Ross Hamilton,
director, and Joe Morrison, managing consultant, at Lab49
consultants.
Why do changes of direction have such a huge impact on project
delivery times and quality? Why does it sometimes seem like your
development teams are not responsive to business needs? Why can't
they just get the job done?
Part of the problem is that financial and technology markets are
continuously innovating and adapting, meaning that your priorites
change constantly. If change is constant, the engineering team
needs to be able to respond quickly. But software design influences
which types of change are easy and which are not. The engineering
team should not make key design decisions behind the scenes without
your input.
Software can be
built to your exact specifications if that's what you want. But
there may be significant benefits if you can engage the technical
experts in discussing innovative, alternative ways of approaching
business problems. You need to collaborate with the technical team
and allow them to understand the nature and dynamics of your
business. They can then provide you with their insights into what
the core or infrastructural needs should be for the system over
time. If you are not available, developers may be forced to make
important decisions concerning the scope or prioritisation of
features. These may be decisions that they should not be making,
but which may be invisible to you.
Iterative development techniques deliver production-quality
increments of software on a frequent basis by embracing changes in
requirements and priorities, promoting close collaboration,
providing continuous feedback and risk management controls, and
allowing transparency into the development process.
However, even these techniques need one thing - you.
Fundamentally, it is critical for the business stakeholder to be
actively and directly engaged in the system development process. In
fact, with techniques such as
Scrum and XP, the dependency on you actually increases.
But buyer beware. All of this does not mean that you now have a
license to get involved in all the details of implementation. A
balance needs to be struck between collaborating with your
engineering team and intruding in their space. You know your
business. Your software team knows technology. You know what you
want. Your software team knows how to design and build a quality
product. The best results come from keeping these lines clean and
leveraging each other's areas of expertise.
Five top tips for being a better IT
customer:
- Understand that change is constant
- Be open minded and forward thinking, and actively engage and
collaborate with the development team
- Focus on defining and articulating your requirements and
priorities
- Let the technical team define how it gets done
- Respect each other and let the results define success