Software Principles Intro - What Is Thoughtful Software?

SW0 Intro-3.png

Information technology expenditure worldwide is currently at 3.7 trillion dollars, with growth that outpaces the GDP growth rate of many nations [^1]. Digital transformation for businesses is targeted to hit 2.2 trillion dollars by 2022 [^2]. It has a daily impact on most, if not all lives, in all developed countries. Software is quite literally eating the world. 

There is still so much incredible waste where in a recent study a staggering 68% of all IT projects fail [^3].  70% of executives in the Fortune 500 believe that their technology projects will fail, and the sad part is that they aren’t wrong to believe that. 

There are many attempts to de-risk projects: hiring incredible project managers, adopting new processes like Lean, Scrum or SaFe, shrinking team sizes and using an outside talent like freelancers or contractors. 

Even with this, however, project failure rates are increasing, not decreasing. These failure rates might lead to the question: why do projects fail if not for talent, process, or management?  

It’s true that these three things play a non-trivial part in the failure rate and generates waste from many different areas: 

·     Not having the right processes or not following them correctly

·     Failure to understand what the right project is and executing on that

·     Not using talent appropriately on the projects

·     Project management reporting the incorrect status for weeks on end

·     Engineers overcomplicating architecture and picking the wrong technology and hundreds of other reasons. 

Ultimately, the reason that projects fail is a lack of thoughtfulness throughout the entire software project by everyone involved. Many people believe being thoughtful in the process and development of software would be costly, but this simply isn’t true.

When a project fails, the project still costs the same amount, but with little or no value added to the world. Even if the project is successful, the long-term maintenance costs can skyrocket with poor architecture, lack of documentation, poor metrics and other important aspects of a healthy product.

Increasing project success rate is ultimately what thoughtful software is aiming to do: bring about a movement that helps people quantify the costs of not being thoughtful and help them discover the advantages while tackling software projects.

If we can reduce failure by even 10% through sharing of our principles, values, and techniques with each other, then we can move forward exponentially. 

While not all projects that fail would have been a net-positive to humanity, the vast majority them would be. Imagine the medical advancements that never see the light of day, the transportation optimizations that people never get to realize, or even the fantastic life altering apps for mobile phones that never get into the hands of consumers. 

We achieve great things if we can create an environment where thoughtfulness is the goal. 

Thoughtful software is a group of principles that will guide you while developing software. While the ideas and principles that govern what I think of thoughtful software applied to more than software, the subsequent posts will focus on the development of incredible software.  

To start, we will tackle the high-level principles that govern what thoughtful software is and how it is used. These principles are general enough again to be applied everywhere in life but when used in the context of software, provide excellent results.

Software Principles

From there in this series, we will tackle many individual tracks such as architecture, change management, building teams, the building of software, libraries, security, and many others. All of these will have principles of their own and will all tie back to the goal of this movement. 

Throughout this series, I’d love the discussion of these principles to be public so that everyone can join in, debate them, add their details and flair and be able to debunk parts of them. 

By doing this, we all will become better, and that’s the goal of this movement and this series. 

It would be amazing also to see other people post their principles for their crafts like project management or product management with the same goal of furthering the thoughtful revolution. 

It would also be incredible for other individuals with an engineering background to share the principles that have made them successful. 

To further the corpus of thoughtful principles in the world can never be a bad thing. 

Now, let’s get to it.

Andrew Wolfe, CEO Skiplist

[^1]:  [](

[^2]:  [](

[^3]:  [](