The Rise Of The Product Developers - Part III, Masters of Knowledge Management

bear and corn ears

In the first two parts of “The Rise of Product Developers” series, we delved into how Product Developers excel as domain experts, user empathizers, and critical thinkers. Now, in Part III, our spotlight is on their prowess in knowledge management. Their ability to acquire and preserve knowledge paves the way for product adaptiveness. As we’ll uncover, the arts of acquiring and preserving knowledge seamlessly merge within their practices.

The “Always Be Arriving” Ethos of Product Developers

Consistently poised to learn, Product Developers delve into varied domains and adopt emerging technologies. Their actions are always guided by the underlying business need, fostering synergistic collaborations. Each task, whether it’s validating hypotheses, crafting features, or debugging, unfolds as a learning experience. By placing the product vision above their technical expertise, they distinguish themselves from specialized developers.

To many, “acquiring knowledge” equates to “pattern matching” – essentially, searching online for pre-existing solutions to their problems. This mindset feeds the belief, especially with the advent of sophisticated pattern matching tools like ChatGPT, that AI might soon replace developers. However, as highlighted in our previous discussions, the role of Product Developers does not stop at information retrieval. They critically evaluate and decide upon the relevance and application of such information. Often, the questions they pose carry greater weight than the answers they find.

Through hands-on exploratory testing, Product Developers unearth unforeseen challenges, including unexpected bugs. This proactive approach not only identifies issues but also broadens their knowledge spectrum. However, regardless of whether knowledge is gained through active learning, asking questions, or these “planned serendipities”, what truly distinguishes them from traditional developers is how they assimilate this knowledge, such as the process of fixing a bug. Let’s delve deeper into this.

The “Always Be Leaving” Mantra of Product Developers

“Always be leaving” is not about frequent job changes for Product Developers. Rather, it encapsulates their commitment to maintaining a standard of excellence, ensuring their work can stand on its own and remain resilient even in their absence. This philosophy inherently fosters immediate knowledge preservation upon acquisition.

Product Developers employ a multifaceted approach to knowledge preservation:

  • Short-Term Preservation: They skillfully utilize methods like user story breakdowns, Sprint Backlogs, index cards, and whiteboards.
  • Automated Testing: This stands as their cornerstone for knowledge preservation. It allows for code restructuring without compromising the expected functionalities.
  • Clean Code: Their focus is on writing lucid, intent-revealing code, paving the way for easier future developments.
  • Living Documentation: Instead of static documents filled with lies, they champion living documentation in the form of automated tests.
  • Relevant Record Keeping: They ensure documentation is always in sync with the product’s current state, sidestepping any unnecessary or repeated details.
  • Fool-proof Design: They adopt the principle of making illegal states unrepresentable, a technique known as Poka-yoke in the Toyota Production System (TPS).

Knowledge acquisition and preservation in product development are intertwined. When Product Developers detect a bug, they often craft an automated test. Initially, this test serves as evidence of the defect; post-fix, it confirms the solution; in the future it guards against regressions. Fixes are refactored together with the existing codebase for clarity, emphasizing the ethos of “always be leaving.”

Always being “ready to leave” isn’t more costly than the mistaken belief of “I’ll always be here.” Preserved knowledge underscores top product quality and allows Product Developers to hone in on the business domain, yielding efficient solutions. Continual process improvement minimizes any associated costs. This approach aligns developers with business needs, fostering agility and ensuring flexibility for future innovations.

Conclusion

Product Developers are knowledge custodians. Through critical thinking, they navigate both problem and solution domains, assimilating insights along the way. They then crystallize this acquired knowledge within automated tests, clean code, and living documentation. This methodology not only anchors their understanding but ensures they’re perpetually poised to delve into new domains aligned with business priorities. Their practices forge products that serve with precision and efficiency, while also nurturing an organization’s adaptability. In our forthcoming part of this series, we’ll delve into how Product Developers integrate and collaborate to make products.

comments powered by Disqus