Great tutorial on eXtreme Programming/Agile Methods

Today Karl-Heinz Sylla and Reinhard Budde (both senior researcher at Fraunhofer IAIS) gave for the summer research project a tutorial on agile methods for software engineering. The experience they have from large scale real world projects is impressive! We looked at different approaches to software construction and discussed the pros and cons. Short iterations, user stories, pair programming and test driven development seem to fit very well to our work approach and project goals. A good starting point for more on the topic in particular with a teaching perspective are the following 2 papers: LeJeune, N. F. 2006. Teaching software engineering practices with Extreme Programming. J. Comput. Small Coll. 21, 3 (Feb. 2006), 107-117 and Schneider, J. and Johnston, L. 2003. eXtreme Programming at universities: an educational perspective. In Proceedings of the 25th international Conference on Software Engineering (Portland, Oregon, May 03 – 10, 2003). International Conference on Software Engineering. IEEE Computer Society, Washington, DC, 594-599.

From a user interface engineering perspective is very positive that agile methods are good to integrate with user centred design – in my experience much better than traditional software construction processes. Especially the fact that XP (eXtreme Programming) is open to change in functionally throughout the process is a key.

In this summer research project one great challenge is that the students have to build up knowledge in various areas (e.g. search technologies, web technology, user interfaces) while creating high quality code. There is a very interesting paper that discusses software engineering issues in the context of web applications: Jazayeri, M. 2007. Some Trends in Web Application Development. In 2007 Future of Software Engineering (May 23 – 25, 2007). International Conference on Software Engineering. IEEE Computer Society, Washington, DC, 199-213.

Always when the discussion comes to programming languages a debate on strong typing starts. Especially in the web context this seems come up again and again…