From Good to Great SW Development

In his book "From Good To Great", Jim Collins discusses the three main stages that companies must go through to transition from being average to great: Disciplined People, Disciplined Thought, and Disciplined Action. These stages are just as applicable to modern agile software development as they are to any other industry.

Disciplined People

One of the key components of moving from good to great is having "Level 5 Leadership," or leaders who are ambitious for the cause, the organization, and the work, rather than for themselves. These leaders often referred to as "Servant Leaders," are crucial for success in agile software development. They can help to empower team members and foster collaboration, which aligns with the Agile Principle of "Individuals and Interactions Over Processes and Tools." It is also important to have the right people on the team and to make sure that the wrong people are not present. This is the principle of "First Who…Then What," which emphasizes the importance of getting the right people in place before determining the direction of the project. In agile development, it is crucial to have a team of people who are skilled in their respective areas, but who are also adaptable and open to learning new things. By having a team of people who are passionate about their work and aligned with the company's goals, teams can achieve great results. On the other hand, having the wrong people on the team can be toxic and detrimental to the project's success. It is important to identify any team members who are not a good fit and take steps to remove them from the team.

Disciplined Thought

Disciplined thought is necessary in order to focus on the right things. Collins discusses the "Stockdale Paradox," which involves maintaining unwavering faith in ultimate success while also facing the brutal facts of the current reality. This is especially important in agile development, where being honest about progress and setbacks is crucial for making adjustments and improvements. This aligns with the Agile Principle of "Working Software Over Comprehensive Documentation" and the Agile Value of "Responding to Change Over Following a Plan." Collins also talks about "The Hedgehog Concept," which involves understanding what a company can be the best in the world at, what it is deeply passionate about, and what best drives its economic or resource engine. This self-awareness is important for guiding decision-making and staying on track in agile development. By being clear about these "three circles," teams can stay focused on their goals and avoid wasting time on tasks that are not aligned with their strengths and passions.

Disciplined Action

he first step of disciplined action is creating a "Culture of Discipline." This involves having disciplined people who engage in disciplined thought and operate with freedom within a framework of responsibilities. This is closely aligned with agile principles, which emphasize self-organizing teams and disciplined engineering practices such as test automation and easy-to-change architectures. These practices align with the Agile Principle of "Working Software Over Comprehensive Documentation" and the Agile Value of "Working Software Over Process Documentation." Collins also discusses the concept of "The Flywheel," which involves continually making small improvements to build momentum and eventually achieve excellence. This aligns with the iterative nature of agile development, which involves constantly improving and adjusting processes. By "turning the flywheel" and making progress little by little, teams can eventually reach a level of excellence that they may have never thought possible.

Overall, Jim Collins' book "From Good To Great" offers valuable insights for modern agile software development teams looking to make the transition from being average to great. By focusing on disciplined people, disciplined thought, and disciplined action, teams can set themselves up for success and achieve excellence in their work. By having the right people on the team and leaders who are passionate about the cause, teams can create a positive and motivated culture. By maintaining faith in ultimate success while also facing the brutal facts of the current reality, teams can stay on track and make informed decisions. And by creating a culture of discipline and continually making small improvements, teams can build up momentum and achieve excellence. By applying these principles and aligning with agile values and principles, software development teams can make the transition from good to great and become leaders in their industry.