Autonomy is a cornerstone of agile transformation. However I’ve seen it taken the wrong way too.
IMHO, autonomy means:
– Self organizing teams who don’t have to wait for someone to take decisions on their behalf
– Who have the autonomy to estimate work (within reasonable guidelines) and drive decisions related to completing the work
– As they can take technical decisions, so are they responsible for those solutions – you code it, you own it
What it does NOT mean:
– Create a bubble and make sure no one from the outside has any visibility into the working of the team (no one can come to our stand ups / retros or other ceremonies). Agile is about transparency remember!
– Take autonomy as a ‘do whatever and get away with badge’ – for example, give unrealistic estimations and having no technical reasoning for why it’s going to take that long.
A big factor in all this I guess is having a purpose and being driven also.
And make no mistake – this will have a direct impact on quality of your product – and hence should be factored into the KPIs to measure.
For analytics, AI products lots of data is needed – commonly dubbed as Big data
To get the data needed, and in a usable format – we need to pass it through a lot of different data processing stages, a collection of which can be called data pipeline.
Data pipelines have 3 main stages:
– Ingestion: Gather data from various sources in different formats
– Data hub & warehouse – Cleanse, model data at different stages
– Analytics – Run analytics or use specific data sets for machine learning algorithms
Join me at TestBash New Zealand Online 2020 where I’ll talk about a lot more around testing in big data projects!
Anti-agile test case writing:
– Extremely lengthy test cases for every scenario anyone has ever thought of, and make sure not to rank them
– Then do a ‘regression testing’ cycle and try execute all of them
– Then try to code ALL the written tests as automated scripts
Test case writing the Agile way:
– Collaborate to identify acceptance tests in Three amigo sessions – these are highest priority scenarios
– Automate tests across the tech stack – and DON’T document them – they exist in your code already
– Write checklists to serve as heuristics / references to do exploratory testing