Contact Information

Werner Heijstek
mail

Niels Bohrweg 1
2333 CA Leiden
the Netherlands

Office 150, Snellius Building (route)
Phone +31 - (0)71 - 527 7050
Fax +31 - (0)71 527 6985

vcard icon vCard
linked in icon LinkedIn
ekiga icon Ekiga
skype icon Skype

About me

I studied computer science. Before, during and after my studies I worked for several smaller and larger IT firms including Cyco Software, KPN, Accenture and Capgemini. After obtaining my M.Sc. degree in ICT in Business, I started a Ph.D. candidacy program at the Leiden Institute of Advanced Computer Science (LIACS) at Leiden University, the Netherlands. I work within the Software Engineering Group. My thesis adviser is dr. Michel R.V. Chaudron. I am currently working towards finalizing my dissertation (Working Title: "Dissemination and Coordination of Software Architecture Design in Distributed and Model-Centric Software Development")

LIACS also maintains a website for me here.

I am married, have a son, play water polo and enjoy reading and making music.

Research Areas

The overall theme of my research is `Representation and Communication of Software Architecture and Design in Global / Distributed Software Development'. The objectives of this research are to identify methods to increase transparency, predictability and productivity of the processes of the software architecture and design in software development development that physically takes place at more than one location, simultaneously.

My research interests include, but are not limited to:

  • Software architecture and design representation (google news) and UML (google news)
  • Global / Distributed Software Development (google news)
  • Model Driven Software Development Processes
  • Software & Software Process Quality (google news)
  • Software Productivity (google news)
  • Software Process Resource allocation

Twitter

My Agenda

For the purpose of making the process of setting up appointments easier, I share my agenda here. If I am slow to respond, a reason could be that my current e-mail load is high.

Affiliations

Extra Activities

Current Work

Projects I am involved in include:

  • PRODIS (Data Mining for PROductivity in DIstributed Software development)
    (with an industrial partner in the Netherlands)

  • Analysis of communication of software architecture in large, industrial GSD projects
    (with various industrial partners in Inda and the Netherlands)

  • Analysis and visualization of discipline effort distribution in RUP processes (RUP humps)
    (with an industrial partner in the Netherlands)

    RUP Hump example

  • Empirical analysis of effective design decision representation in software architecture documentation
    With the Victoria University of Wellington and various industrial partners in New Zealand and the Netherlands

  • A survey of industrial software architecture documentation
    (with various industrial partners in the Netherlands)

  • Exploration of analysis and design resource allocation for distributed software processes
    (with an industrial partner in the Netherlands)

  • Analysis of distributed model driven development (MDD/MDA) processes
    (with various industrial partners in Inda and the Netherlands)

    MDD effort distribution

  • Mining Software Repositories for production analysis
    (with an industrial partner in the Netherlands)

  • Analysis of Distributed Software Development Processes
    (with various industrial partners in the Netherlands)

  • Analysis of Software Architecture Management in practice
    (with various industrial partners in India and the Netherlands)

Teaching

I am or have been involved in the following academic courses (ordered per course):



Course: "Research Colloquia"

The course "Research Colloquia" is a 4 ECTS / level 500 course for the MSc. ICT in Business years 1 & 2. The course has undergone various changes over the years. I have redesigned the course several times. In its current form, it is a extensive group exercise in application of research methods. In academic year 2011-2012, the topic is "the relation between enterprise architecture and software architecture". Students are required to define a research objective and research questions. As a group, we develop a survey which is consistent with survey guidelines and which is to be tested on a small group of respondents. When finished, the survey is deployed. Last years topic was the role of software architecture documentation in global software development. The data collection method was the interview and the analysis method was the grounded theory. The course is typically finished by writing a scientific paper with selected students.

There is an official course entry in the e-Study guide: Research Colloquia I&II.

Course synopsis

The ICT in Business Research Colloquia aim to expose students to selected research areas and research approaches in computer science and management information systems. Learning objectives are threefold.

First, students will be exposed to current research and research approaches and gain a better understanding of academic research in this area. Second, students will gain experience in analyzing a complex, scientific problem and the methods to address such a problem. Third, students will increase their ability to assess, translate and apply research to real-world situations in an organizational context. The main focus of the course is the research that is done at the Leiden Institute of Advanced Computer Science (LIACS). However, some valuable additions to the course may come from outside the LIACS.

This is an overview of the colloquia that have taken place in past editions of the course:

  • 2010 - 2011
    • Colloquium II (Double colloquium) Werner Heijstek `Communication of Architecture and Design in Global Software Development' pdfAssignment (IIB-RC1011-2 / March 2011)
    • 2010-2011 Colloquium I & 2009-2010 Colloquium IV Maarten Lamers `Animals and Computers' pdf Summary (IIB-RC1011-1 & IIB-RC0910-4 / February 2011)
  • 2009 - 2010
    • Colloquium III Werner Heijstek `Management of Architecture and Design in Global Software Development' pdf Summary (IIB-RC0910-3 / November 2010)
    • Colloquium II Peter van der Putten `Real World Data Mining' pdf Summary (IIB-RC0910-2 / September 2010)
    • Colloquium I Ariadi Nugroho `Empirical Assessments into the Effect of UML Modeling on the Quality of Software Systems' pdf Summary (IIB-RC0910-1 / May 2010)
  • 2008 - 2009
    • Colloquium IV Werner Heijstek - `Global Software Development' (IIB-RC0809-4 / June 2009)
    • Colloquium II Peter van der Putten `Data Mining and Knowledge Discovery for Strategic Business Optimization' (IIB-RC0809-2 / May 2009)
    • Colloquium I Michael Emmerich `Multicriteria Optimization' (IIB-RC0809-1 / April 2009)
  • 2007 - 2008
    • Colloquium IV Walter Kosters `Datamining' (IIB-RC0708-4 / September 2008)
    • Colloquium II Michel Chaudron `Value-Aware Software Engineering' (IIB-RC0708-2 / April 2008)

Get a Free (as in Freedom) PDFReader

Course: "Software Engineering"

The course "Software Engineering" is a 6 ECTS / level 200 course for the BSc. Computer Science year 2 for which I have been an incidental lecturer (from 2007) and now (2011) am the main lecturer. There is an official course entry in the e-Study guide: Software Engineering.

Course synopsis

Software systems are typically built over a longer period of time (couple of years) with a constantly changing mix of people (both number of people and skill set) as well as with constantly changing requirements. This results in quite some challenges with respect to management, maintenance, and stability of the software system. In the course “Software Engineering”, we will look at methods and techniques needed to for designing and building these software systems. We therefore assume that you have already some practical knowledge in programming. As part of this course we will discuss:
  • development processes (incremental, iterative)
  • system modeling using UML
  • system architecting and design
  • quality of sofware
  • managing software projects (estimation, risk)
  • empirical research methods in software engineering
se-vliet

Main Lectures (for Fall Semester 2011)


topics
date
*

lecturer
slides
**

related material

1.
  • Introduction to Software Engineering and the Software Development Lifecycle
Sep 8
Werner Heijstek


2.
  • Software Processes
  • Requirements Engineering
Sep 15
Werner Heijstek pdf

pdf
3.
  • Configuration Management
  • Software Modeling
Sep 22
Werner Heijstek pdf

pdf
4.
  • Software Architecture
  • Software Design
Sep 29
Werner Heijstek pdf

pdf
5.
  • Software Quality, Quality Assurance and Software Metrics"
Oct 6
Werner Heijstek pdf


6.
  • Global Software Development
Oct 13
Werner Heijstek
pdf
7.
  • Software Testing
Oct 27
Ir. Bart Knaack (Logica)
pdf
8.
  • Software Reuse
  • Component-Based Software Engineering
  • Service Orientation
Nov 3
Dr. Natallia Kokash (LIACS) pdf
9.
  • Software Maintenance
Nov 10
Werner Heijstek pdf
10.
  • Design Patterns
  • Refactoring
Nov 17
Werner Heijstek pdf

pdf
11.
  • Software Estimation, Planning & Control
Nov 24
Ir. Ronald Oudshoorn (Capgemini)
pdf
12.
  • Empirical research in Software Engineering
Dec 1
Werner Heijstek
pdf

(*) These dates might change. The location commonly is room 402 in the Snellius Building.
Also check the official schedule.
(**) Dr. Natallia Kokash uses similar slides for the same course (for BSc. Informatica en Economie)


Exam

The exam is currently (as of 29 November 2011) planned for Thursday January 12, 2012, from 10:00 - 13:00 in room 412. Please always check the official schedule to verify this information (and notify me if this information is outdated).

Course: "Software Engineering" Practical Assignment / Werkgroepen

Synopsis for Practical Assignment / Werkgroepen for Fall Semester 2011

In software engineering, Unified Modeling Language (UML) diagrams are a meaningful medium to draft and document system design. For already delivered systems such diagrams can be found in architecture descriptions, mostly embedded in other documents as bitmaps. Such embedding in image files (JPG, PNG, BMP) makes them difficult to access for research, analysis and reuse by third parties. Your task is to develop an application capable of recognizing UML Class Diagrams in images and converting them into XMI files.


Session Schedule

date*
session
lecturer
topics / deliverables
hand-outs / slides
8 sep
1
Introduction pdf
15 sep 2
Requirements Elicitation Session I
pdf
22 sep 3
Requirements Elicitation Session II
pdf
29 sep 4
Requirements Review Presentation pdf
6 okt 5
  • Werner Heijstek

Architecture & Design Presentation pdf  pdf
13 okt

Milestone 1 - User Interface
20 okt

Milestone 2 - Integrate shape recognition & OCR libraries
27 okt 6

Status presentation  session
and Milestone 3 - Recognize outer UML shapes
pdf
3 nov

Milestone 4 - Integrate shape and character recognition
10 nov

Milestone 5 - Recognize relationships
17 nov

Milestone 6 - Optimization
24 nov 7
Test Exam Survey
in computer lokaal 306

pdf survey results

1 dec 8
System Demonstration


pdf invitation & planning
pdf photographs taken
pdf  pdf
8 dec 9
Evaluation System Design and Documentation


Groups

You will work in these groups.

Deliverables

The following documentation artifacts have to be delivered in course of the project:

  • Software Development Plan [.dot template]
    The Software Development Plan is a comprehensive, composite artifact that gathers all information required to manage the project. It encloses a number of artifacts developed during the inception phase and is maintained throughout the project.

  • Software Requirements Specification [.dot template] (link seems to be broken :(
    The requirements specification document provides an outline of the envisioned core requirements and the contractual basis for the more detailed technical requirements.

  • Configuration Management Plan [.dot template]
    The Configuration Management (CM) Plan describes all Configuration and Change Control Management (CCM) activities you will perform during the course of the product or project lifecycle. It details the schedule of activities, the assigned responsibilities, and the required resources, including staff, tools, and computer facilities.

  • Software Architecture Document [.dot template]
    The Software Architecture Document provides a comprehensive architectural overview of the system from different architectural viewpoints.

  • Design models (No template is distributed for this deliverable, please use a UML CASE tool, preferably one that can write xmi files.)
    The design model is an object model describing the realization of use cases, and serves as an abstraction of the implementation model and its source code. The design model is used as essential input to activities in implementation and test. Use a UML design tool and deliver your design sufficiently documented in a PDF file. The document to be delivered should at least include a class diagram, a sequence diagram, an activity diagram and a state chart diagram.

Repository

The project and each group’s progress will be tracked through an online repository just like in a regular software project. To use the repository you need to have a Google account. Send us your Gmail address and we will grant you access to the "Image-to-UML" project SVN repository at the Google Source Code. After that follow the instructions available at the Source tab of the SVN repository to access the project using your SVN client (e.g. TortoiseSVN for Windows or svn for Linux).

Repository Structure

Each group’s directory must have the following structure and contain the following documents:


    groupX

        1.requirements
            pdf groupX_ieee_requirements.pdf
            pdf groupX_requirements_questionnaire.pdf

        2.configuration_and_change_management
            pdf groupX_rup_cmpln.pdf

        3.analysis_and_design
            pdf groupX_rup_sad.pdf
            pdf groupX_uml_design.pdf   

        3.implementation
            trunk (put your source code here)
            branch
            tag 
                # read more about the use of these three directories here

        4.project_management
            pdf groupX_rup_sdpln.pdf

        pdf handover.txt



Available libraries for image processing and Optical Character Recognition

  • Visual C++
    • OpenCV,
    • tesseract OCR,
    • Asprise OCR (free trial)
  • Java
    • Algoritharium package,
    • tesseract OCR,
    • java ocr,
    • Asprise OCR (free trial)
  • C#
    • AForge.NET Framework,
    • MODI (Microsoft Office Document Imaging Library),
    • tesseract OCR,
    • Asprise OCR (free trial)

Please note that these are just pointers and that this list is not complete. You are allowed to use any programming language and any library you find useful.

You might benefit from reading "OpenCV and C++ A short howto for OpenCV and DevCPP on Windows"

XMI Format

For the detailed information about the XMI format, refer to the OMG XMI specification. There also exists a XMI resource page. In addition, IBM hosts a tutorial which includes useful information about XMI. Another tutorial on XMI and MOF can be found here.


Testset

We selected a set of class diagrams that you can use to test you application on.


Get a Free (as in Freedom) PDFReader

Student Supervision and Open Thesis Assignments

Currently I am involved in the supervision of the following students:

  • Lennart Theil (Supervisor, February 2012 - now) Calibration of a Software Development Effort Estimation Model Using Industrial Data (BSc. Computer Science thesis) In collaboration with an industrial partner
  • Chengcheng Li (Supervisor, January 2012 - now) Calibration of a Software Development Effort Estimation Model Using Industrial Data (MSc. Computer Science thesis) In collaboration with an industrial partner
  • Erik-Jan Philippo (Second reader, January 2012 - now) (Msc. ICT in Business thesis) In collaboration with ING
  • Marin Goedegebure (Supervisor, December 2010 - now) Asynchronous and synchronous communication with high and low context cultures in global software development projects (Msc. ICT in Business thesis) In collaboration with Logica obtained funding from Leiden University Fund (LUF) International Study Fund (LISF)
  • Azzeddine Chaibrassou (Supervisor, November 2010 - now) Innovation in IT Consulting (MSc. ICT in Business thesis) In collaboration with Mindtree (Pune, India)
  • Xin Yuan (Supervisor, October 2010 - now) Architecture and Design Processes  in Global Software Development (MSc. ICT in Business thesis) In collaboration with Chinese industrial partners
  • Zeki Karaca (Second reader, March 2010 - now) Communication of Software Architecture Design (MSc. Computer Science thesis) in collaboration with an industrial partner
  • Simon Liu (May 2009 - now) Process conformance in global custom software development (MSc. ICT in Business thesis) in collaboration with two industrial partners

Former students:

  • Martine Kea (Second reader, August 2011 - Februari 2012) (Msc. ICT in Business thesis) In collaboration with Intel
  • Renuka Autar (Nov 2008 - May 2009) Requirement study for Application for Process Discovery from Software Repositories (BSc. Computer Science thesis)
  • Libing Qiu (Supervisor, Jan - Sep 2009) `A Comparison of Process Descriptions and Specifications in the Offshored Software Development Industry' (MSc. ICT in Business thesis - abstract) in collaboration with three industrial partners
  • Christian C. Schouten (Sep 2009 - May 2010) Offshore Software Development Process Descriptions (MSc. ICT in Business `Research Seminar' course) in collaboration with three industrial partners
  • Dimitris Kritsilis (Nov 2009 - August 2010) Trust and Globally Distributed Software Development (GDSD) teams: Exploring the importance of building and maintaining trust among distributed team members from the perspective of GDSD project management. (MSc. ICT in Business thesis - abstract) in collaboration with ABN-AMRO
  • Ben Kwint (May 2010 - August 2010) Comprehension of UML Models (BSc. Computer Science thesis) in collaboration with the Holland Rational Users Group (HRUG)
  • Hugo Schoonewille (May 2010 - January 2011) Software Architecture Documents: A cognitive perspective (BSc. Computer Science thesis - abstract) in collaboration with the Victoria University Wellington (New Zealand)
  • Stefan Wink (May 2009 - December 2011) Application development for Process Discovery from Software Repositories (MSc. Computer Science `Software Project' course) in collaboration with Capgemini

Within the Software Engineering Group we have several thesis assignments at both Bachelors (BSc.) and Masters (MSc.) level. Assignments can often be executed in an industrial setting in which case the student usually works within an (IT) company. Check back for updates in the list of assignments currently available as the list of possible projects is regularly updated. Students with ideas for other projects are welcome to contact the group.

  • Architecture in offshoring / Global Software Development
  • Software project resource allocation models
  • Software Productivity Measurement
  • UML metrics in Eclipse
  • Experience and productivity
  • Testing effort and defect density
  • Model-based test generation

Publications

  • Michel R.V. Chaudron and Werner Heijstek Quality Assurance for UML Modeling The Fifth International Conference on Frontiers of Information Technology, Applications and Tools Ulaanbaatar, Mongolia
  • Christoph J. Stettina, Werner Heijstek and Tor Erlend Fægri Documentation Work in Agile Teams: The Role of Documentation Formalism in Achieving a Sustainable Practice AGILE Conference 2012 Dallas, Texas
  • Hugo H. Schoonewille, Werner Heijstek, Michel R.V. Chaudron and Thomas Kühne A Cognitive Perspective on Developer Comprehension of Software Design Documentation pdf link
  • Christoph J. Stettina and Werner Heijstek Necessary and Neglected? An Empirical Study of Internal Documentation in Agile Software Development Teams pdf link  (slides)
  • Werner Heijstek and Michel R. V. Chaudron On the Use of UML Diagrams in Industrial Software Architecture Documents Leiden Institute of Advanced Computer Science (LIACS) Technical Report TR2011-02
  • Werner Heijstek, Thomas Kühne and Michel R. V. Chaudron Experimental Analysis of Textual and Graphical Representations for Software Architecture Design 5thACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM 2011) Banff, Alberta, Canada pdf  link
  • Jorge A. Osorio, Michel R.V. Chaudron and Werner Heijstek Moving From Waterfall to Iterative Development - An Empirical Evaluation of Advantages, Disadvantages and Risks of RUP 37th Euromicro Conference on Software Engineering and Advanced Applications (SEAA 2011) Helsinki, Finland pdf  link
  • Christoph J. Stettina and Werner Heijstek Five Agile Factors: Helping Self-Management to Self-Reflect 18th European System & Software Process Improvement and Innovation Conference (EUROSPI 2011) Roskilde, Denmark pdf  link
  • Werner Heijstek and Michel R. V. Chaudron The Impact of Model Driven Development on the Software Architecture Process 36th Euromicro Conference on Software Engineering and Advanced Applications (SEAA 2010) Lille, France pdf  link
  • Werner Heijstek, Michel R. V. Chaudron, Libing Qiu and Christian C. Schouten A Comparison of Industrial Process Descriptions for Global Custom Software Development 5th International Conference on Global Software Engineering (ICGSE 2010) Princeton, New Jersey, USA pdf link
  • Werner Heijstek and Michel R. V. Chaudron Empirical Investigations of Model Size, Complexity and Effort in Large Scale, Distributed Model Driven Development Processes - A Case Study 35th Euromicro Conference on Software Engineering and Advanced Applications (SEAA 2009) Patras, Greece pdf link
  • Werner Heijstek and Michel R.V. Chaudron Evaluating RUP Software Development Processes Through Visualization of Effort Distribution 34th Euromicro Conference on Software Engineering and Advanced Applications (SEAA 2008) Parma, Italy pdf link
  • Werner Heijstek and Michel R. V. Chaudron Exploring Effort Distribution in RUP Projects 2nd International Symposium on Empirical Software Engineering and Measurement (ESEM 2008) Kaiserslautern, Germany pdf link
  • Werner Heijstek and Michel R.V. Chaudron On Early Investments In Software Development: A Relation Between Effort Distribution and Defects in RUP Projects Leiden Institute of Advanced Computer Science (LIACS) Technical Report TR2008-03
  • Werner Heijstek and Michel R. V. Chaudron Effort distribution in model-based development 2nd Workshop on Model Size Metrics (MSM 2007) Nashville, Tennessee, USA pdf link
  • Werner Heijstek and Michel R. V. Chaudron On the Relation Between Effort Distribution and Defects Poster presented at Scientific ICT-Research Event Netherlands (SIREN 2007) Delft, the Netherlands pdf
  • Werner Heijstek and Michel R. V. Chaudron Effort distribution in model-based development. Leiden Institute of Advanced Computer Science (LIACS) Technical Report TR2007-04
  • Werner Heijstek Empirical Investigations into Rational Unified Process Effort in Industrial Software Engineering Projects. Master Thesis (doctoraal scriptie) pdf

Some of the work that I have done can be found in other (often incomplete and not so up-to-date) on-line collections:

Get a Free (as in Freedom) PDFReader

Presentations and Seminars

Leiden University logos & Presentation Themes

These are high resolution images of the logos for Leiden University for use with posters and presentations. For copyright reasons, I cannot include the University font Minion on this page. However, if you use a standard Leiden University computer (which we do not use at LIACS), chances are that you already have it installed. The color used for the logo is #253ad1.

For lecture slides and other presentations, I use beamer in combination with Joost Schalken's excellent Leiden University beamer theme. I also uploaded an older theme that I used for Open Office Impress (I include a version for Microsoft PowerPoint (XP/2003) as so many people insist on using that).

Again, these themes look best when using the University font Minion. But you can probably  get away using the open source font Liberation (or, if you must, Times New Roman).

http://www.gnu.org/