When asking a consultant if they can run a project with Agile there are assumptions on both sides that will make or break satisfaction. In my experience, these factors have the most impact when entering into an agile consultant partnership on a project.
DO YOU ALREADY USE AGILE?
If so, make sure you discuss your methodology completely with the consultant, including which roles you expect them to fill. Agile methodologies vary widely, even those that fall under scrum.
If not, reconsider making a consulting project your first agile experience. The tools, vernacular and—more importantly—measures of success that you are accustomed to will likely be quite different. Don’t undervalue the debt of taking on a new methodology along with on-boarding a consultant.
DO YOU NEED AN AGILE COACH?
If your team is new to agile, or if the consultant is taking on a leadership role within a relatively new agile team, you should seriously consider budgeting for agile coaching. Agile coaches help the organization understand the outputs and benefits of an agile project while helping the team transition to the new, highly transparent way of working together.
DO YOU HAVE THE TIME TO BE THE CHICKEN?
REGARDLESS OF ROLE, YOU ARE AN INTEGRAL PART OF AN AGILE PROJECT.
Stakeholders Can Expect: (at least)
- Weekly meetings
- A ping every other day to vet a concept or a solution on your user story
- To provide user stories
- To elect and champion a product owner that you trust
Product Owners Can Expect: (at least)
- Daily meetings
- Owning and prioritizing the backlog
- Attending the first part of planning meetings
- Facilitating sprint demonstration and retrospective meetings
- Daily interaction and availability to the development team
- Being called upon by the scrum master to help knock down barrier
- To provide user stories
- To elect and champion a scrum master you can trust
DOES THE BUDGET SUPPORT IT?
AGILE DELIVERABLES ARE MINIMUM SCOPE PLUS WHATEVER VALUE THE DEVELOPMENT TEAM BUILT INTO THEM.
Is the project fixed bid? Consider going for a fixed bid of the minimum, critical scope only and handle any subsequent iteration as a “per iteration” cost. They can quote you on per iteration as long as they know the time box for your release cycle. Fixed bid for a vague scope rarely works well for either party. Fixed bid for “anything it takes to make me happy” is a waterfall approach and not an agile approach. Agile emphasizes redirecting resources flexibly to provide the best, most timely solution for the most urgent needs.
Consider instead a ‘per iteration’ bid. The consultant should, if they have an agile team that has worked together before, be able to estimate pretty fairly how much they can get done per iteration.
DO YOUR RELEASE MECHANISMS AND POLICIES SUPPORT IT?
Quality and compliance are usually where complications occur. If you have a standard process that diverts your code through a week of QA and testing—you probably aren’t ready for this. Agile requires consistent and constant release, even if it’s every three weeks.
If your testing and quality/compliance gateways are baked into your development process then you’re in better shape. Automated testing, TDD and a the product owner and scrum master addressing the external quality and compliance barriers are also to your benefit. I’m not saying you cannot do agile without baked-in quality, but it’s very difficult, and you should standardize the way you accomplish your compliance and quality needs before you bring in a consultant to do an agile project.
CAN YOU TOLERATE IMPERFECTION?
Agile delivers solutions in small, incremental pieces. That means releasing something basic, rather than waiting until it’s complete with all of the features your customers want. Features are added through iteration. This allows you to react to the response to the release and adjust the next features accordingly.
Agile often delivers a greater number of defects unless a TDD solution is also applied. Not all defects are considered sacred and a priority simply because they are defects. If an enhancement is more important to the users and the defect is not critical, it will often wait.