honey-badger
The Courage to Criticise
The Siren Song of LLMs
Big Store and Small Store
WeAreDevelopers 2022 – My 3 highlights
Should you read The Unicorn Project?
>In this case, I wouldn't say you absolutely need a full quality team, but having some folks whose primary focus is testing and test automation to help skill up your dev teams sounds reasonable.
This is what we have at our current team, as I have described in a comment above, and it has worked very well for us.
It is easy to see the increased traction due to building new features. It is difficult to understand the slow, grinding attrition that happens due to bad quality.
Before I joined my team, it didn't have a dedicated QA member. The quality of the software was fine, but there were other compromises. The team didn't have a good test strategy - every developer made adhoc decisions on how their code was tested. Our E2E tests ran slowly and had tonnes of duplicates, since nobody had gone through the entire list and cleaned it up. A dedicated QA member has the time and the responsibility to solve problems with quality that most devs are likely to treat as secondary to developing features. And the improvements are substantial - our E2E tests now run 18x (!) faster.
For the most part, I see my role as being an enabler - I help devs build quality into their work and hold them accountable to it. I don't see it as an adverserial division of responsibility, but more as a collaborative effort, with the dev and QA coming from a different focal point.
The problem with strict division of labour and adverserial QA is that it leads to
1) Organizational / team silos
2) Local optimization (software development and QA is intricately interwoven, so it doesn't lend itself well to this strict division)
3) Information overhead and loss
A good QA engineer, IMO, requires better coordination and communication skills than a developer because they liaise with multiple developers and inspire them to make quality a priority in their work. Further, QA is involved from the definition of a feature (in sprint refinements) right up to when code is deployed and runs well in production. Therefore, at certain points, the boundaries between QA and the Dev team or QA and the PO blur and disappear entirely.
I found this to be a great read that summarizes my thoughts on the topic: https://www.thoughtworks.com/en-de/insights/blog/qa-dead
I think RPA exists because every organization is plagued by people management problems that developers and IT often fail to acknowledge.
However, that app's UI would keep changing due to updates from the IT department, over which the customer service department had no control over. This is why I call the automation 'fragile'.
But if you are automating using a bot (a software program), why does it not have access to the same pool of data as the UI application (some database somewhere)? Would that not be a more robust means to retrieve it rather than via the UI?
If you are automating a business process via the UI (other than for simulating user interactions for testing) there invariably exists a more efficient way to achieve that end without involving the UI. I have found no exception to this rule.
As for low-code and no-code, I understand your aversion. Those solutions aren't for somebody like you :)
PS: I checked out Axiom yesterday and am excited to see the problem you're solving. Wish you guys all the best!
3) The existence of business problems that are valuable in their own right, but not compelling enough for regular developers in the firm to care about
And yes - the exhortation in my article was essentially for RPA developers to max out on the use of the text-based script editor.
RPA replicates the work that these workers do by automating on the UI of the legacy application and replacing them. It is championed by ambitious business professionals who
1) Don't know that a more elegant solution exists in the traditional IT world
2) Don't receive enough support from the IT org to solve this business problem that is crucial to them.
Therefore, such business professionals collaborate with consultants to spear-head RPA projects in the name of digitization, ushering in AI or similarly varnished back-doors.
However, as long as important data tends to accumulate in disparate islands that IT doesn't have the time to pay heed to, RPA projects will continue to be sold at a price that is a little lower than the salaries of the employees they 'liberate'.
There is, although, another wrinkle to this. RPA is also about democritizing IT by handing (ideally) every white-collar worker the ability to write scripts that can automate pieces of their daily-work. Of course, those solutions aren't likely to be elegant, and their code won't be clean, but since their scope is tiny, that isn't a problem.