How we Improved our Software Development Process with Ask The CrowdMichael Cousins
“You can have it on time. You can have it within budget. You can have it high quality. Pick two.”
This attitude has plagued the software industry for decades.
With the help of Ask The Crowd, Triaster has reduced the time it takes to get software features to our customers, reduced the cost, and increased quality. Sound impossible? Read on and I’ll explain how we did it at Triaster. It may just work for you too.
In this article I will cover how Triaster use Ask The Crowd to:
- Use Customer Feedback to Prioritise Feature Requests
- Organise Software Development Workflows with Custom Lifecycles
- Organise Go-lives with Sprints and Releases
- How to Handle Epics and Parallel Processing of Input
- Organise our Development and Achieve our Goals
- Plus Try it Out for Yourself
Use Customer Feedback to Prioritise Feature Requests
A simple way to reduce costs is to stop writing software that your customers do not value.
Once you are out of the gate with the first release of a new product, as soon as possible and forever thereafter, your customer needs a massive say in the changes you make to the product.
In the early days your product will change because Product Owners, Engineers and other stakeholders within your organisation have proposed a new feature or identified a necessary bug fix.
In Ask The Crowd, we call these proposals to change the product 'Inputs', an Input is any suggestion to change or improve the product - Ask The Crowd helps you get your Inputs from your customers.
It then helps you prioritise, action, delegate and track those Inputs through the full development lifecycle (however this is defined in your organisation) from design and engineering to QA (Quality Assurance), documentation, and ultimately, release to your customers.
Some quick facts to illustrate the point: since the first Ask The Crowd beta, at the time of writing this blog in May 2022, Triaster have received 1010 Inputs. Of these, 559 are feature requests and 405 are issue reports (the vast bulk of which are reported from pre-release testing from our QA team, not customers!). The remainder are comments, queries, support requests and other suggestions that do not lead to product changes.
Of the 559 feature requests, 254 are already released.
Of the feature requests that are still to be released, the one our customers want the most right now is “Ability to change the crowd for a given Input”. How do I know this? Well, it is right there at the top of my list of Inputs with 10 votes in Ask The Crowd plain as day, followed by the next most popular feature request and so on.
And below in my list of Inputs organised by lifecycle stage (the Board View):
You will quickly discover that once your customers start to give you this kind of feedback, there will be absolute gems of ideas in your list of Inputs that will help you make your product more valuable.
One final word on expectation regarding the volume of customer Inputs you should expect. Keep expectations low on the volume of Inputs you should expect to receive from customers (as distinct from your own team). But when you do receive an Input from a customer, give it a higher weighting. Customers are busy folk, and for them to commit time feeding back suggestions for free to help you improve your products needs a lot of trust. They need to trust you will take their feedback seriously and will act on it. This trust can take years to develop, and can be quickly lost if the customers’ feedback is drowned out or ignored.
Organise Software Development Workflow with Custom Lifecycles
A Lifecycle is the sequence of stages that take place once an Input is received. A stage can be an activity, a deliverable, a milestone...whatever makes most sense to your team.
In Ask The Crowd, Lifecycles are completely customisable, so you can define, refine and hone the process by which you transform your Inputs to delivered products.
For example, the Triaster SaaS Feature Request Lifecycle goes through the following stages:
- Business Case
- Accepted for Development
- On Development Shortlist
- Developer Planning
- User Stories Defined
- QA Acceptance
- Code Being Worked on Today
- Code Reviewers Briefed & Demoed
- Awaiting Code Review
- Code Ready For Staging
- On Staging Environment
- In Testing
- Testing Complete
- Being Documented
- WIP Documentation Complete
- Help Reviewed and Approved
- Regression Test on Live
- Regression Test on Live Complete
- No Action Required or Intended
That isn’t the Lifecycle we started with, but it is the one we refined (and continue to refine) over many months as we continuously improved our development and QA processes.
It takes seconds to customise a Lifecycle in Ask The Crowd. Because it is so easy and natural to do, there is a virtuous cycle of Input ➡️ Action ➡️ Result ➡️ Lifecycle Refinement ➡️ Input. This virtuous cycle is one of the most enjoyable and powerful aspects of using Ask The Crowd.
It leads to a constant alignment and then better realignment of resources and actions to the successful processing of the Input.
And Lifecycles do not only involve software engineers. You can extend your Lifecycles to cover all stages of Input processing and all the teams involved. We have our QA team, documentation team, engineering team and marketing team all involved in the Lifecycle, many of whom are geographically remote, working from home etc. With Ask The Crowd, it doesn’t matter where anyone is, everyone can see exactly what stage an Input is at and who it is with.
Organise Go-lives with Sprints and Releases
At Triaster we develop within a framework of Agile principles, but specifically tailored to our way of working. It works very well for us, and Ask The Crowd helps us organise our releases within the Agile approach we have adopted.
In Ask The Crowd, you can group Inputs into Iterations (Sprints). We use 3-week Sprints in our Agile approach.
So every Input is in its own Lifecycle (it may be a bug, a feature, some documentation updates, change to user guides etc.), and all of the Inputs we want to Go-Live with are grouped into a Sprint. With the Agile planning ceremonies, scrum organisation and so on that we use, we have got very good at going live every 3 weeks. And as the software is always fully tested, we are going live faster, with fewer bugs and with the changes our customers want the most.
As well as Iterations (Sprints), you can also group Inputs into Releases.
We have found this to work very well for grooming the backlog for example. Every new Input is placed into the Backlog Release. While in the backlog, an Input can still be voted up or down, and the business case developed for its implementation.
Eventually, when we Go-Live with the Input, we group it together with all the other Inputs that we went live with at the same time, and this becomes our Release.
Ask The Crowd lets you filter Inputs on Topic, Release, Iteration (Sprint), Lifecycle and Lifecycle Stage, as well as several other parameters, as can be seen in the image below.
How to Handle Epics and Parallel Processing of Inputs
In Ask The Crowd, an Input can have one or more Children. Each Child is also an Input, and can have its own Children and so on.
For example, Input 8295 is shown below.
The Hierarchy section is showing the list of Children down through the hierarchy. There is no limit to how many levels of Children there can be.
Because every Child is also an Input, it can be independently assigned to a new Lifecycle and new team members. In fact, there is no constraint on processing a Child Input, it is completely independent of its Parent. The Parent\Child relationship is there to help organise things, not to place processing constraints.
This opens up two very powerful capabilities.
- Epics can be created as a single Input, and broken down into smaller and smaller steps as required just as in classic Agile feature specification
- Child Inputs can be treated as clones, to trigger off parallel processing
Item 1 above is pretty straightforward and the concept of Epics and drill-down will already be familiar to most readers.
Item 2 bears a little closer scrutiny.
Suppose your development process is such that once an Input has completed developer-testing, it goes for QA testing and at the same time the documentation team start to work on updating the Help content.
Furthermore, to help keep Lifecycles simple and owned by the people that perform them, rather than QA and Documentation being stages in the overall process, they are separate Lifecycles.
Ask The Crowd makes this easy. You simply create two children of the Input, assign one to QA, the other to Documentation. The assignee can then put the Input into their Lifecycle, process it, and eventually assign it back to the parent Input Owner whereupon it can be checked and closed off.
In this way, any number of people and Lifecycles can be deployed in parallel to process an Input.
Tying it all Together
For Triaster, Ask The Crowd accomplishes many things.
It is our Features and Issues database. We can see in an instant exactly where every feature request is, who made it, who is processing it and how important it is to our customers. And very importantly, we can allow customers to add their requests directly into the database.
It is our Software Development workflow system. Every Input can be assigned to an individual to work on. They can then assign on, assign back and so on.
It is our Process Management system. Every Input is in a Lifecycle. A Lifecycle is another word for a Process (it transforms Input to Outputs – in our case Product Change Requests to Go-Live).
It is our Requirements Management database. Not all Inputs are Requirements, but every Requirement is an Input.
It is our Agile Requirements Specification tool. Every Requirement can be defined and broken down into greater and greater levels of detail.
It is our Release Management system. We store and track every Release and can instantly see exactly what changes were made in any release. And so can our customers! It saves so much time in the communication of changes that are important to our customers.
It is our Scrum Management tool. We organise ourselves by Scrum, Iterations, Sprints and Releases. This is all embedded in Ask The Crowd.
Our goal at Triaster is to create 3U software, software that is Useful and Usable and therefore software that is Used. Ask The Crowd is Used every day, many times a day, by everyone in the company that has a part to play in delivering our Go-Lives. We love it 😊. And it is helping us every day to deliver better software, at lower cost and more rapidly than ever before.
Try it Out
Ask The Crowd is free to try and you can be up and running in minutes. Simply click the button below to be taken to the sign-up page. Be sure to click Help > Getting Started when you first log in so we can walk you through the initial steps.
Written by Michael Cousins
Mike founded Triaster in 1994. A thought leader in business improvement, he has led Triaster ever since, spearheading its development of beautifully engineered business improvement software, that is both full of the functionality required by business analysts and that end users find really easy to use.