Agile Principles - NormanChiflen/Continuous-Integration--QA-Test--Deploy---Feedback GitHub Wiki

All people working in an agile environment should reflect on the principles behind the agile manifesto from time to time. What do these principles really mean? What impact do they have for my daily business? Does my habit follow these principles? There's a nice exercise for agile teams to summarize each of the principles down to 3 or 4 words. An agile team needs to have a shared understanding of the principles and what they imply for the team's behaviour. At the outset the principles seem very easy and had been there from over a decade or more, however most of us including large enterprises struggle when it comes to pragmatic application of principles to successfully deliver a project.

The Agile Manifesto established a common set of overarching values and principles for all of the individual agile methods at the time. It details four core values for enabling high-performing teams. § Individuals and their Interactions Over Processess and Tools § Delivering Working Software Over Comprehensive Documentation § Customer Collaboration Over Contract Negotiation § Responding to Change Over Following a Plan An article series on all twelve of the agile principles based on above four values have been detailed out by agile coach and consultant Marc Bless with an aim to achieve following set of goals.

Agile Principles	   
§	Principle 1: Satisfy the Customer

§ Principle 2: Embrace Change § Principle 3: Frequent Delivery § Principle 4: Cross-Functional Collaboration § Principle 5: Support and Trust § Principle 6: Face-to-Face Conversation § Principle 7: Working Software § Principle 8: Sustainable Pace § Principle 9: Technical Excellence § Principle 10: Keep it Simple § Principle 11: Self-Organization § Principle 12: Inspect and Adapt § Extracting the essence of the agile principles § Determine values, practices, and other principles as sources of the principle For cross-referencing I'll focus on the values, principles, and practices of Scrum, XP, and Lean just to cover the current mainstream methods.

If you find more or better of values, principles, and practices please drop your valuable comments so we can add your input accordingly.

Let's take a look at the first underlying principle of the agile manifesto: "Our highest priority is to satisfy the customer through early and continuous delivery of valuable software." What does that really mean? What are the implications for our daily business? Let's analyze this principle and see where this gets us.

Agile Principles	   
§	Principle 1: Satisfy the Customer

§ Principle 2: Embrace Change § Principle 3: Frequent Delivery § Principle 4: Cross-Functional Collaboration § Principle 5: Support and Trust § Principle 6: Face-to-Face Conversation § Principle 7: Working Software § Principle 8: Sustainable Pace § Principle 9: Technical Excellence § Principle 10: Keep it Simple § Principle 11: Self-Organization § Principle 12: Inspect and Adapt § Our - Who is us? At least a bunch of people forming some kind of team. We can't define this in more detail, so let's skip the answer for now and analyze some more first. § Values : Communication § Principles : Diversity, Accepted Responsibility, Empower the Team § Practices : Whole Team § Highest Priority - The team should not be distracted and keep its focus on the most important things. To help the team not to be distracted, it should be guarded in a secure environment so that no external influences are able to grab its attention. § Values: Commitment, Focus § Principles: Limit work in progress, Economics § Practices: Product Backlog § Satisfy - How can the team know if its results are satisfying? A definition of "done" and passing acceptance tests of every requirement of the software are necessary for the team. § Values: Commitment, Focus § Principles: Active User Involvement, Business Value, Quality, Failure § Practices: Definition of Done, Real Customer Involvement, Acceptance Tests, Sprint Review § The Customer - Who is this? In an ideal world this customer is all different kinds of users of the resulting software. As it is not always possible to have all these personas on board, the customer could also be represented by a Product Owner. § Values: Communication, Respect § Principles: Active User Involvement § Practices: Real Customer Involvement § Early Delivery - The first results of the wanted software have to be given to the users as soon as possible so that they can give their feedback and generate more insights about what they really need and want. § Values: Feedback § Principles: Frequent Delivery, Incremental § Practices: Incremental Deployment, Small Releases § Continuous Delivery - It is not enough to show the first result of the software but it is necessary to show intermediate results on a short regular basis. § Values: Commitment, Feedback § Principles: Flow, Iterative § Practices: Product Demonstration, Iteration § Valuable Software - Who can define the value of the software? It is the "customer" again who is able to prioritize requirements by their business value. § Values: Commitment, Focus § Principles: Economics, Business Value § Practices: Product Backlog Now let's get back to the first part of this principle: who is the team? The team contains all people required to create working software out of requirements, to test the software, to prioritize the requirements and to define their values, and to concentrate on focus and commitment. If these people all work together, the first principle can be realized.

