🤖▶️ Check out the Design Patterns Overview course by Steve @ardalis Smith!Check it out »Hide




Courage is one of the Values of Extreme Programming.  To wit:

We will tell the truth about progress and estimates.  We don't document excuses for failure because we plan to succeed.  We don't fear anything because no one ever works alone.  We will adapt to changes when ever they happen.

Courage is a fundamental attribute in the software development process, playing a pivotal role in various XP and Agile practices. These practices are intentionally designed to bolster the team's capacity for courage and diminish fear.

For instance, tackling the challenging task of refactoring intricate software can be an intimidating endeavor. However, courage can be summoned when working alongside a team member through pair programming. Moreover, the assurance that test-driven development will validate the software's continued correctness post-refactoring can provide additional courage.

Similarly, the process of integrating and shipping software can evoke fear, yet this apprehension can be mitigated through the application of continuous integration and the adoption of smaller, manageable releases.

In software development, courage holds paramount importance. It necessitates the bravery to maintain transparency and honesty when dealing with customers and stakeholders. Furthermore, it demands the courage to recognize and address weaknesses within ourselves, our teams, and our organizations, ultimately driving us to strive for improvement in these areas.


"The only thing we have to fear is fear itself." - Franklin D. Roosevelt

See Also





Pair Programming

Test Driven Development

Continuous Integration


Values of Extreme Programming

Edit this page on GitHub

On this page

Sponsored by NimblePros