develpreneur podcast

Self-Organizing Teams Produce The Best Results – An Agile Principle

We near the end of the focus on the agile principles with a bold statement.  The idea of self-organizing teams producing the best results is a strong position.  They are not merely better; they make the best products.  I tend to agree with this statement.  However, it is worth defending as it is not apparent. The best architectures, requirements, and designs emerge from self-organizing teams. The Value of Buy-In First and foremost, self-organizing teams impart to each member a level of ownership.  They are given the freedom and responsibility to “get the job done.”  This structure implies that the members are trusted to find the best way to solve a problem and provide their input.  It is not different from... Read more

develpreneur podcast

Simplicity – Avoid Doing Busywork

Simplicity is an integral part of satisfying the customer.  Ideally, we would provide them a button to click that does everything they want.  However, that is rarely possible.  We build complex systems that require users to select how they want to proceed.  Likewise, we include or exclude features and functions as part of meeting the requirements. Simplicity–the art of maximizing the amount of work not done–is essential. Work Not Done When we think of simplicity, the focus is often on how little we have.  This principle points to what is not included in a straightforward approach.  More importantly, this principle focuses on work not done.  When you think about it that way, simplicity is an essential piece of getting things... Read more

develpreneur podcast

Good Design Enhances Agility

We have mentioned time and again that the goal of agile is satisfying the customer.  However, each principle we explore provides ways to accomplish that goal.  The principle we focus on in this episode reminds us that we are still building software.  There are certain traits any good team or system will have.  Good design and technical excellence are tools for building the best solution. Continuous attention to technical excellence and good design enhances agility. Good Design, Not Good Documentation Some people say that Agile is an approach that avoids documentation and limits design.  Likewise, detractors accuse it of jumping too quickly into implementation.  This principle puts the lie to those accusations.  We can do all manner of good things... Read more

develpreneur podcast

A Constant Pace Indefinitely – Measured Development

Software development has high and low points.  Likewise, there are hectic and “slow” times that we live with as part of our work-life.  When you think of software development as a marathon, a constant pace is a goal.  You want to be able to set a pace for the team that they can run at forever.  That allows for critical success factors like embracing change and adjusting to changing requirements. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. Sustainable Development Burnout and similar situations are highly detrimental to a plan.  The loss of a resource or team in such an unexpected way causes slippage or maybe even failure.  There... Read more

develpreneur podcast

Working Software – The Primary Measure of Progress

There are times where it helps to state the obvious.  The most glaring truths can be lost in the details when we forget to focus or reset.  Working software as our goal is one of those truths that we need to remember.  There is so much that goes into creating a solution that can distract us from this primary goal.  However, keeping this in mind can help us sift through what is productive and what is busywork. Working software is the primary measure of progress. Keep The End in Mind First and foremost, we still want to satisfy the customer.  That is the “why” of any project.  It is our measure of success for the solution.  Likewise, working software is... Read more

develpreneur podcast

Face-To-Face Conversation – Efficient And Effective

The season of digging deeper into the Agile Manifesto continues forward to the sixth principle.  Our primary focus is on satisfying the customer.  However, we now shift into how our approach can achieve that goal.  It is time to talk about the value of a face-to-face conversation. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. Clear And Effective Communication We have often looked at setting expectations and communication as essential factors in project success.  This principle cuts to the chase concerning this challenge.  I think we all know the primary thrust of this recommendation.  Nevertheless, we quickly get pulled away from the best way to accomplish the objective.  There are... Read more