You want to know about risk early on in your projects and product development.
You really don't want to be surprised with showstopper issues that show up as you near your launch date.
You mostly want to avoid losing money on project delays, costly fixes and workarounds, or even having to start from scratch.
So then why do you continue to face scenarios where the biggest risks, issues, dependencies, and even requirements frequently get pushed much later in your development cycle than they should?
There's a lot of fascinating science around why people procrastinate.
As it turns out, one of the main reasons is that humans tend to avoid tasks that are hard or seem difficult when they fear failure.
When fear of failure is combined with environments where it's treated as The Worst Thing Ever (like when we give failure very bad consequences like demotions, getting fired, or even just laying blame), people will naturally put off those risky/ uncertain/ daunting tasks for as long as possible.
And then everyone's in trouble.
What You Can Do TODAY (Hint: It Involves Looking in The Mirror)
Here are 3 steps you can start implementing today to begin seeing improvements (Yes, the solution starts with you!):
1) Focus on Business Value:
By this, I mean stop looking for reports that show you % of requirements "completed".
Instead, start looking for tangible value that's incrementally being build for your end-customer.
2) Allow for (or be more tolerant of) Failure:
Create an environment where failure is acceptable, ESPECIALLY in the early stages of a project or product development.
Warning: Don't just pretend that you're ok with failure. That's even worse than being intolerant of failure but being open about it.
Set systems and boundaries for failure, so that it happens early, and always has clear learnings associated with it.
Timeboxing is probably one of my favorite things ever. And it should be one of yours, too.
Give a smart, resourceful team like yours a challenge, such as "Let's figure out how to get XYZ Company's API working with our software solution by doing a minimal proof of concept for the next [week/ 2 weeks/ etc.]"
If it doesn't work, you'll know at the end of that timebox that you need a new strategy. Right then. Not two weeks before launching your huge project.
THAT is invaluable.
Long-Term: A New Approach
Your company or team culture is a critical component of how empowered people feel to communicate and attack challenges early on.
Culture issues are exacerbated when your process does not lend itself to communication, collaboration, and transparency.
One way to address these issues is to implement a more agile approach in your team or organization.*
Agile approaches and methodologies have a knack for showing us what we need to improve on in our organizations, and if we listen carefully, we can actually fix the issues that hold our teams back.
I've personally seen the transformative power of bringing in an agile approach to organizations that had major issues with delivery, communication, and collaboration, and the results can be mind-blowing.
People who never spoke to one another because they worked in different departments were now part of a team. Issues were found and figured out collaboratively, and costs were avoided (or at least identified) much earlier on.
Even if you aren't ready to implement a specific agile methodology in your organization, there are things you can do to make incremental, meaningful improvements. (Have questions? Contact me and I would be more than happy to talk to you about some of your concerns and potential solutions.)
* Implementing an agile approach is not a silver bullet, nor is it the only way to realize improvements in your organization. It is, however, one of my favorite ways, since I've seen the results first-hand. (And they can be pretty cool.)