The Dynamics Of Creativity In Software Development

Gimena Aguerreberry
August 20, 2021

Creativity is crucial in software development as it is the source to solve complex problems and innovate.

The industry has increased its emphasis on software usability. This is has been an issue for some time, in 1995, Microsoft attempted to buy Intuit’s money-management program, Quicken, for a staggering $1.5 billion, primarily because customers had found Quicken to be more usable and understandable than Microsoft’s own software.

In his book "Bringing Design to Software", Terry Winograd claims that:

"When software engineers or programmers say that a piece of software works, they typically mean that it is robust, is reliable, and meets its functional specification. These concerns are indeed important. Any designer who ignores them does so at the risk of disaster.

*But this inward-looking perspective, with its focus on function and construction, is one-sided. To design software that really works, we need to move from a constructor’s-eye view to a designer’s-eye view, taking the system, the users, and the context all together as a starting point. *

When a designer says that something works (for example, a layout for a book cover or a design for a housing complex), the term reflects a broader meaning. Good design produces an object that works for people in a context of values and needs, to produce quality results and a satisfying experience."

In order to solve today's complex problems in the world of software development, technical knowledge is no longer enough.

Creativity In Software Development

Agile practitioners rely on the creative talent of people to improvise solutions for complex problem-solving. Software development is an iterative process of discovery. Each problem fixed is a step nearer to the solution required and everyone learns more about the business and technology.

Programming is complex, making it likely that creativity will be involved during problem-solving.

In a recent Delphi study, important skills of exceptional software engineers were identified. Industry experts agreed that being creative (e.g., by approaching a problem from different angles) is an essential problem-solving skill, vital to succeed as a software developer. However,

creativity is a multidimensional concept that is not as easy to define as one might think.

Dealing with uncertainty

Deciding exactly how the software will look during the initial requirements phase is seen as a rather old and out-of-date method of working these days. The flexibility agile processes have brought to software development is often thought of as positive for the industry and a great way to build great software.

One component of the software development process is the human factors of communication, flexibility, and all the usual problems that come with providing a product.

Final Thoughts

Creativity doesn’t need to come at the expense of a credible and working process, and like the coexistence of agile methods and structured programming, creative processes can be at the heart of a well-functioning software strategy at any firm.

"The Dynamics Of Creativity In Software Development" by Gimena Aguerreberry is licensed under CC BY SA. Source code examples are licensed under MIT.

Photo by Nishant Jain

Categorized under people.

Join our team

If you're passionate about building quality software and our values resonate with you, get in touch with us!