Developer Productivity for Humans, Part 8: Creativity in Software Engineering (Category Management)
Keep reading. articles It's about the productivity of engineers, this time it's about creativity. I've told you before. column "Developer Productivity" in the IEEE journal. In this article, the authors describe their approach something like this:
- The study authors reviewed previous articles and literature and noted that creativity is the quality of cool engineers.
- But what creativity means in software engineering is a big question that the authors habitually decided to find out, starting with people.
- In short, their conclusions were that creativity in development is a smart reuse, not a complete novelty, as is customary in other fields.
- The authors conducted this study to understand how to better measure and nurture the creativity of engineers – they are interested in what makes the development process creative, not what personal qualities make specific engineers creative.
- They decided to make their research quantitative, but divided it into separate phases. Feedback studies where feedback should have been given directly when a particular event occurred Elicitation studies, when you had to take a photo of a creative moment once a week (It could have been a screenshot from a Brainstorm session, a screenshot of a design document, a screenshot of a code that had been severely refactored, and so on.) Follow-up interviews, where researchers asked questions about flashback photos and asked engineers to describe moments of creativity. Post analysis, where researchers identified common themes from the collected data, such as: reuse, infrastructure, knhowledge sharing, learning, novelty Combining the obtained topics with specific points in the developer workflow, which helped researchers gain a deeper understanding of the experience of study participants
- In the end, the authors identified three key themes that relate to creativity. Collaboration and Brainstorming boost creativity among developers Problem solving with problem area exploration through study and research create a scene for creativity Smart reuse and recombination of existing code in a useful way is a major attribute of creativity in software engineering. The bottom line is that you don’t have to be an innovator in code, but rather solve a complex problem in a simple and understandable way that will then be easy to maintain and develop.
- Interestingly, the authors see a contradiction between productivity and creativity when over-focusing on productivity leaves no time for creative decisions. For example, engineers have often noted that collaborating with colleagues to solve a complex problem or challenging refurbishment is creative, but rarely do managers find it productive:) The authors formulate a hypothesis that productivity is about the near future, and creativity is about the long-term effect of quality code.
Finally, the authors note that
There remains a need to better understand what creativity means in the context of software engineering, how it affects the whole software development process, and how factors like work location or AI tools might influence it.
#Management #Leadership #Software #SoftwareDevelopment #Metrics #Processes #Creativity