If we summarize all roles and practices this first principle reveals, we find a fully functional team working with an incremental-iterative approach on the most important things for the user. Sounds like heaven.

To say it in three words, the first principle is about Satisfy the Customer.

Let's take a look at the second underlying principle of the agile manifesto: "Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage." What does that really mean? What are the implications for our daily business? Let's analyze this principle and see where this gets us.

Agile Principles	   
§	Principle 1: Satisfy the Customer

§ Principle 2: Embrace Change § Principle 3: Frequent Delivery § Principle 4: Cross-Functional Collaboration § Principle 5: Support and Trust § Principle 6: Face-to-Face Conversation § Principle 7: Working Software § Principle 8: Sustainable Pace § Principle 9: Technical Excellence § Principle 10: Keep it Simple § Principle 11: Self-Organization § Principle 12: Inspect and Adapt § Welcome - Creates a positive and open feeling/invitation. § Values: Openness, Respect § Principles: Opportunity, Humanity § Practices: Sprint Planning, Planning Game § Changing Requirements - Do not take any requirement granted as reality is not a static system. People, markets, demands, all things in general are in a constant flow and change. We have to accept this in every aspect of our work. § Values: Openness, Courage § Principles: See the whole, Reversible changes during development, Adaption § Practices: Real Customer Involvement, Product Backlog, Sprint Review § Even Late In Development - There is no valid time to fix a set of requirements even if the project's end is a few weeks in the future. Things may change at any time. § Values: Openness, Courage § Principles: Decide as late as possible, Opportunity § Practices: Real Customer Involvement, Product Backlog, Sprint Review, Planning Game § Agile Processes Harness Change For The Customer's Competitive Advantage - As in the first principle (Satisfy the Customer) our goal is to help and serve the customer/user. Let the customer always be the center of everything we do. § Values: Openness, Commitment, Focus § Principles: Mutual Benefit, Opportunity, Economics § Practices: Frequent Delivery, Sprint Review, Product Backlog, Real Customer Involvement In summary we have to be open to any changes and need the courage to help the customer adopting to these changes. To say it in two words, the second principle is about Embrace Change.

Let's take a look at the third underlying principle of the agile manifesto: "Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale." What does that really mean? What are the implications for our daily business? Let's analyze this principle and see where this gets us.

Agile Principles	   
§	Principle 1: Satisfy the Customer

§ Principle 2: Embrace Change § Principle 3: Frequent Delivery § Principle 4: Cross-Functional Collaboration § Principle 5: Support and Trust § Principle 6: Face-to-Face Conversation § Principle 7: Working Software § Principle 8: Sustainable Pace § Principle 9: Technical Excellence § Principle 10: Keep it Simple § Principle 11: Self-Organization § Principle 12: Inspect and Adapt § Deliver - Actually have something finished that is worth being given to the users. § Values: Courage, Commitment § Principles: Deliver as fast as possible § Practices: Incremental Deployment, Small Releases, Sprint Review, Product Demonstration § Working Software - The results of our efforts must not be theoretical concepts or prototypes, but a functional software product the user is able to work with effectively § Values: Focus, Commitment § Principles: Quality § Practices: Definition of Done, Acceptance Tests, Sprint Review, Product Demonstration § Frequently - Give an usable product more often to the users than just once at the end of the development project § Values: Focus, Courage § Principles: Frequent Delivery § Practices: Incremental Deployment, Small Releases § From A Couple Of Weeks To A Couple Of Months - Keep the iterations short so they are easily manageable and clearly arranged § Values: Focus § Principles: Deliver as fast as possible, Iterative § Practices: Iteration § With A Preference To The Shorter Timescale - create results early and often so the customer is able to react and decide quickly § Values: Focus, Simplicity § Principles: Iterative, Limit Work in Progress, Deliver as fast as possible, Eliminate Waste § Practices: Incremental Deployment, Small Releases, Sprint Backlog, Iteration There's not much to summarize here but to say it in two words, the third principle is about Frequent Delivery.

