Industrial Software Development: Engineering vs Artistry (23.08.2020)2021-10-12T06:00:00+00:00
[by Dr. Daniel Simon, Head of Professional Services, Axivion GmbH]
In general, creative people follow - maybe unconsciously - a process (cf. [Funk08]):
- Preparation: make yourself familiar with your domain and acquire expertise in solving "problems"
- Incubation: relax - do not focus on the problem, free your mind
- Insight: the creative moment itself, that manifests after preparation and incubation - the "Eureka!"
- Evaluation: evaluate your ideas - not all will be feasible so this filters out "bad ideas"
- Elaboration: implement and test your idea
As we have seen in the past years, key quality aspects of successful industrial software development show certain quality attributes:
- Reliability: Systematic and structured approaches as to achieve the goals of development
- Reproducibility: Processes and procedures to ensure repeatable results and serve as a foundation for improvement
- Learnability: Ways for scaling up or down organisations
- Rationality: Fact based and informed decision making
- Applicability: Adding pragmatism to theoretical concepts
In successful organisations, individuals in the process (the "software engineers") have traits like being
- Workers - get things done
- Scientists - identify, preserve and communicate new knowledge
- Architects - understand complex scenarios and take their decisions based thereon
- Technicians - apply the state of the industry technologies according to their strengths
The creative process complies with the engineering approach as described above - with the incubation phase being a challenge regarding "time and budget" vs "outcome" considerations. You hardly know if you have incubated long enough to achieve the best result but "better than nothing" can be identified at least.
So, consequently - (software) engineering comprises creative processes. True engineers ARE creative.
For the engineers, this fact is a very positive aspect of their professional life, but brings along a big challenge: more often than not "creative ideas" imply changes - and resistance to change is everywhere and tries to stop innovation.
Looking from a different angle: if you perceive resistance, you have done your job.