BitBoost uses Agile methodologies in its development process. The reason for this is Agile’s rapid development cycle and its emphasis on creating working software. Using Agile, BitBoost learns all the time and can constantly iterate our app with improvements and new features. The outcome is software that can be released quickly and on-budget, adapting to the evolving needs of the marketplace along the way.
Technology moves quickly, and blockchain technology even more so. Any organisation that wants to launch a crypto product is fighting the clock, right from the start. Consumers’ needs change, the technological landscape shifts, and competitors will do everything they can to beat you to market. That’s before you start worrying about burn rates and what happens if you run out of marketing and development funds. The history of crypto is littered with the remains of good ideas that never made it to market – not because they weren’t great in theory, but because it took too long or too much money to get them into users’ hands. In short, time is of the essence.
That’s why BitBoost has adopted Agile methodologies both for our product development and for our marketing activities. ‘Agile’ has become a bit of a buzzword in software development over the last few years, but there are good reasons to choose it. Alongside other similar tools/approaches (more on these below), Agile allows us to take a rapid, iterative approach to development. We can react to changes in technology and the market as we go – therefore wasting as little time and money as possible.
Build, test, learn, repeat
BitBoost uses a series of related but different project management methodologies and tools, including Lean, Agile and Kanban. If you’re not familiar with these (and even if you are), the differences can seem subtle and confusing. As a broad overview:
Lean is a set of values for delivering software quickly, efficiently and in response to genuine market needs. The seven key principles of Lean are:
- Eliminate waste
- Amplify learning
- Commit as late as possible
- Deliver as soon as possible
- Empower the team
- Build integrity in
- See the whole
The overall idea is to ensure that development occurs fast. However, decisions are only taken when they both make sense for the end-user and when it is clear that they are the best option in terms of the overall product. We don’t look for short-term wins at the expense of the big picture. Lean is all about delivering value at every stage. Anything that doesn’t add value is considered waste, and is cut. Lean can be characterised by the slogan: ‘Think big, act small, fail fast; learn rapidly.’ You can learn more about Lean Startup methodology here.
Agile shares a lot of values with Lean, and is an approach articulated in The Agile Manifesto. This is a key document put together by 14 experts from the software industry, in response to flawed ‘wisdom’ about the best way to create applications. Agile seeks to break a large task (like a big software project) down into lots of small ones and individual bits of functionality. These are built separately. They are delivered and then tested and iterated in short development cycles – typically just two-week ‘sprints’ (to use a term from Scrum, one implementation of Agile).
Agile’s guiding principles are:
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
You can read a more comprehensive account of Agile’s key principles here.
Kanban is a framework and set of tools for scheduling. It is often used to help visualise Lean and Agile processes. Kanban was created by an engineer at Toyota to facilitate just-in-time (JIT) manufacturing. Many manufacturers now use JIT processes, since it is inefficient and unnecessarily costly to complete a task or component too early or too late. Kanban tools have since been adapted for software development and other tasks, with the aim of reducing or eliminating bottlenecks. We have found these very useful in keeping us on track!
This is how our Jira (the project management tool for coders) looks like… .
The advantages of Agile
Prior to the rise of Agile, the standard process for software development was the ‘Waterfall’ approach. Waterfall has been used for software development since the 1970s – the era of mainframe computers. It entails creating a detailed roadmap with key milestones and targets – and, of course, budgets. A large project might have a development timeline of two years or more, and cost many millions of dollars.
Agile is designed to avoid these issues by taking a radically different approach. It’s one that has repeatedly (and successfully) been tested in the field. Take the example of Unboxed Consulting, for example, which was commissioned by the UK government to build their e-Petitions website. Where other companies gave quotes in the region of 8 months and £1 million, Unboxed put in a bid for 8 weeks and £80,000. Their Agile approach enabled them to deliver on time and on budget, and the service has gone from strength to strength ever since.
The Lean and Agile approaches work together so well that the terms are often used synonymously, though they’re not the same thing (even many of the teams that use them don’t fully understand the difference). The simple answer is: ‘Agile development is a process for rapid software delivery that is connected to many Lean principles.’ Agile’s iterative approach, short development/feedback cycle, and structured process of learn/adapt all align well with Lean’s core concerns.
This has been extremely valuable to us. For example, it’s how we pinpointed the problem of transaction fees and made the decision to move to IPFS rather than storing item listings on the Ethereum blockchain. The key to Agile is failing fast: if something is going to go wrong, it’s best to know that sooner rather than later so you can try a different approach. We did just that!
But Agile and Lean can be applied to more than just software development. Our core product isn’t the only part of our operation we can optimise by focusing on adding value and ensuring that we learn rapidly with each iteration. We’ve taken this same approach to our marketing. And so, as we launch our working beta and start to advertise it more actively, we’ll also be testing out a series of different strategies for customer engagement, service provision and pricing. We will evaluate each as we go and build on the ones that are most successful.
Both in terms of our software development and our marketing, we’re convinced that Lean and Agile are not just the best ways to go: they are the only viable ways to run our operation. The Lean/Agile approach ensures that we create world-class and ground-breaking software, and get it out to as many businesses and customers as fast and effectively as we possibly can.