Do end-users need software engineering skills?

I’ve been asked to write a Point, or maybe it’s a Counterpoint for a special issue of IEEE Software on End-user Software Engineering. I’ll be writing it jointly with my colleague, Mark Vigder.  Our point is that end-users need to have some software engineering skills.  Mark had a good analogy.  Thirty years or so ago, noone would have thought it was necessary for managers or executives to have typing skills, and now it’s almost unthinkable to not be able to do your own typing.  To me, software engineers have perfected, or at least advanced, many of the skills necessary to store and manipulate information in a digital context.

The skills that I think are most useful include debugging which more generally means problem solving in the sense of figuring out the cause for some effect and then being able to change things to get the desired effect.  I guess this actually translates more generally to testing practices in different contexts as well – such as making sure that you meet your requirements.  Another important skill is versioning.  I mean, isn’t it shocking that tools like Word still do not have effective versioning control.  But especially when you’re working in a team, you need to have a way to control documents.  Usually, we just use a “talk lock” meaning telling people not to work on it, and saving past drafts.  Probably in the future, not too distant, I hope, versioning will be embeded into all sorts of activities, and people will then need to have some cognitive model of how versioning works.  I think another important skill be based on creating useful widgets by combining components.  We can already see this in the proliferation of mash-ups.  I believe that the cognitive skill associated to this has to do with understanding things like information flow related to things like APIs.  Anyhow, you can see I’m just starting to think this through, so any thoughts or comments?  We’re thinking of calling the column something like, “Reading, Writing, Arithmetic…Software Engineering.”

CHASE 2009 is on

I just heard from the ICSE committee.  CHASE 2009 is on. This year’s organizers are me, Cleidson de Souza, Yvonne Dittrich and Helen Sharp. This year, we will be accepting 3 types of papers – 8 pages, 4 pages, and short 1 page research reports.  The idea is to span the spectrum of research activities, and let people at all stages of their research report their results.  We will also have a keynote from Daniel German of the University of Victoria. We’ll have our coffee table rounds which were such a success last year from the hard work of Yvonne and Helen, and finally, we’ll arrange a social evening for fun.  So, start thinking about your topics.  I’m not sure about days or deadlines yet, but will update as soon as we have a formal CFP.

What is modeling good for?

or really what is it not good for?  I was attending CASCON (a Canadian CS conference, largely sponsored by IBM, with some help from the NRC).  I went to one workshop on Modeling (*first one on the linked page*), MDD, MDE, or whatever you might like to call it.  There were some good talks.  One from a fellow at IBM describing the Rational Toolset, and some of the reasoning behind it.  One from a fellow at GM describing the challenges behind getting people to adopt modeling as a way of creating software.  There were also several talks from Canadian academics outlining a research strategy for understanding and improving MDD, from the very technological side, to processes and practices.

So, after all the talks, especially as we were trying to define the research area, one fellow said – often when we are trying to understand what something is good for, it helps to know what it isn’t good for, under what circumstances, would we not want to use models to create software?  There wasn’t really a good answer to that comment.  I’ve thought about this some, probably not deeply enough, but I think it has to do with overhead.  Modeling is probably always a good idea, but eventually, maybe sooner rather than later, you’re going to incur some significant overhead, over other methods of software development, such that modeling just doesn’t make sense anymore.  I guess what this says, is that in order to make modeling successful, we really need good infrastructure tools to support development, collaboration and practices – so that the benefits associated with MDD are not outweighed by the costs of using it.  Of course, this is always assuming that your code generator works well, and creates code that runs well.  To mind this is a problem that will soon be overcome – I mean people used to write software with cards and machine language – they don’t do that anymore.

Other than that, there are probably some areas where the overhead associated with modeling will just never make sense – like in some scientific coding, where the software is only used once or twice.  What other situations can you think of?

And something I’ve been wondering lately – how did assembly language programmers feel about structured programming languages when they appeared on the scene?  Did they switch easily, or were there significant issues of trust involved before the switch-over occured?

Science of software, well really software for scientists

