A Workshop on State-of-the-Art Practices in Software Engineering

סוג הפעילות


מועד הפעילות


מקום הפעילות

HaSharon Hotel , Herzliaמפה מצורפת

תיאור המפגש

Objective + Description: This two-part workshop touches on two critical issues concerning SW development: 1.Getting the best of agile methods.  2. Producing reliable software.


Part 1: Getting the best of agile methods (and dumping the rest): The software industry is increasingly turning to agile methods, but there is a gap between lofty goals and the reality. Most of the discourse around agile methods has been inspirational: its goal is to convince and convert. In fact, agile methods deserve both interest and circumspection. They also deserve objective analysis, since they are a remarkable mix of ideas: some brilliant; some useless, if harmless; and some downright harmful.

In the spirit of the book “Agile! The Good, the Hype and the Ugly” (Springer) this talk presents a critical, dispassionate analysis of agile methods, with the goal of helping practitioners choose what will help them and reject the rest.  The discussion is from a software engineering perspective, examining how agile methods fit in the general history of the field, not as an outlier or an exception but as a major step in its evolution.

This is not an academic seminar but a presentation for software developers and managers who are attracted to agile ideas but need a no-nonsense, cut-the-hype explanation of what can be good for them.


Part 2: Producing reliable software with Design by Contract and the Eiffel method: The extraordinary development of the IT industry, focused on innovation and functionality, comes at a price: bugs. In the race for ever more exciting features, we leave a few stones unturned. Yet techniques exist that considerably increase the correctness, robustness and security of the software being produced. The Eiffel method concentrates many of modern software engineering “best practices” as developed over decades. Although embedded in the Eiffel language, the method is also of interest to developers using other languages.


The workshop will focus on the most novel and productive ideas for increasing software reliability, including: seamless development, avoiding costly gaps in the production cycle; Design by Contract, a comprehensive approach for expressing specifications as part of the code and ensuring correctness; advanced techniques of truly automatic testing (including test-case generation); practical proofs of program correctness; void safety, removing the plague of null-pointer dereferencing; simple and safe techniques for concurrent programming, guaranteeing the absence of data races; and others.

סדר היום:






Agile methods: overview and a first attempt at assessment


Agile methods: basics and obstacles to analysis


Coffee Break


Agile principles, roles, practices and artifacts


Agile methods: a detailed practical assessment


Lunch Break



Reliable object-oriented software development: from requirements to implementation and testing using Design by Contract


Techniques for eradicating bugs: void safety, full practical proofs of correctness




Automatic testing


Simple and safe concurrent object-oriented programming: eradicating data races


Q&A with Bertrand Meyer



What you will learn

By taking this workshop you will get an in-depth understanding of the practical benefits and limitations of agile methods and critical guidelines to using them to their best effect. The presentation will provide you with a wealth of practical techniques to improve the quality of the software your organization produces