I have a friend, who is a veritable genius. Mathematically, philosophically, and as a systems developer specialising in data engineering. When he goes on site, he saves the day on large projects. I am that same kind of developer who can deliver solutions that are needed rather than solutions that are wanted.
This leads to there being very few contracts which we can get, and even fewer we are interested in. Jumping onto the next fullstack agile project delivering some noddy system isn't for me.
The shift towards the user - wrong move
It was Henry Ford who said, "If I had asked them what they wanted, they would have said faster horses." Yet, we go on this crusade of just giving people what they ask for. Nobody likes to be difficult - standing your ground is stressful and likely to lead to resentment against you.
The Agile Manifesto became all to do with centering around the user and requirements. The reasons this does not work is because the user rarely knows what they want. When they do know what they want, it is often based upon some convenience factor to make their lives easier - but not their company. I have witnessed so many projects where users shun innovation because it threatens their role. I have witnessed users sabotage £20 million plus projects and not get fired. The idea that users are always the people to shape a system being designed is insanity.
Of course, there are critical systems where intelligent practitioners have to be fully engaged in the design of a system, but this idea of users first rarely leads to successful software.
Quick semi-fictitious example
Before I started contracting, I did a lot of end-user report development. Actually really enjoyable, because users are very pleased when you deliver what they need. However, when we think about what is really needed - it is a system that bypasses the individual altogether. It doesn't mean the user becomes redundant because by them working with technologists, the organisation and their role improves.
Imagine we have a team of administrators who manage case loads. 10% of those cases involve bad accounts that needs reviewing. It requires four administrators to manage those 10% of cases. Supposing our new reports highlight another 5% of cases. Do we increase the number of administrators to seven (remembering holidays)? Is this model scalable? Imagine if the volume fluctuates but is trending upwards?
We know that these types of roles aren't fair on the people, are stressful, and could benefit from automation.
It became clear to me, that in many cases, creating a system where users have to be part of the process is wrong.
Quite simply, many roles are labour intensive and the minute that capacity increases its function becomes useless.
Inhouse Technology serves whose interest?
The only interest technology should serve is the customers. By making your company more efficient, more compliant, more adaptable to your customer's needs, the better placed it is to survive and grow.
So much technology focus is about satisfying a department not connected to the business at all. Sure - Accounts has to be right but if Accounts are not thinking about the business, and the technology team serving them thinks about it even less - what are they there for? You may as well just outsource that function.
There are administrative functions purely to do with maintaining and stabilising but unless those staff have a real understanding of what the significance of the system is - again, outsource it.
The only reason for inhouse is if the external cost is prohibitive, but be wary of divisions which appears to be separate entities from your company.
The role of agents in failing to deliver
When I think about what an agent should be doing, it should be as a mentor to their clients and a talent finder for their client's specific needs. I have met a few great agents, who goes to great lengths to place you on the right project but they are involved in this game of supporting side-arms of enterprise technology.
I will give a quick example - Data unit testing and saving time
Every significant enterprise project involves, Business Analysts, Developers, Project Managers, Testers, Users and project sponsors. Every project involves really badly designed testing, lots of meetings discussing nonsense, and worst of all - no repeatable shared value in tests.
On three separate sites, I have introduced - NBI, a data unit testing framework. Developers just don't get it, testers are either too poor technically to understand SQL or would rather invent their own secrets processes to avoid scrutiny, and Business Analysts would rather produce their own spreadsheets or worse. More technical Business Analysts may write code for developers to implement or test. Suffice to say, projects of this nature are a disaster and I could argue that around 60% of a project's time is wasted on this nonsense.
I get it, why would an agent want to make their clients more efficient - if they can palm off a whole project team to the client and the project runs dysfunctionally for two years, but kind of gets delivered, and the agent gets paid, who cares?
Unfortunately, what is happening is these enterprises are getting bled dry. They cannot innovate and are slowly dying or already zombified. Strangely enough, I want my clients to be successful, not waste time on middle-management bollocks which sucks the life out of the client.
That is the job of the consultancies?
Wrong - many technology based consultancies and agencies are one and the same these days. An agency should be looking at their client's real business, finding talent and offering it. They should even be proposing business plans with personnel capable of growing their client's business and success story?
I have never, ever heard of this happening.
Blockchain and Bitcoin
Before I had heard of Bitcoin, I didn't know about the Store of Value, Medium of Exchange, Unit of account. Opportunity of wants wasn't something that had taken up any of my mind. Fiat was an Italian car manufacturer. This is what started a complete re-education into what money is, how it loses purchasing power through inflation, and the many tricks undertaken by institutions to subvert advancement of the masses.
When we think about how amazing its invention is? A bunch of cryptographers solved the Byzantine General problem, invented the hardest form of money ever, expose usury, started millions of people starting to understand more about finance and money. We see that Bitcoin is permissionless and borderless, meaning government can no longer enslave its citizens to undue taxation.
More staggering is its market capitalization - today, £175 billion. 3 fifths the size of Microsoft, open source, answers to nobody?
Even more incredible than that - no project managers, no agile, no inhouse technology, no agents? Sure, there are parasites latching onto it, but remarkable.
People matter but so does taking risks
Ultimately, it is people who matter, the users do matter. By innovating and coming up with solutions that drives people forwards, we find a far healthier and productive environment for all.