Let's take a look at the fourth underlying principle of the agile manifesto: "Business people and developers must work together daily throughout the project." What does that really mean? What are the implications for our daily business? Let's analyze this principle and see where this gets us.

Agile Principles	   
§	Principle 1: Satisfy the Customer

§ Principle 2: Embrace Change § Principle 3: Frequent Delivery § Principle 4: Cross-Functional Collaboration § Principle 5: Support and Trust § Principle 6: Face-to-Face Conversation § Principle 7: Working Software § Principle 8: Sustainable Pace § Principle 9: Technical Excellence § Principle 10: Keep it Simple § Principle 11: Self-Organization § Principle 12: Inspect and Adapt § Business People - There are people with a vast knowledge of the product's target markets, its users and customers, and its needed features. These people should not be the developers of the product as they normally tend to implement developer-centric, fancy things. The 'business people' should be the ones grooming and prioritizing the product features of the largest customer and business value. § Values: Respect, Communication § Principles: Active user involvement, Economics § Practices: Real customer Involvement, Whole Team § Developers - In terms of "product developers" not solely coding software developers. This includes also testers, technical writers, interface designers, business analysts, and whatever role is necessary to give input and create a working software product. § Values: Respect, Communication § Principles: Diversity, Humanity § Practices: Whole Team § Must Work Together - It is not helpful to let experts work on their own and pass over their finished results to the next expert in a process chain. Their output rather should be the result of strong collaboration and communication.
§ Values: Communication § Principles: Diversity, Mutual Benefit, Collaboration and cooperation between all stakeholders § Practices: Whole Team § Daily - Collaboration and communication do only work well on a continuous basis. The Product Owner has to be present and available to the team during the whole iterations, not just at the planning and review meeting. § Values: Focus, Commitment § Principles: Flow, Iterative § Practices: Sit Together, Osmotic Communication, Daily Scrum, Whole Team § Through Out The Project - Collaboration and communication do not happen during specific project 'phases' only. They need to happen right from the start until the end of the project. § Values: Commitment, Focus § Principles: Frequent Delivery, Flow, Iterative, Collaboration and cooperation between all stakeholders § Practices: Team Continuity, Energized Work (Continuous Pace) To say it in three words, the fourth principle is about Cross-Functional Collaboration.

Let's take a look at the fifth underlying principle of the agile manifesto: "Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done." What does that really mean? What are the implications for our daily business? Let's analyze this principle and see where this gets us.

Agile Principles	   
§	Principle 1: Satisfy the Customer

§ Principle 2: Embrace Change § Principle 3: Frequent Delivery § Principle 4: Cross-Functional Collaboration § Principle 5: Support and Trust § Principle 6: Face-to-Face Conversation § Principle 7: Working Software § Principle 8: Sustainable Pace § Principle 9: Technical Excellence § Principle 10: Keep it Simple § Principle 11: Self-Organization § Principle 12: Inspect and Adapt § Build Projects Around Motivated Individuals - Search and hire Drive-Driven Personalities who love their job and are passionate about what they're doing. Get rid of unskilled or even destructive people as they will have a major negative impact on the project's success. § Values: Commitment, Courage § Principles: Opportunity, Amplify Learning, Humanity, Accepted Responsibility § Practices: Motivation, Energized Work (Continuous Pace) § Give Them - As the Holy Bible already mentions "give, and it will be given to you". Do not demand results from the team but give them what they demand for their private and professional life. § Values: Respect § Principles: Empower the Team, Humanity, Supportive Culture § Practices: Servant Leadership § The Environment - The team needs a proper workspace and the best equipment available to do its work in a professional manner. This is also about the team's processes from a larger organizational point of view. Surround the team with lean structures, try to avoid beaurocratic structures impeding the team's performance and pace. § Values: Simplicity, Openness § Principles: Empower the Team, Supportive Culture § Practices: Whole Team, Team Room § And Support They Need - Help the team instantly as they get stuck. Clear their path and remove any obstacles. Show them alternative ways to go. § Values: Courage, Focus § Principles: Improvement, Adaption, Supportive Culture § Practices: Servant Leadership § Trust Them To Get The Job Done - If you have motivated individuals on the team, you also have to trust them. They are the people knowing exactly how to do their job. Do not let anyone else decide and plan how the team should work and who is going to do what and when. § Values: Respect, Courage § Principles: Self-organizing Team, Empower the Team, Humanity, Diversity, Supportive Culture § Practices: Whole Team, Team Room, Team Continuity, Personal Safety, Energized Work (Continuous Pace) To say it in three words, the fifth principle is about Support and Trust.

