Keys to Success

As we outline in our philosophy, we employ an approach that we call relationship-oriented development. We not only help you identify your needs, we look deeply into your challenges so that we can understand the true business context of your project. We note that most software projects fail. This isn’t necessarily just because they’re late or over budget, but because they end up irrelevant or obsolete before they’re even delivered. Rarely do initial perspectives of the needs of a software project sustain the length of the project. But how do we truly discover the business needs up front to ensure success? The answer is to approach your project in full awareness that initial aims may be incomplete or incorrectly prioritized. Only through the development process itself do we truly understand our priorities and identify further opportunities.

So why is the initial specification usually wrong?

  1. We don’t understand the problem; only from the perspective of the current function.
  2. We don’t take the time to ask “What do we really want?”, we just see the problem in the current context.
  3. We don’t look beyond the specific problem; are other departments having the same issues?
  4. We don’t want to think about losing jobs, reassigning responsibilities, changing job description and focus on our fears of change rather than our hopes for success.
  5. We don’t understand current technological capabilities and opportunities.
  6. We don't look at the problem in the context of larger business goals.
  7. Technical staff don’t talk to executives. Executives assume that technical staff just want bigger better toys and technical staff assume that executives don't understand the technology.
  8. We don't consider technical integration or capacity needs.

 

Relationship-oriented, iterative process

By progressing with an agile mindset and by taking on small bites at a time, we set ourselves up with a short feedback loop and ensure ultimate success.

What are the benefits of an iterative approach?

  1. Prototype software triggers ideas from users. It opens their minds to opportunities. The best ideas come from users. Should we be surprised by that?
  2. Changes to specification can be done at each phase.
  3. A good feeling about delivery and sign-off at each phase rather than ‘dragging’ of large project.
  4. Bug fixing at every phase from regular testing.
  5. Contract for small projects without long-term commitment.
  6. Adaption to changing needs.
  7. Testing of the integration into existing systems early.
  8. Identify risks early.
  9. Meaningful metrics available throughout process.
  10. Get to trial the relationship and adapt the process.
  11. Involve users early, generate a sense of ownership and enthusiasm