September 2013 Blog Posts

Professional software development between science, sound experience and beliefs

Is Computer Science a science that can currently support software development's decisions in the day-to-day work? Is sound experience enough to take decisions in software development? This is what I discovered from the reading list about the current state in: - Computer Science, research and academia - Professional Software Development and IT industry And the following are my - Conclusions

Professional software development between science, sound experience and beliefs: Science

Software engineering research and Computer Science research are currently in an immature state of understanding: there is not a first principle or universal theory that helps to decide beyond doubt what is right or wrong, what works and what not. still today many ideas from which originate most important advancements in Computer Science remain unproved conjectures as i.e. the Church–Turing conjecture, P ≠ NP problem, or the Brewer's conjecture   People, the high variability caused by the human factor, is heavily underestimated: The effectiveness...

Professional software development between science, sound experience and beliefs: IT Industry

IT industry on one hand is doing a good job in documenting lessons learned and experience accumulated on the field, for example see [7] and [8]. On the other hand many lessons are forgotten because each generation start over to find solutions that speak directly to its unique time. In the day to day work, IT professionals are let alone to deal with complex projects and with many unknowns. They can count on their judgment and it's up to them to verify what works and what not, in every single specific case. When there is a doubt or a disagreement, ...

Professional software development between science, sound experience and beliefs: conclusions

In conclusion,     nowadays Professional Software Development compared for example with Medicine, is still in its early  Middle Ages.     Computer Science, academic Software Engineering and IT industry provide some answers. But after science and sound experience, there is still a large area of unknowns and uncertainties. In presence of unknowns and uncertainties, many rely on current trends that can be easily confused for fads and popular beliefs and superstitions. Others rely on popular experts whose reliability is determined by their popularity, reputation or authority. Others rely on personal intuition.  Without a universal theory and with lessons learned from experience that cannot...

Professional software development between science, sound experience and beliefs: reading list

The following is the reading list: [1] Two Solitudes Illustrated, Greg Wilson, Jorge Aranda, 2012 [2] Making Software (What really works, and why we believe it), Chapter 1 The Quest for Convincing Evidence, Tim Menzies, Forrest Shull, 2011 [3] Computer Science Is Not a Science (Communications of the ACM, Vol. 56 No. 1, Pages 8-9) [4] The Impact of Irrelevant and Misleading Information on Software Development Effort Estimates: A Randomized Controlled Field Experiment, Magne Jørgensen, Stein Grimstad, 2009 [5] Variability and Reproducibility in Software Engineering: A Study of Four Companies that Developed the Same System, Bente...