Let's take a look at the sixth underlying principle of the agile manifesto: "The most efficient and effective method of conveying information to and within a development team is face-to-face conversation." What does that really mean? What are the implications for our daily business? Let's analyze this principle and see where this gets us.

Agile Principles	   
§	Principle 1: Satisfy the Customer

§ Principle 2: Embrace Change § Principle 3: Frequent Delivery § Principle 4: Cross-Functional Collaboration § Principle 5: Support and Trust § Principle 6: Face-to-Face Conversation § Principle 7: Working Software § Principle 8: Sustainable Pace § Principle 9: Technical Excellence § Principle 10: Keep it Simple § Principle 11: Self-Organization § Principle 12: Inspect and Adapt § The Most Efficient & Effective Method of Conveying Information - It is not enough to make information available in a passive way but it should be pushed actively to the target audience. § Values: Communication, Openness § Principles: Transparency, Make Work Visible, Tell don't ask § Practices: Osmotic Communication, Informative Workspace § To and Within a Development Team - Do not only expect active communication from the outside of your team but also foster active communication with your own team members. § Values: Communication, Openness § Principles: Humanity, Transparency, Make Work Visible, Tell don't ask § Practices: Osmotic Communication, Informative Workspace, Servant Leadership § Is Face-To-Face Conversation - Do not open inefficient communication channels like writing things down on paper, emails, and bug-tracking systems. Rather talk to the receiver of your message directly via phone, video, or in the best case in front of a white board from person to person. § Values: Focus, Feedback § Principles: Tell don't ask, Mutual Benefit, Collaboration and cooperation between all stakeholders § Practices: Sit Together, Team Room To say it in four words, the sixth principle is about Face-to-Face Conversation.

Let's take a look at the seventh underlying principle of the agile manifesto:

Agile Principles	   
§	Principle 1: Satisfy the Customer

§ Principle 2: Embrace Change § Principle 3: Frequent Delivery § Principle 4: Cross-Functional Collaboration § Principle 5: Support and Trust § Principle 6: Face-to-Face Conversation § Principle 7: Working Software § Principle 8: Sustainable Pace § Principle 9: Technical Excellence § Principle 10: Keep it Simple § Principle 11: Self-Organization § Principle 12: Inspect and Adapt "Working software is the primary measure of progress." What does that really mean? What are the implications for our daily business? Let's analyze this principle and see where this gets us. § Working software - It does not matter how many modules, interfaces, and documents we have in progress. The only thing that counts is completed, fully functional pieces of the wanted product. § Values: Commitment, Focus § Principles: Quality, Active User Involvement, Build Integrity In § Practices: Definition of Done, Acceptance Tests, Real Customer Involvement, Customer Tests, Product Demonstration § Is the Primary Measure of Progress - No one is interested in the number of work hours, lines of code, or any other technical metric. Only done and releasable features are important. § Values: Simplicity, Commitment, Feedback § Principles: Business Value, Frequent Delivery, § Practices: Incremental Deployment, Small Releases, Release Burndown, Product Demonstration, Measurements To say it in two words, the seventh principle is about Working Software.

Let's take a look at the eighth underlying principle of the agile manifesto: "Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely." What does that really mean? What are the implications for our daily business? Let's analyze this principle and see where this gets us.

Agile Principles	   
§	Principle 1: Satisfy the Customer

