On a casual weekend, I was watching “Our Planet” on Netflix – a series rated for 7+ age viewer but I got hooked and felt everyone should watch to restore the environmental parity. The resources on Earth have been abused for long by mankind and this has had a serious impact on our lives. But that’s not the point, I was hooked on to the Shoal of fish and the pod of whales from the series, and became obsessed on what it actually meant in our daily life.
We loosely and frequently use POD everywhere in software engineering – from Analysts, Prospects, and Engineering teams. This is the new buzz word in Agile Engineering and highly used in the industry too. A POD of whale is basically a self-sufficient group of whales with a responsibility to deliver. They follow a strategy to attack, kill, and survive as a group. They are complete in a sense and continue to produce value in their own cycle of life.
An engineering POD is nothing different – at least should not be. Let’s investigate this from team formation standpoint. In product engineering, a POD should produce a workable software frequently and be self-sufficient.
This brings us to our next question: what is self-sufficiency in product engineering today? It is the ability to produce working software from conceptualization generating an experience for the end customer. To achieve this goal, a software (team) POD will be skilled to understand customer needs, industry demands, evolution on technology, production of software using tools, and ability to make it work at a rapid pace continuously. A POD consists of full stack developers and test engineers who can collaborate on integration pipeline to create customer experience.
Now, let’s connect the POD with Agile practices. SCRUM advocates 3 to 5-member teams delivering and iterating a functional software. However, SCRUM is not successful without right tooling to create or change assets at a rapid pace. Agile Engineering (PIE 4.0 – process integrated engineering practices) is a combination of SCRUM + Continuous Integration/Deployment/Delivery to co-create software products by a POD.
Let’s extend this POD to current software architecture practice like microservices. In super simple definition, this is following domain-based containment and ready for consumption philosophy. That means, a POD can create its own self-contained business value-based software which can be consumed by another POD in larger product ecosystem. In a way, this adds to scalability, flexibility, changeability, manageability and other necessary tenets of business transformation in the digital age.
We need to think how POD can create better customer experience and help in transforming businesses consistently. My translation of POD is the headline above!