One of the big challenges on any major software project is maintaining a high level of enthusiasm. When the team and the stakeholders are enthusiastic, ideas flow and things happen. Enthusiasm creates energy.
One of the reasons agile software development is successful is its ability to maintain a high level of enthusiasm within the team. How? By delivering incremental results early and often.
Let’s consider an example of developing an enterprise software application to assist customers having credit problems. Early intervention with these customers by staffers can reduce credit losses and improve profits.
First, consider the waterfall approach
- Conduct business analysis and requirements gathering.
- Get the business users excited about the project and the potential profit increase.
- Engage the services of a project manager and a development team to write specs, review them, re-write them, write more, review more, etc.
- The specs are finally done and the business users ask, “Great, how soon can we have the software?”.
- 4 months later, the software is ready for QA.
- Meanwhile, the business users have implemented a manual approach and they now realize that the software will need more features than they originally thought.
- The development team needs to re-group.
- The business users become exasperated. They lose interest and enthusiasm.
Now, consider an agile development approach
- Assemble the complete team immediately including the business sponsor and product owner.
- Create stories to describe what the business users do.
- Select high-value stories and begin to build out the software using agile techniques.
- Engage the business users early and often to try the software and offer feedback.
- Incorporate new ideas into the agile development plan and keep delivering value.
- Keep building on the excitement and keep everyone focused on the solution.
- As soon as a core feature set is ready, have at least some members of the business community begin using the software to perform real work.
- Keep improving and delivering updates until the team delivers the value that the business needs.
Enthusiasm. If your team has it, they will respond with impressive results. If they don’t have it, no process or methodology is going to help.
Want your team to be more enthusiastic? Be more agile.