§ Principle 2: Embrace Change § Principle 3: Frequent Delivery § Principle 4: Cross-Functional Collaboration § Principle 5: Support and Trust § Principle 6: Face-to-Face Conversation § Principle 7: Working Software § Principle 8: Sustainable Pace § Principle 9: Technical Excellence § Principle 10: Keep it Simple § Principle 11: Self-Organization § Principle 12: Inspect and Adapt § Agile Processes Promote Sustainable Development - This is not a principle but rather a presumption which has to be proven by applying agile practices. In my point of view this sentence should be removed from the eighth underlying principle or at least be rephrased. § The Sponsors, Developers, and Users - It's again a cross-functional approach which includes the whole team and all people involved in the product creation chain. § Values: Communication § Principles: Collaboration and cooperation between all stakeholders, Diversity § Practices: Real Customer Involvement, Whole Team § Should Be Able To Maintain a Constant Pace - The people involved in the product creation chain must neither suffer from excessive labor nor sit around idling and waiting. An important practice especially for the team is collective ownership of both code and responsibility. Let's call it shared commitment. § Values: Commitment, Focus, Courage § Principles: Frequent Delivery, Flow, Baby Steps § Practices: Energized Work (Continuous Pace) § Indefinitely - It's not enough to keep a constant pace at the start of the project or for just a few iterations. Especially at the end of a project all people should keep calm and just "flow" with that constant pace. § Values: Commitment § Principles: Humanity, Flow, Limit Work in Progress § Practices: Motivation, Energized Work (Continuous Pace) To say it in two words, the eighth principle is about "Sustainable Pace".

Let's take a look at the ninth underlying principle of the agile manifesto: "Continuous attention to technical excellence and good design enhances agility." What does that really mean? What are the implications for our daily business? Let's analyze this principle and see where this gets us.

Agile Principles	   
§	Principle 1: Satisfy the Customer

§ Principle 2: Embrace Change § Principle 3: Frequent Delivery § Principle 4: Cross-Functional Collaboration § Principle 5: Support and Trust § Principle 6: Face-to-Face Conversation § Principle 7: Working Software § Principle 8: Sustainable Pace § Principle 9: Technical Excellence § Principle 10: Keep it Simple § Principle 11: Self-Organization § Principle 12: Inspect and Adapt § Continuous Attention - Beware of routine in your daily business! Keep your concentration high, stay focused on the things you're working on. This also implies to take a break when you are not able to do so. Do not force yourself to go on if you're distracted and powerless. § Values: Focus § Principles: Opportunity, Accepted Responsibility, Reflection § Practices: Motivation § Technical Excellence - Gather the right staff with the right skills to create the product. Cultivate life-long learning to acquire new knowledge and improve your skills. § Values: Courage, Simplicity, Focus § Principles: Reflective Improvement, Amplify Learning, Accepted Responsibility, Quality § Practices: (Agile) Testing, Sprint Retrospective, Motivation § Good Design - Don't create a product which looks nice outside but is a piece of crap inside. Follow a professional honor and build your software product in a way you could be proud of in every detail. § Values: Simplicity § Principles: Improvement, Quality, Baby Steps, Incremental § Practices: Pair Programming, Test-Driven Development, Refactoring § Enhances Agility - If we do not have the right skills and the right attitude, we will get stuck in our agile journey. This is the reason why many teams do not proceed after their initial agile success. (An extreme situation of this principle is when people completely refuse the agile values at all. In this case the best way for both these people and the rest of the team is to break up.) § Values: Openness, Courage § Principles: Reflective Improvement § Practices: Sprint Retrospective To say it in two words, the ninth principle is about Technical Excellence.

Let's take a look at the tenth underlying principle of the agile manifesto: "Simplicity--the art of maximizing the amount of work not done--is essential."

Agile Principles	   
§	Principle 1: Satisfy the Customer

§ Principle 2: Embrace Change § Principle 3: Frequent Delivery § Principle 4: Cross-Functional Collaboration § Principle 5: Support and Trust § Principle 6: Face-to-Face Conversation § Principle 7: Working Software § Principle 8: Sustainable Pace § Principle 9: Technical Excellence § Principle 10: Keep it Simple § Principle 11: Self-Organization § Principle 12: Inspect and Adapt What does that really mean? What are the implications for our daily business? Let's analyze this principle and see where this gets us. § Simplicity - As already mentioned in the principle, we talk about "the art of maximizing the amount of work not done". Always think about unnecessary tasks in your todo list. Think about requirements no one needs fulfilled to do her job. Think about methods, classes, and your software design in general - you will find various things to be skipped as they do not contribute to your sprint goal or acceptance tests. § Values: Focus, Simplicity § Principles: Limit Work in Progress, Decide as late as possible, Self-Similarity, Opportunity, Eliminate Waste § Practices: Product Backlog, Refactoring, Seeing Waste, Simple Design § Is Essential - The essence is what really creates value. All other things are nice-to-haves, gold plating, and pure technical bits and pieces. We need to focus on the essence to reach the goals we are committed to. § Values: Focus, Courage § Principles: Eliminate Waste, Decide as late as possible, Economics, Business Value § Practices: Seeing Waste To say it in three words, the tenth principle is about Keep it Simple.

