Cloudworks is no longer accepting new user registrations, and will be closing down on 24th June 2019. We hope to make a read-only archive of the site available soon after.
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
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.
- '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.
- 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
- 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.
- 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.
- 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)
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)