Lately, I have been reading more and more articles about product management and last week I stumbled upon one that caught my attention, firstly for its powerful title "shipping beats perfection" and secondly because the author is a Khan Academy member that fact, I have to admit it, made me feel prouder of being a supporter of the project.
It is definitely worth a read, a good reflection on how to make decisions based on a set of principles.
In previous blog posts, I talked about values and principles, this article kept me thinking about Agile methodologies and the Agile manifesto so I thought it would be good to review them and write about the importance of principles.
How do you make a decision when faced with a deadline? What are the purpose and meaning of your daily work? Principles can help to answer those questions.
When I talk about principles I mean the ones you can stand for and not the ones from Groucho Marx "Those are my principles, and if you don't like them... well, I have others."
The following, Khan Academy Engineering principles, looked to me like a clear example of principles laid out in a way that everybody can understand the message and stick to them.
Maximize impact, be open, empathize and respect, have conviction and seek engineering maturity it is not only a way of delivering a product but a code of conduct too, you can expect to see them reflected in the final results.
Agile methodologies were based on a manifesto that outlined a number of principles which we tend to forget. The principles are part of the Agile manifesto.
I personally love this one "Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.", however, along my professional career, I found this one the most difficult to achieve. "Build projects around motivated individuals" does not sound like an easy task especially when the people you work with knows nothing about Agile principles or they have completely forgotten about them because the pressure is on and the product must be delivered at any cost.
I believe, Agile can not be isolated, it is not only a matter of one specific department, it needs to be shared and understood across the whole organization otherwise you will suffer. If you do not follow and respect the principles you can not expect to get the best of it.
As a Software engineer this is nothing new to us, we have been forced to protect our profession and stand for it for years. Either as a member of an Agile team or as a Scrum manager I felt evangelization was part of the job, and that has got me into some discussions not only with management but also with my peers that felt Agile was nothing but just another fancy nomenclature.
Once you understand and adopt the principles, the benefits start to become visible and become part of the product delivered.
My personal view
People do not like processes, they do not like to be told what to do they need their room to create. I believe clear principles can help to build a team of independent thinkers that require minimum guidance.
When we understand that: our highest priority is to satisfy the customer through early and continuous delivery of valuable software, that Business people and developers must work
together daily throughout the project we can start to communicate better keeping our principles in mind.
Principles can become a very valuable asset when confronted with decisions or with a lack of sense of direction and purpose. They should guide our decisions and remind us the reason why we do the things we do and the way we do them.