Let's take a look at the eleventh underlying principle of the agile manifesto: "The best architectures, requirements, and designs emerge from self-organizing teams." What does that really mean? What are the implications for our daily business? Let's analyze this principle and see where this gets us.

Agile Principles	   
§	Principle 1: Satisfy the Customer

§ Principle 2: Embrace Change § Principle 3: Frequent Delivery § Principle 4: Cross-Functional Collaboration § Principle 5: Support and Trust § Principle 6: Face-to-Face Conversation § Principle 7: Working Software § Principle 8: Sustainable Pace § Principle 9: Technical Excellence § Principle 10: Keep it Simple § Principle 11: Self-Organization § Principle 12: Inspect and Adapt § The Best Architectures, Requirements, and Designs - We talk about discovering product ideas, as well as finding the challenges they offer and exploring appropriate solutions. These artifacts must not be approached each on its own, but as a whole system belonging together and building the resulting product.

§ Values: Simplicity, Focus § Principles: Diversity § Practices: Whole Team § Emerge - The artifacts can not be planned up-front but will be discovered and created in an evolutionary way. Don't think too long about the right way to do something. Just do it in an iterative-incremental way and improve that way by reflecting afterwards. § Values: Simplicity, Feedback, Courage § Principles: Decide as late as possible, Baby Steps, Adaption § Practices: Test-Driven Development, Refactoring § From Self-Organizing Teams - The team does not need a single responsible person "on top" of it to decide who is going to do what, when, and how. If teams have all the necessary roles and skills to create the wanted product, they are able to decide and organize by themselves. § Values: Communication, Commitment § Principles: Diversity, Accepted Responsibility, Empower the Team, Humanity, Supportive Culture § Practices: Whole Team, Osmotic Communication, Servant Leadership To say it in two words, the eleventh principle is about Self-Organization.

Let's take a look at the twelfth underlying principle of the agile manifesto: "At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly." What does that really mean? What are the implications for our daily business? Let's analyze this principle and see where this gets us.

Agile Principles	   
§	Principle 1: Satisfy the Customer

§ Principle 2: Embrace Change § Principle 3: Frequent Delivery § Principle 4: Cross-Functional Collaboration § Principle 5: Support and Trust § Principle 6: Face-to-Face Conversation § Principle 7: Working Software § Principle 8: Sustainable Pace § Principle 9: Technical Excellence § Principle 10: Keep it Simple § Principle 11: Self-Organization § Principle 12: Inspect and Adapt § At Regular Intervals - It's not enough to take a look at the project after it is finished. We are not able to change our project development habits afterwards. So even if a worst-case "post mortem analysis" could bring up severe issues and action items for the next project, we can't change what already happened. Therefore we have to take a look at our current behaviour in an iterative way.

§ Values: Commitment § Principles: Iterative § Practices: Iteration, Sprint, Weekly Cycle § The Team Reflects on How to Become More Effective - Neither the team's manager, nor the Scrum Master, nor a quality manager is in charge to define the development team's workflows and processes. Only the team is able to inspect its own habits and to decide what and how to change. Of course it is not forbidden to get a retrospective facilitator from outside the team--this may help the team members to focus on getting insights rather than holding the meeting.

§ Values: Openness, Feedback § Principles: Reflection, Inspection § Practices: Sprint Retrospective, Root-Cause Analysis, Seeing Waste, Value Stream Mapping § Then Tunes and Adjusts Its Behavior Accordingly - The worst reflection is a reflection without any insights and action items. There have to be actionable results for the team so that it is possible to take charge of these actions.

§ Values: Commitment § Principles: Improvement, Eliminate Waste, Amplify Learning, Adaption § Practices: Sprint Retrospective To say it in three words, the twelfth principle is about Inspect and Adapt. Tell don't ask