CSEET 2010: Day 1

Summary of some of sessions from CSEET 2010...

Cloud created by:

Arosha K Bandara
10 March 2010

Summary of some of sessions from CSEET 2010

Extra content

Keynote

Teaching the Next Generation of Software Engineers

Alistair Cockburn (http://Alistair.Cockburn.us) presented some thought on key elements of software engineering education.  Overall, the presentation identified two major problems facing software engineering educators.  Namely:

  • Problem 1: "Software Engineering" is a term that has no universally accepted meaning, and is poorly understood.  As a result, the term is seen as being irrelevant by many in academia and industry.
  • Problem 2: Most software engineering education still ignores the application of iterative, incremental development processes with only passing mention of these ideas.  This is despite iterative development processes having been around for over  30 years now, and being widely accepted as a mainstream software engineering process.
In order to address Problem 2, Cockburn advocates taking a view of software engineering education as a process that engenders lifelong learning, leading to a deeper knowledge and experience of a number of core skills.  The teaching of these skills should be done in stages:
  • 'Shu' stage, teaches one (or two) technique(s) with clear explanation of the scope of applicability of the technique.
  • 'Ha' stage, teaches how to get information on additional techniques and gain an understanding of their respective scopes of applicability,
  • 'Ri' stage, gives students the opportunity to select (and adapt) the technique most applicable to a given context, and apply this adapted technique to the problem at hand.
In this way, the process of software engineering education is itself iterative and incremental - with each stage of learning helping the student deepen and extend their knowledge and skill level.
In order to address Problem 1, Cockburn suggests viewing software engineering in the following ways:
  1. Software engineering as a craft, which includes performing the tasks of deciding what to build; managing people and projects; modelling; designing the external view of the software; large scale design (a.k.a. software architecture design); fine-grain design (a.k.a. programming); validation
  2. Software engineering as a co-operative game, which has a defined goal, to be achieved in finite time with limited resources.  The challenge of the game is that the goal and available resources can vary at every stage of the game. 
  3. Software engineering as a lean manufacturing process, involves looking at every decision that needs to be made as an item of inventory that has to be processed by a member of the software development team.  
  4. Software engineering as knowledge acquisition process.  This view treats the work of software engineering as one of acquiring the knowledge necessary for understanding the risks of the project (technical, social and business) and making the decisions that will ensure that the highest risks are addressed early in the iterative software development process.

Arosha K Bandara
02:11 on 10 March 2010 (Edited 14:24 on 10 March 2010)

Workshop

Nano-incremental development

This workshop gave participants hands-on experience of how to breakdown a business problem into very small 'slices' that could be rapidly developed and tested such that developers can show noticeable progress at each stage of the development process.

We found this exercise to be useful to students in gaining practical experience of agile development processes, whilst at the same time showing how to breakdown problems into easily manageable 'slices'.

The exercise is described on Alistair Cockburn's site, and is available for anyone to freely use.

Arosha K Bandara
02:20 on 10 March 2010 (Edited 16:40 on 11 January 2013)

Embedded Content

Contribute

Leonor Barroca
8:16am 10 March 2010


Arosha, many thaks for this, this is very useful. Alistair is one of the signatories of SEMAT; did he mention it at all?

Leonor

Arosha K Bandara
10:53am 10 March 2010


Leonor, 

Alistair did mention SEMAT very briefly - but acknowledged that this is still very much a work in progress.

The impression I got from Alistair's keynote was that SEMAT will incorporate the 4 views of software engineering described in the talk (see above), and provide a framework in which software engineers can describe their methods, practices and patterns in common way. 

Btw, you may have already read this, but I came across an interesting discussion on SEMAT @ http://catenary.wordpress.com/2009/11/29/against-semat/.

Arosha K Bandara
12:28pm 10 March 2010


I found out this morning that CSEET speakers had only given consent for sessions to be recorded for the purpose of allowing other conference participants to review parallel sessions that might have been missed.  Therefore, I have removed the URLs to the recordings of the sessions.

I will endeavour to watch some of the sessions I missed yesterday and make some notes on this cloud page.  Please take a look at the programme and let me know if there are any particular sessions you would like me to summarise.

Blaine Price
9:34am 11 March 2010


Arosha, thanks for reporting on sessions, that is the most refreshing description of the field I have read since I took my first software engineering course!

Blaine

Leonor Barroca
1:50pm 11 March 2010


Yes, Arosha I am aware of dissent and the several very interesting blogs coming out of the Toronto group.

Thanks

Leonor

Contribute to the discussion

Please log in to post a comment. Register here if you haven't signed up yet.