Agile projects are ideally a collaborative effort among the team members and with the customers, and the planning process should be a similar endeavor. Everyone should get a clear understanding of the project as well as their respective roles and responsibilities. As the saying goes, well begun is half done. A well-planned kickoff meeting sets the tone for a successful project.
You've heard of a minimum viable product, which has only enough features to create a working model and provide feedback for further development. If you want to get started on a new project quickly, Allan Kelly suggests assembling a minimum viable team—only a few people, with only the necessary skills. They begin work right away, with a small budget and tight feedback loops, driving down risk.
Many organizations appear to suffer anxiety at the thought of programming. They want to get everyone but the programmers in a room to discuss a project down to the minute and the dollar, without a full understanding of the coding required. But a few hours of code experimentation generates far more understanding than days of debate by architects and analysts. Don't be scared of programming.
The space shuttles Challenger and Columbia were two of NASA's biggest disasters. Investigations into these accidents discovered the engineering issues responsible, but management practices and cultural barriers also were found to be contributing factors. Does your organization have a healthy culture that lets you safely voice concerns? It could help you prevent tragedy.
Test plans are essential for communicating intent and requirements for testing efforts, but excessive documentation creates confusion—or just goes unread. Try the 5W2H method. The name comes from the seven questions you ask: why, what, where, when, who, how, and how much. That's all you need to provide valuable feedback and develop a sufficient plan of action.
In agile development, a bloated backlog results from teams accumulating huge lists of requirements, usually in the form of user stories. Retaining every possible story for building the product weighs down the backlog while squeezing (or obscuring) the highest-value stories. The best way to help minimize this risk is to optimize the time spent defining and refining the product priorities.
When you're working on a project and are presented with a big story or requirement, resist the urge to treat it as a single piece of work. One of the principles of the Agile Manifesto is to deliver working software frequently. This allows you to learn from what you built and make adjustments. See if you can break down the request and find a small piece of work within the big.
The cost of delay for releasing a product can be due to many factors, but that value loss can seem like an abstract concept. Attaching hard numbers to a release timeline in the form of a time-value profile helps the development team and business stakeholders have a conversation about how long they have to build a product and when it would be best to enter a market.
Using the iterative and incremental agile development framework Scrum should help manage product development, but some teams still have difficulty delivering features in a predictable manner. This organization decided to address the mismatch between what was being committed and what was accomplished by doing an experiment in work transparency.
Estimation uncertainty in software projects is often not driven by the difficulty of the problem we are trying to solve, but rather by the health of our codebase, the quality of process, and how much discipline we have in our management practices. If you want to improve your estimates, then agile and #NoEstimates thinking can have the biggest impact on your team’s success.