Back in the late 90s, the first product I created saved the traders in big financial companies hours every day. They loved it and bought it.
Just one problem: my team and I worked day and night for months to deliver it. Not terribly efficient. To be honest, if we had charged for our time, no one would have been able to afford our software. (The folly of youth.)
Since then, I’ve fine-tuned the development process and proved, in my own companies and working with clients, that if I get the following four essentials right, we achieve software development excellence every time. And we do so at the least possible expense.
We use the Agile methodologies, working collaboratively and iteratively. But we avoid some of the potential traps of Agile by adhering to these four underlying principles in everything we do. In the end, that means we deliver quality software and greater profits for our clients.
The four essential elements are:
1. Story mapping to start
We start each project by “painting a picture” of the perfect outcome. Using plain ol’ English, we describe what the system needs to look like. We identify what’s the most valuable and where the risks lie from the start. PI uses a proven system called “Story Mapping” to truly engage with our customer and create a common understanding of the planned outcome.
It’s an incredibly valuable process. Our approach is based on the bestselling book by consultant Jeff Patton: User Story Mapping: Discover the Whole Story, Build the Right Product.
Story mapping is our guiding light. It is a high-level brainstorming activity that blends the theories of Agility, Lean Startup and Design Thinking. It keeps everyone focused on value – the product developer with the original idea, and the engineers building the product.
2. The best tools
We use the best tools money can buy. Why do we go to that expense? Because without the best tools, technical people lose focus on value. They get drawn into tool creation. Engineers might spend three months building continuous integration tools, test frameworks, deployment tools when they could have bought them off the shelf and had them working in a week. If you insist on starting your project with the best tools, you will reap the benefits in time saved as the project develops.
3. Strong development standards
To achieve predictable, repeatable outcomes, we keep our reference architectures and development standards (best practice “blueprints”) fairly static.
Once we agree on best-practice and clearly communicate those decisions to everyone in the process, the “noise” disappears. It’s calm. We stop wrestling with the “how” of technology and deployment. We become experts in our best practices quickly and think about “what” we are making, not “how” to make it.
Good development standards create predictable outcomes. That means we get very good at estimating time and cost, and confident in our ability to deliver. That is gold because everyone can focus on taking our customer through the product journey.
4. World-class people
In my experience, spending a little extra money to attract and retain the right people saves a lot of money in the long term. The challenge most companies face is knowing what to look for in their contractors or employees.
I am crystal clear about who I want on my team. The right people are technically gifted, can hold a conversation like normal people (which is hard in software land), are passionate, and are delivery focused.
Summary
Based on decades of experience in software development, and delivering dozens of projects, I have fine-tuned software development excellence into four essential steps.
Start with story mapping, buy the best tools, commit to strong standards and work only with the people who are focused on value and delivery, and speak about technology in plain English.
If you’ve got those four things – which we really do here at PI – you have your house well in order. You can approach any problem and de-risk, maximize value and deliver, deliver, deliver. That’s what I’m all about.
Learn more about PI Digital or get in touch.