Interviews
Software is complex and success hard to achieve, Q&A w/ Max Francis Founder of Black Cow Technology
Online gambling operators continually engage with different software projects but the rate of failure remains incredibly high. This is usually due to time pressures placed on the project. To learn more about software development, and some of the pitfalls operators need to be aware of, we spoke to Max Francis, founder of Black Cow Technology and 25 year veteran of software development. Max also talks about Agile and Rapid Application Development, and how by adopting these approaches, and working with a specialist software developer, operators can hugely increase the chances of success of any software project.
What are some of the main challenges operators and suppliers face when it comes to software development?
Software development is about solving a problem and the very nature of this means that we don’t know how long it will take. This is one of the biggest challenges operators and suppliers face when it comes to software projects. They struggle to understand that software development is a creative process and that we are trying to solve a problem we haven’t tackled before and we simply don’t know how long it will take to do this. This doesn’t reconcile with the date-based mentality of most organisations when it comes to deadlines and completion. This often sees projects rushed and hurried to meet an arbitrary deadline and this usually results in the project falling short of the mark or failing completely. It’s much less painful for all involved if there is a universal, upfront understanding that we can never know how long a software project will actually take.
What do companies need to consider if they are to complete software projects successfully – on time, on budget and in a way that effectively solves the issue?
Operators and suppliers need to make business commitments of their own and they need to be able to rely on the software provider they are working with on the project. To be able to do that, both sides need to accept the project is going to vary and evolve over time, and that they will have to trade off three crucial dimensions if it is to be delivered successfully: features, quality and timescales. It is impossible to secure all three and at least one will have to give. So, if a project needs to go live by a certain date, that might be fine, but functionality can’t be fixed for that date. If the project needs certain functionality, then you can’t set timescales. If certain functionality is absolutely required by a certain date then the quality will have to give. Most projects try for all three – features, timescales and quality; and this is why they fail.
It seems that being realistic about what can be achieved is key.
It is indeed. When it comes to it, a software development project ends up in one of three places. Good with all the features but not quick; good and quick but not with all the features; or all the features and quick, but not good. The latter approach, perhaps surprisingly, can be useful for prototyping and proof-of-concept projects but care must be taken when developing without quality. All too often, trial projects end up seeping into mainstream production and people wonder why the quality is so poor. In my experience, it’s much better to be realistic about what can actually be achieved rather than trying to run a project with blindly perceived “needs” that just can’t be met. This doesn’t mean scaling back ambitions, it just means understanding the compromises. That said, to be able to predict what can be done, we need to understand and deliver small useful chunks of what we know rather than failing to deliver based on what we want. It’s always best to be realistic, and Agile and Rapid Application Development principles help us to do this.
Can you tell us more about Agile and Rapid Application Development principles?
At Black Cow we have the mantra “something useful to someone, sooner”. It’s essentially about partnership-oriented iterative delivery. Satya Nadella of Microsoft put it quite nicely: “set and repeatedly meet short-term goals”. The central idea of any Agile development practice is that we don’t know what we’re going to eventually need, so expect change and collaborate to deliver for the biggest difference to the business now. Think vertical slices rather than layers: do some of it fully rather than lots of it partially. Everything flows much more easily in our projects once our partners understand that it’s ultimately about delivering to their imminent business need. For me, the most important aspect is the partnership – all parties are delivering this project. We’re not trying to ruin your day by telling you that it can’t all be done; we’re trying to help you plan! Choose the compromises before they choose themselves.
Can you give a few real-world examples of what these approaches look like?
So, it’s good to have a plan but make every effort to base your plans on what can actually be achieved now rather than what you ultimately want to achieve. Then you need to recognise that plans always change. It’s important to tackle small enough chunks to allow yourself a better chance of success by predictably delivering, then delivering to the imminent business need. And be sensible about what that need is. To determine this, look to solve today’s problems and not the problems you might have tomorrow (unless that is in itself today’s problem). Recognise that there will always be compromises.
Think progress and not perfection. Success comes from delivering as consistently as both sides can manage and seeking to optimise at all times. Adjust the process based on the progress you are making. Don’t believe anyone who tells you they will deliver on time – they are only saying this and can’t guarantee it. This includes the customer providing material to the software developer such as specifications and responses – this is also a form of delivery.
Finally, always treat timescale requirements with suspicion. You must ask if time really is of the essence or whether it is just a desire to get something done as quickly as possible. A real deadline means the project fails completely if it’s missed. This is usually not the case.
What do operators and suppliers need to look for in a software development partner? And what should the working relationship between both parties look like?
Working effectively and with the right software provider is mission-critical. The supplier and the customer need to deliver, support and commit to each other. There are no sides here, this is a partnership of equals. It’s a relationship that works best when the customer keeps the supplier focused on the requirements and the supplier keeps the customer focused on what’s technically possible. In this way both parties converge on a solution and are equally committed to the shared goal. “I’m the customer and this is what I want” doesn’t get software delivered. A more intelligent approach is needed.
Software projects are highly complex interactions between several parties with requirements that change on the fly. Projects also continue well after delivery – it’s never about providing a fixed bunch of requirements as a package and then you’re done. That’s why we ensure we take the customer on the journey with us, acting as a true partnership. This is why non-software businesses should engage good software experts for their software projects, allowing both sides to get on with what they do best and allowing the project to succeed.
-
Africa5 days ago
Altenar obtains National Manufacturer licence in South Africa
-
Industry News2 days ago
Pennsylvania Skill, powered by Pace-O-Matic, congratulates PA Gaming Control Board and casinos on a banner 2024 with record monthly revenue
-
Asia6 days ago
Government support, medals, and global recognition define a landmark year for Indian esports and video gaming in 2024
-
Latest News2 days ago
FBM Foundation spreads holiday cheer with initiatives in Brazil and the Philippines
-
Australia4 days ago
AUSTRAC Takes Ladbrokes and Neds’ Operator – Entain – to Federal Court Over Serious Non-compliance with Australia’s Money Laundering Laws
-
eSports5 days ago
GRID Joins IBIA as an Associate Member, Strengthening Esports Integrity
-
Australia6 days ago
Regulating the Game 2025 adds masterclass on safer gambling training and customer care
-
Interviews5 days ago
FTDx Wins Xanada Startup Contest: Unlocking Untapped iGaming Traffic with Innovative Monetization Solutions