If you have ever read my projects page (and shame on you if you haven’t :) ), you’ll know that I also conduct research on software for scientists, looking at how scientists create, evolve, manage, and archive software and data.  We’re just about to deploy a large survey looking at the current work practices of scientists.  We need a few good pilots, pilot subjects that is.  If you’re interested, the survey takes about 30 minutes – although you can just read through and provide comments.  Also, if you have any scientist friends who would be willing to serve, that would be great.

The website is:  http://softwareresearch.ca/seg/SCS/scientific-computing-survey.html

THANKS!

CFP: Supporting distributed team work

CALL FOR PAPERS

————————————————————————
Supporting Distributed Team Work

Workshop in conjunction with CSCW 2008
Sunday, November 9, 2008
San Diego, CA, USA
Submission deadline: September 24
URL: http://conway.isri.cmu.edu/~jdh/VRC-2008
CSCW URL: http://www.cscw2008.org/index.html
————————————————————————

Geographically distributed teams and virtual organizations are
commonplace today. But we know that coordination in such settings is
problematic, especially for tasks that involve closely-coupled work.
Despite extensive research in coordination in distributed teams, the
common wisdom is still that highly interdependent tasks often require
collocation. However, collocation may be impractical in many business
and engineering settings, and in open production systems such as
open-source software and Wikipedia.

Evidence suggests that radical collocation, i.e. an open-plan team room,
can further aid collaboration. We lack a detailed understanding of
fine-grained task dependencies that occur in closely coupled work and
the mechanisms by which radical collocation can moderate those effects.
Consequently, there exist few alternatives to collocation — or using
technology to recreate a semblance of collocation — to avoid
coordination breakdowns when tasks are tightly linked.

This workshop seeks to understand the barriers and solutions for
closely-coupled work by fully- and partially-distributed teams and to
chart solutions motivated by studies of collocation and radical collocation.

ORGANIZERS
———-
Thomas Finholt – University of Michigan
James Herbsleb – Carnegie Mellon University
Gary Olson – University of California, Irvine
Judy Olson – University of California, Irvine
Anita Sarma – Carnegie Mellon University
Bhargav Sriprakash – University of Michigan
Gina Venolia – Microsoft Research
Patrick Wagstrom – Carnegie Mellon University

WORKSHOP GOALS
————–
** You are getting this email through the CHASE mailing list maintained by
Janice Singer – if you no longer wish to receive CHASE announcements please
email janice.singer@nrc.ca.  If you know someone else who would like these
announcements, please have them email Janice**

————————————————————————
Supporting Distributed Team Work

Workshop in conjunction with CSCW 2008
Sunday, November 9, 2008
San Diego, CA, USA
Submission deadline: September 24
URL: http://conway.isri.cmu.edu/~jdh/VRC-2008
CSCW URL: http://www.cscw2008.org/index.html
————————————————————————

Geographically distributed teams and virtual organizations are
commonplace today. But we know that coordination in such settings is
problematic, especially for tasks that involve closely-coupled work.
Despite extensive research in coordination in distributed teams, the
common wisdom is still that highly interdependent tasks often require
collocation. However, collocation may be impractical in many business
and engineering settings, and in open production systems such as
open-source software and Wikipedia.

Evidence suggests that radical collocation, i.e. an open-plan team room,
can further aid collaboration. We lack a detailed understanding of
fine-grained task dependencies that occur in closely coupled work and
the mechanisms by which radical collocation can moderate those effects.
Consequently, there exist few alternatives to collocation — or using
technology to recreate a semblance of collocation — to avoid
coordination breakdowns when tasks are tightly linked.

This workshop seeks to understand the barriers and solutions for
closely-coupled work by fully- and partially-distributed teams and to
chart solutions motivated by studies of collocation and radical collocation.

ORGANIZERS
———-
Thomas Finholt – University of Michigan
James Herbsleb – Carnegie Mellon University
Gary Olson – University of California, Irvine
Judy Olson – University of California, Irvine
Anita Sarma – Carnegie Mellon University
Bhargav Sriprakash – University of Michigan
Gina Venolia – Microsoft Research
Patrick Wagstrom – Carnegie Mellon University

