SOFTWARE DEVELOPMENT LIFECYCLE
While software development is a creative process, it's also a discipline where experience and craftsmanship are key to successful solutions that deliver true value. This is true for the writing of code as much as for the process resulting in that code.
The rise of agile concepts has often been abused as an excuse to throw away any software engineering practice that had the slightest 'smell' of structure, leading entire departments into chaos.
I've supported teams applying agile principles while maintaining essential craftsmanship skills like doing design, writing just enough documentation that matters and maintaining good software quality by applying TDD.
However, high quality software is also 'just' a side effect of a well organised agile requirements process. I've facilitated story mapping and event storming sessions in order to understand the problem domain before focussing on the solution domain.
When looking at the productivity of software teams, there's often a heavy focus on the performance of individuals within a team. I believe that facilitating software engineers and taking waste and repetitive tasks out of their hands yield the highest performance gain overall.
I have experience with helping teams identify repetitive waste in their processes and using automation to eliminate it. A nice side effect is a decrease of the risk of human error as a lot of proces waste usually involves doing manual tasks.
The above efforts result in developers having more time and focus to do the true task that they want and need to do, which is to write awesome software.
Tools & Concepts
MSTest - Specflow - Jira - Confluence - Bamboo - Git - Ansible - Azure DevOps
Test Driven Development - Behaviour Driven Development - Living Documentation - Scrum - SAFe - CI/CD - Infrastructure As Code - Story Mapping