Software used to be delivered in an 18-month death march. Software developers worked in silos; executives frantically worried about getting to market before their competitors; project managers were stuck in a special kind of hell where they coerced developers to code faster and cut out features, and begged management for more time and more money. When the product finally reached the market — it was often a dramatic failure.
Now, agile practices, combined with cloud deployments, have significantly reduced the lead-time of shipping software. It can be 18 days — not 18 months. However, just because you can go fast, it doesn't mean you're delivering anything that's useful, needed or of value. Most organizations celebrate the 'fast' vs. celebrating the 'right'.
Todd Olson, vice president of products at Rally Software, has identified five tips to help ensure you are delivering ahead of schedule and under budget – but most importantly – that you’re building the right thing.
Click through for five tips to help ensure you deliver the right product ahead of schedule and under budget, as identified by Todd Olson, vice president of products at Rally Software.
More important than delivering your project on schedule and under budget is to make sure you are building the right thing. In order to do all three of these things, you need to ensure that your business strategy is connected to execution. This means connecting the why/how/what to business goals/product portfolio/backlog – in other words, why you are building something is your core company strategy and business goals; how you are going to achieve those goals is through the products that you bring to market; and what you are bringing to market is the execution of the software development process – your product code.
The heartbeat of agile development is the iteration – the ability of the team to create working, tested, value-delivered code in a short time frame – with the goal of producing an increment of potentially shippable code at the end of each iteration. This can be a significant challenge for the team, and mastering this skill takes guidance and practice. Part of that practice is implementing a standard two-week iteration window with planning meetings in advance.
Successful iteration planning meetings should conclude with the following outcomes:
- An iteration theme; basically, what the iteration is intended to accomplish.
- A prioritized list of stories to work on for the iteration.
- The stories’ estimated tasks and each task’s assignments.
- A commitment by the team to the objectives of the iteration.
- Documentation of the plan in a visible place or in a widely accessible tool.
Documentation of the plan not only helps in iterations, but also drives communication.
Open communication is key to success for on-time project delivery. Daily stand-up meetings give the team transparency and visibility.
Kanban boards are a visual way of showing backlog, work in progress and completed tasks. Kanban facilitates open communication and provide a single source of truth for the team.
When organizations adopt agile practices, a fundamental shift in culture is required.
Not only does this mean creating a project development plan and establishing methods of open communication, but teams are suddenly required to participate in the decision-making process and to take ownership of commitments. Project leaders are expected to create and facilitate this shift to a collaborative culture. While collaborative cultures ultimately create stronger, more productive teams with a vested interest in an organization’s success, the move to collaboration can sometimes be challenging.
To facilitate positive collaboration, move the team dynamics from divergent to convergent thinking*:
|Generate alternatives||Evaluate alternatives|
|Free for all discussion||Summarize key points|
|Gather diverse points of view||Sort ideas into categories|
|Unpack the logic of a problem||Arrive at a general conclusion|
*From the book Collaboration Explained, by Jean Tabaka
One of the most important (and most often overlooked) steps in the software delivery process is customer feedback.
Providing frequent demos to customers to validate decisions and bring in the customer perspective is the secret to building the right thing. Your customers might surprise you and tell you there is enough value to release earlier than you planned. Customer feedback will tell you if what you are building is useful and valuable to your target market.
Following these five steps will help you deliver your projects on time, under budget and ensure you are building the right thing, a product of value that your customer wants and the market will buy.