WORKSHOP GOALS
————–
The overall goals of the workshop are to create a vision of distributed
work will be accomplished in the future, to understand the barriers that
currently stand in the way of realizing this vision, and to foster a
community of researchers who are working toward making this vision a
reality.

WORKSHOP THEMES
—————
Topics of interest include, but are not limited to

* Empirical studies of fine-grained coordination
* Empirical studies of the effect of team distribution on knowledge work
* Study of coordination across different phases of the development life
cycle
* Ways to measure the cascading effects of decisions taken at one phase
on others
* Methods and metrics to measure task coupling
* Tools to support closely-coupled tasks
* Tools to track dependencies in non code artifacts
* Coordination mechanisms for closely-coupled work
* Models of virtual radical collocation
* Models of closely-coupled work
* Mechanisms for coordinating closely-coupled work over long distances
* Team and workspace awareness
* Tools for distributed work inspired by behaviors in collocated and
radically collocated teams
* Re-evaluate the common wisdom regarding the difficulties of radical
virtual collocation
* Share research on close task coupling in particular domains
* Inform and foster research on coordination within virtual organizations
* Provide a link between research on coordination and communication
issues and developers of tools for virtual organizations
* Evaluate and discuss new and upcoming theories regarding virtual
organizations

SUBMISSIONS
———–
Both research papers (10 page max) and position papers (4 page max) will
be accepted.  Submissions will be reviewed by the organizers who will
solicit outside reviews as appropriate.  To facilitate discussion, all
those attending must submit a paper.

Presenters have the option of having their entire paper or just the
abstract published — the latter option is available for authors who
wish to avoid issues with submission to future publication.  Each
published position paper will retain the author’s copyright.

MORE INFORMATION
—————-
More information can be found on the workshop website:
http://conway.isri.cmu.edu/~jdh/VRC-2008

Send me your website addy

I was fooling around with my blog yesterday and looking at the stats.  I get about 15 hits a week or so, with about 125 hits on the related researchers page since the blog was started in Nov. 08.

But the problem is, I have no links on the page.  Obviously, there’s some interest with so many hits. Over time, I will definitely build up this aspect, but it would sure help me if you could send me your link if you’re interested in being on the page and a short one-liner to describe your research.

Extension: SI of JCSCW on Software Development as Cooperative Work

Many people have asked for an extension to submit to the special issue of JCSCW on Software Development as Cooperative Work, so our new (and very HARD) deadline is September 22, 2008.  If you are planning to submit and have not yet sent an abstract, please do so ASAP.  It will help us to assign reviewers.

CHASE 2009 (Cooperative and Human Aspects of Software Engineering)

Well, we (Yvonne Dittrich, Cleidson de Souza, Helen Sharp and myself) are just putting together our proposal for CHASE 2009 for ICSE in Vancouver. Before we finalize our proposal, in the service of cooperation : ), I thought I’d ask all of you out there what you liked and didn’t about last year’s CHASE. Is there something we should do differently this year? Are there other topics we should include in our CFP? Just in case you forgot to bookmark it, here is the website for CHASE 2008.

We have decided to include 1 page, 4 page, and 8 page papers to give people at different points in the research cycle an opportunity to participate. What do you think of this? We also plan to follow the same basic format as last year with directed coffee table rounds focusing on posters and paper presentations. One thing we are considering is a keynote address. Any ideas for who we should invite?

The proposal is due on September 15th, so send comments now, either below or by emailing me.

CFP: Infrastructure for Research in Collaborative Software Engineering

http://home.segal.uvic.ca/~IRCoSE-2008/ 

Integrated Support or Integrated Overhead?

First International Workshop on
Infrastructure for Research in Collaborative Software Engineering (IRCoSE) at FSE 2008

Atlanta, Georgia, USA
November 9, 2008

Second Paper Submission is Open!!

Theme and Goals of the workshop

