Monday, April 11, 2011

Agile Principle 10: Keep it Simple

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."
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
See also my blog post on "Focus on the Essence".
To say it in three words, the tenth principle is about Keep it Simple.



Also read in this blog post series:

Tuesday, April 5, 2011

Agile Principle 9: Technical Excellence

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.
  • "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.



Also read in this blog post series:

Saturday, April 2, 2011

Agile Principle 8: Sustainable Pace

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 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".


Also read in this blog post series:

Wednesday, March 30, 2011

Agile Principle 7: Working Software

Let's take a look at the seventh underlying principle of the agile manifesto:
"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

Thursday, March 24, 2011

Agile Principle 6: Face-to-Face Conversation

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.
  • "The most efficient and 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.



Also read in this blog post series:

Monday, March 21, 2011

Agile Principle 5: Support and Trust

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.
  • "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.




Also read in this blog post series:

Thursday, March 17, 2011

Agile Principle 4: Cross-Functional Collaboration

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.
  • "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
  • "throughout 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.



Also read in this blog post series: