Software Development Processes

Nowadays, product and service innovation is increasingly driven by software. This has a tremendous impact on system complexity: The technologies used for building a single system are becoming more heterogeneous. Systems need to interact with other systems (systems of systems), and there is a trend towards stronger integration between classical information systems and embedded systems (Cyber-Physical Systems, Industry 4.0, Smart Ecosystems). Moreover, systems have to be adapted to rapidly changing business processes and technologies.

This requires efficient and effective software development processes for constructing software-enabled systems with guaranteed qualities.

Goal of the seminar

This seminar teaches the basics of software development processes on the entry level. It introduces common terminologies and concepts of processes and illustrates different development paradigms, such as agile and classical rich processes, including their pros and cons. Focal areas include how to model and document development processes as well as how to use them for project planning and control.

Content of the seminar

Introduction to Software Development Processes

  • Basic Terminology
  • Process Model Representations
  • Engineering Processes
  • Life Cycle Models

Agile Software Processes

  • Principles
  • Extreme Programming
  • Scrum

Rich Software Processes

  • Principles
  • Rational Unified Process
  • V-Modell XT
  • Process Assessment

Process Modeling Languages

  • Modeling Languages
  • SPEM
  • ISO/IEC 24744
  • Modeling Tools

Descriptive Process Modeling

  • 8 Steps of Descriptive Modeling
  • Best Practices

Project Planning and Control

  • Effort Estimation
  • Sizing of Project Outcome
  • Scheduling and Resource Planning
  • Project Monitoring and Control

Summary and Outlook