Development teams today can choose from a growing number of options for assembling an end-to-end solution for collaborative software engineering. Examples range from tying together IDEs with various services (e.g. the Eclipse IDE + Subversion + Bugzilla + CruiseControl) to integrated end-to-end solutions like Jazz. These options are freely available for academia, provide extensibility, ready access to repositories of data, and community mechanisms to contribute back new improvements. This suggests an exciting opportunity for the software engineering researcher and educator to focus on experimentation and exploration instead of struggling with technology. But, often these infrastructure choices were designed for developers, not researchers and educators can there be a balance without creating overhead for all parties?

The theme of this workshop is on strategies and technologies for minimizing infrastructure overhead to enable a focus on software engineering research and teaching in the domain of collaborative software engineering. The central activity of the workshop will be sharing experiences in evaluating and using open-source, academic, and commercial choices to conduct research, showcase how choices helped accelerate their work, and identify areas for improvement. This one-day workshop seeks to build up a community interested in ways to reduce infrastructure overhead and help bring focus to software engineering research and teaching. We will feature presentations and group discussions to increase interaction among participants. We also encourage an open ongoing discussion that includes sharing of best practices and recommendations to improve the usability of core technologies.

We invite position papers that summarize current or past collaborative software engineering projects and discuss issues around infrastructure choices, such as:

    * What features and requirements drove the infrastructure choices?
    * What worked well, and what didn’t with the infrastructure during the project?
    * How can the infrastructure be improved?
    * What requirements, standards, capabilities, etc. should be broadly available for future projects?
    * Should other researchers and educators be using the same infrastructure? Why, or why not?

Projects described can include topic areas such as (but are not limited to):

    * Collaboration and awareness
    * Configuration Management
    * Planning and Work Item Management
    * Process Guidance
    * Build
    * Project Health
    * Reporting and Visualization
    * Repository Mining (of code, work items, builds, and other artifacts)
    * Tailoring of environments for education/classroom use

Important Dates

Second paper submission: September 30, 2008, 23:59 GMT -12:00.
Second author notification: October 13, 2008.

Camera-ready copy: November 3, 2008, 23:59 GMT -12:00.
Workshop: November 9, 2008

Submission Information

Participants will be asked to submit position papers (4 pages maximum) on a topic relevant to the workshop as PDF files using the ACM Digital library guidelines. Papers must be uploaded via the workshop website (link to the Submission Site) by September 19, 2008. Authors of selected submissions will be asked to participate at the workshop. Their position papers will be posted on the workshop website. While the papers should be treated as non-archival, they may be included on USB sticks provided to all attendees of the FSE conference.

Organization

Workshop Organizers

Li-Te Cheng, IBM Research
Daniela Damian, University of Victoria
Gail Murphy, University of British Columbia
Adrian Schröter, University of Victoria

Program Committee

Li-Te Cheng, IBM Research
Daniela Damian, University of Victoria
Frank Maurer, University of Calgary
Gail Murphy, University of British Columbia
Nachiappan Nagappan, Microsoft
Anita Sarma, Carnegie Mellon University
Adrian Schröter, University of Victoria 

Does modeling matter?

So, in the last little while, I’ve been involved in a few projects regarding MDA, modeling, or automatic code generation as some of you would know it.  My personal belief is that modeling will become a prominent part of software engineering – as it already is in some areas, such as automotive SE.  And in fact, I think that a lot of modeling occurs, but we just don’t call it modeling.  For instance, when you put together a mash-up using a visual editor, it is a form of modeling, in the sense that you are abstracting from the particular details of the implementation, and instead focusing on the function.  But really, is that what modeling is.  So, I guess, what I’m worrying about now is how to define modeling in a software engineering context.  Is what end-users, in the sense of end-user software engineering do, modeling.  Do scientists model when they are using software to analyse and understand their results?  This seems like too broad a definition.  So define modeling – I need to know what it is, and what good is a blog if you can’t have other people do your work for you?

And my other question, why don’t software engineers like to model?  Will future SEs model more.  Is the difference between coding in Java and Modeling the same as the difference between coding in Pascal and Assembly, or between Assembly and Machine Language.  So, why don’t we code in Machine Language any more.  I guess what I’m saying is, is it just an evolution, or is there something fundamentally different about the modeling abstraction than the previous ones?  Food for thought, as I try to understand why SEs don’t trust models.

Follow

Get every new post delivered to your Inbox.