4. Building it right the first time.
The whole point of software is functional code that does not break, or cause vulnerabilities to compromise operations. And yet, that seems like the elusive path for many software projects. With the Agile approach projects are delivered in small steps, called iterations, which are then delivered to end users. Each iteration allows for the opportunity to see the product in action, learn from user interaction and apply feedback to to the product for subsequent iterations. Every "baby step" is cumulative towards the end goal of the complete software product, so in practice, the Agile approach removes many possible points of failure, and allows us to microscopically examine each iteration to reduce or even prevent bugs from creeping in.
5. "Done" has to be defined clearly and why.
The Agile approach is based on iterations, which are micro-goals, which all culminate towards the complete product. Rather than keeping you and the management in suspense, we aim to deliver digestible iterations to you and our end-users every step of the way, on a timely manner. So "done" can be re-defined as many successes that all converge to the finished product at a foreseeable future.
6. We need your vision.
As our boss, your vision, your wisdom, your clarity, and your support, are all absolutely vital to our success to complete the software development projects. We can establish a "social contract" that we can always count on your executive support no matter the outcome.
7. We want you to know what we are doing too.
What gets measured gets attention. By using the right metrics, you can be sure of what is going on with your developmental team, and the successes every step of the way towards the fruition. It is all about insight. Raw data is meaningless unless you, the corporate manager, knows what the data means, in a succinct, and easily articulated format that you can share with your fellow managers, or even customers.
8. Why we reject work sometimes, out of necessity.
A good surgeon may sometimes reject an operation, because there may be a better alternative. Likewise, sometimes we may turn down certain requests, because such requests may not meet the complete objective, or may simply require a postponement due to our discernment to better streamline and queue the iteration. So we may reject a small portion of coding, and re-assign it till later along the flow, where it may make more sense.
9. We want to do a good job.*
We want to complete not just tasks and projects, but celebrate the success with you too. So expect us to soldier on until we shout the "hurrah" on the peak of completion. Nothing pains us more than a failed implementation or an ever-incomplete project that seems to miss the "last mile" again and again ad infinitum. Nothing gives us more satisfaction then seeing a goal or purpose achieved. Count on us to finish the project, in small iterations, and to show you our successes along each of these iterations. Let's pop the champagne at the end of the complete project, and we assure you we will, together.
Sign up for CIO Asia eNewsletters.