Sunday morning. Shower… I got an epiphany!
Never these 3 definitions seemed so clear to me in so few words and making so much sense, I hope I can convey this to you.
And you will share your thinking.
These are the ideas that I want to share and get your views:
- Product ownership: the art of picking what matters and what not.
- Architecture: the art of simple, future proof solution picking.
- Software Engineering: the art to break down a solution into meaningful concepts tied together in a natural way with concise, simple to follow code.
I feel like these three definitions capture the essence of the three topic, but they do not have rigid boundaries and they merge one into the other to produce a well thought, well architected and well developed product.
When putting down these I also came to thinking about the related roles.
Let’s discuss those too. 🙂
- Product owner: the custodian of the vision, the role tasked with distinguishing what matters from what does not matter and what is important next to get into the product now.
- Architect: the practical visionary, the role tasked to factor the future into the product while keeping complexity at bay.
- Software Engineer: the skilled craftsman, the role tasked to build the vision into a product that stays easy to understand and manage.
Tagline: reducing surprises to a minimum.
Here I intentionally referred to roles as sometimes a person wears more than one such hat and it would be good that every senior professional would have some basic knowledge of all the three roles to better fulfil his main one.
I could go on to talk forever about this topic, but I would very much hear what you have to say about these points.