Sunday, May 22, 2011

Unsolicited and uninformed rant about Software Engineering Research

Jorge Aranda interviewed industry professionals regarding their opinions of software engineering research. Needless to say I wasn't asked, and also needless to say I'll shoot my mouth off anyway. As with most of the interviewees, my knowledge of software engineering research goes little beyond Brooks' classic papers. Despite my reduced exposure, the impression I have of S.E. research is less then stellar. I have a feeling that a lot of the research tries to be too helpful, and ends up lacking in enlightenment.

It seems the goal is often to evaluate a certain practice in order to recommend it or not to the industry. I find this goal suspect for a number of reasons: the definition of success is too context bound (e.g. some environments value fast feedback while others value more a well crafted user experience), the measures of project success may mislead, some practices can help at certain parts of a project and hinder at different parts, people respond differently to different incentives, personal preferences play a major factor, etc. Perhaps Cockburn's "Characterizing people as non-linear first-order components in software development" helps to explains my uncertainty.

I'm not writing just to complain that research I'm not familiar with goes about the wrong way. I'm also writing to offer unsolicited advice regarding what the aforementioned research should do. In a nutshell, I would like to learn more about programmers, teams, and culture. Research about programmers could investigate stuff like correlation between psychological attributes and professional attributes (e.g. are people with certain personality profiles more attracted to some kinds of software than others), differences in thinking processes between programmers doing different kinds of work, differences in the work of programmers that have been doing the same thing for an extended amount of time versus programmers with a more diverse career, etc.

Research about teams could look into communication patterns (how and when they tend to take place, not which are more "effective" than others), how people react to homogeneous versus heterogeneous skill-set compositions, how the amount of time spent as a team affects the work (not just wrt productivity), at what team sizes people tend to jell into cliques (and what other factors are in play in the process), how the physical layout affects the communication (again, not trying to find "optimal placements"), ...

The "culture" part may seem a strange focus for software engineering research, but I would enjoy reading anthropological accounts of the differences an similarities between behaviours of the different programming cultures: systems programming, the smalltalk/OOPSLA/XP culture, lispers, modern large-scale web development, game developers, etc. The very question of whether it is meaningful to apply the word "culture" here would be worthy investigating.

Anyway, the particulars aren't important, I just want to emphasize the most interesting research, from my point of view, is the one that tries to understand, not merely to optimze.

Edit: Jorge Aranda commented to point out the interviews were conducted by a team including himelf, Margaret-Anne Storey, Marian Petre, and Daniela Damian.


Jonas Abreu said...

Hey Ferreira,

I'm into some of the subjects. Wanna grab a beer sometime and talk about it?

Paul said...

I think the real problem is the overloaded term, "Software Engineering." You seem to be focusing on a rather small piece of software engineering (process).

The focus of software engineering is the construction, delivery, and deployment of "systems of systems", and the managerial aspects in producing those systems.

Software architecture, requirements elicitation and specification, validation and verification, formal and semi-formal methods, software and system evolution, software project management, and Software development life cycles are all fair game for research.

Dependable systems, distributed systems, autonomic computing, software artifact identification and extraction, and reverse engineering are also fair game.

Much of what is commonplace in software development today came from research in all of these fields.

It appears like you're only looking at "research" being published by industrial labs or reported in Software Developer Times. Rather, you should look at leading journals and conferences for substantial research in the field.

I agree though, despite software engineering being concerned with the human/person piece of software development, one has to hope that researches in cognitive psychology, behavioral science, and communication attributes and theories within certain processes, focus on our industry for relevant and influential information.

Paul deGrandis

Anonymous said...

"I just want to emphasize the most interesting research, from my point of view, is the one that tries to understand, not merely to optimze."

Great point, Rafael, and great post overall. I should say that a lot of current research tries to do just that (to understand), though this was not the case some ten years ago. I think our community is becoming a bit more humble. Perhaps in its earlier times it did not recognize that its idea of software development was completely misguided, and it has taken lots of time to recognize that we don't really know much that we should know about what goes on in software organizations, and to rectify this.

I also must point out that it was a bunch of us doing the interviews you refer to besides myself: Margaret-Anne Storey, Marian Petre, and Daniela Damian.

--Jorge Aranda

Unknown said...

@catenary I will try to look into more recent software engineering research, perhaps Greg Wilson's Making Software will be a good first step?

I updated the post to mention the team doing the interviews.

Thanks for the comment.

Unknown said...

Indeed I was applying a narrow interpretation of the term "software engineering" and my concerns don't necessarily apply to the broader view. A view so broad, in fact, that it makes it hard to say anything about it in general.

James Franklin said...

Reverse engineering allows seeing what is existing. Reverse engineering can produce any existing products such as any parts, structures, or processes that could benefit communities in other ways. If you are searching for the best reverse engineering service then you can visit Onsite3D website. Reverse engineering Denver, Colorado

5280Software said...

A lot of valuable information can be derived from the post. 5280 Software, LLC is a team of highly trained professionals providing mobile ios app development Denver services at the affordable prices.


I really want to thank the author for such an amazing blog that explained me the importance of Software Engineering Research. You can consult us for Dating App Development for more information.

shwethapriya said...

Interesting blog. Got a lotb of information about this technology.
pearson vue
french courses in chennai
Blockchain Training in Chennai
Ionic Training in Chennai 
Hadoop Admin Training in Chennai
best german classes in chennai
Best Informatica Training in Chennai

Joseph Mikel said...
This comment has been removed by the author.
David  aarons said...

I enjoyed reading your post. I will share it with my other friends as the information is really very useful. Keep sharing your excellent work. custom software development services

Laura Bush said...

Great job for publishing such a nice article. Your article isn’t only useful but it is additionally really informative. Thank you because you have been willing to share information with us. Best Engineering College India

Joseph Mikel said...

I read your post and got it quite informative. I couldn't find any knowledge on this matter prior to. I would like to thanks for sharing this article here. smvec is one of the Top Engineering College In Pondy.

mary Brown said...

As I read the blog I felt a tug on the heartstrings. it exhibits how much effort has been put into this.
Final Year Project Domains for CSE

Spring Training in Chennai

Project Centers in Chennai for CSE

Spring Framework Corporate TRaining

p3dev said...

This information is meaningful and magnificent which you have shared here about the software application development. I am impressed by the details that you have shared in this post and It reveals how nicely you understand this subject. I would like to thanks for sharing this article here.

Interharex Consulting Engineers said...

This is one of the best website for Mechanical Engineers with complete guidance about courses, careers, education, projects and companies. You can consult engineering consulting firms Sydney for a wide range of services.

KPL Tech said...

This is truly a great source of details, I will certainly typically follow it to know even more information and also expand my expertise, I assume every person ought to know it, many thanks. Get more info about best power bi dashboards

Go Smart Solutions said...

Thank you for such useful informations. You can also checkout our best services of learning management system Saudi Arabia.

shahdkhan said...

install notepad++ from

Initprise LLC said...

Nice article, Which you have shared here about the software development. Your article is very informative and useful to know more about the Software Engineering. Thanks for sharing this article here. software development company Phoenix

Janitorial Manager said...

Very well written article. It was awesome article to read. Complete rich content and fully informative. If anyone looking for the janitorial software programs online, janitorialmanager is the best choice.

Go Smart Solutions said...

I am happy to find your distinguished way of writing the post. Now you make it easy for me to understand and implement the concept. Thank you for the post.Get for more information mobile app development company

python coaching said...

Check for full practical courses:
python course in coimbatore
java course in coimbatore
python training in coimbatore
java training in coimbatore

dawnwacker said...

i love reading this article so beautiful!!great job! software g√ľnstig

Anonymous said...

You might comment on the order system of the blog. You should chat it's splendid. Your blog audit would swell up your visitors. I was very pleased to find this site.I wanted to thank you for this great read!! weather station

Logan Jack said...

I’d have to check with you here. Which is not something I usually do! I enjoy reading a post that will make people think. Also, thanks for allowing me to comment! iphone device template

jhon said...

Remarkably! It is as if you read my mind! A person appear to know therefore considerably relating to this, just like you authored the book inside it or something. I feel that you can do with a few images to drive the content residence a bit, on top of that, this really is great weblog. The outstanding study. I will definitely review again. phone mockup

Anonymous said...

Thank you so much for ding the impressive job here, everyone will surely like your post. remote team management

Anik Howlader said...

This is an informative post and it is very useful and knowledgeable. therefore, I would like to thank you for the efforts you have made in writing this article.

Website Design and Development Company

Website Design Company

Website Development Company

Wordpress Customization comapany

SEO Company

digital marketing company

Bandile Kungawo said...

Utterly composed subject material , thanks for selective information . tablet mockup

Total Jerk Face said...

Great work man you have post a great post it will help people very much keep it do more for people like that iPhone 11 repair.

Yousufzai said...

Very interesting information!Perfect just what I was looking for! macbook psd

James jones said...

Thank your for share. I hope you will share again. laptop mockup

jhone than said...

Largest lover messages were made to share it with your and gives honour of the bride and groom. Very sound systems facing unnecessary throngs of people should take into account each of our valuable concept of all presenting, which is one’s trailer. best man toasts android phone template

Hetuwa Duminda said...

I really love the theme on your website, I run a web site , and i would adore to use this theme. Is it a free style, or is it custom? android mockup psd

relxindo said...

our mission is to provide Innovative & Optimum Solution with an edge of technology offerings to find the most effective and affordable fit, that help our customers meet their needs of having a high performing, reliable, manageable and cost effective networks. vacuum pump manufacturers in mumbai

relxindo said...

I’d always want to be update on new content on this site, saved to bookmarks ! . pneumatic linear actuators

jamuna said...

Excellent post and it is really useful for most of the freshers.
Ionic Training in Chennai
Ionic Corporate Training
german classes
Best IELTS Coaching in Chennai
learn Japanese in Chennai
top 10 ielts coaching in chennai
best spoken english institute in chennai
TOEFL Coaching Centres in Chennai
content writing course in chennai
spanish coaching in chennai
Ionic Training in Porur
Ionic Training in OMR