Hasso-Plattner-Institut
  
Hasso-Plattner-Institut
Prof. Dr. h.c. Hasso Plattner
  
 

Software Engineering 2, WS 2011 / 2012

General Information

Next dates

  • Oct 21 - Cancelled
  • Oct 28 - Welcome, Basic Lecture Information, Introduction to Ruby on Rails, CRM Intro
  • Nov 4 - Lego Exercise, Introduction to the development process & infrastructure
  • Nov 11 - Product Owner Presentations, Sprint plannings, GIT Introduction, Testing in Rails I
  • Nov 18 - Evaluation of Preperation Exercise, Testing in Rails II
  • Nov 25 - time for project work (no lecture)
  • Dec 2 - time for project work (no lecture)
  • Dec 9 - Presentation of 1st Sprint Results, Group Retrospection, Feedback & Some Agile Tips and Tricks (only 1st slot)
  • Dec 16 - Public Code Reviews (only 1st slot)
  • Dec 23 - time for project work (no lecture)
  • Jan 6 - time for project work (no lecture)
  • Jan 13 - project wide retrospection (only 1st slot)
  • Jan 20:

    • Guest lecture by Dr. Carsten Scheuch (SAP AG), Chief Development Architect CRM
    • Guest lecture by Michael Palotas (Ebay)

  • Jan 27:

    • Guest lecture by Martin Grimsehl (Steinbeis IDI)
    • Guest lecture by Matthias Kutzner (Team Europe Verntures)

  • Feb 3: Exam Q&A
  • Feb 11: Final Presentation of Project Results, Global Retrospection, Exam Q&A

SWT2 Scrum LEGO Exercise

Vision

The software industry is more and more pressed towards fast time-to-market and short development cycles. Putting it in other words, if a piece of software is not finished at a certain point in time, it can have negative effects on the companies performance. Given the fact that a team is limited to a certain number of people and can thus only build a product of a (relatively) fixed size, multiple teams have to collaborate and work on large software projects together. This, of course, leads to a certain overhead. In Software Engineering 2, you shall learn how to conduct software development in two large groups of about 50 people. We want to prepare you for a situation where you are in a leading position and responsible for a large piece of software. Thus, you shall learn methods, concepts, and technologies that help you to successfully deliver large software in a multiple team setting.

Learning experience

The expected 80 participants will be divided into two groups. Each of the groups will be given the same task which is the requirements engineering, design, and implementation of a Customer Relationship Management (CRM) system. We will teach you how to apply the Scrum methodology to a group of about 40 people. This group will be split up into teams leveraging the bachelor project infrastructure. In the course of the semester, you will conduct 4 sprints à 3 weeks. The theory taught in the lecture can directly be applied in the accompanying exercise. This course focuses more on the methods and concepts and less on the actual result.

Acceptance criteria

After this course, the following learning targets (LT) should be achieved.

LT 1: Scrum

As a student, I know the elements of Scrum and I am familiar with planning meetings, daily Scrums, sprint reviews, sprint retrospectives, and estimation meetings.

LT 2: Scrum in a multiple team setting

As a student, I know how I can scale Scrum with the help of Scrum-of-Scrums and planning-of-plannings.

LT 3: Behaviour-driven and test-driven development (BDD and TDD)

As a student, I know the advantages of BDD and TDD and I use both methods appropriately.

LT 4: Source code management (SCM) using Git

As a student, I know the different SCM concepts. In particular, I am familiar with Git while branching as well as merging became natural activities in my personal software development process.

LT 5: Ruby on Rails

As a student, I know the architecture and concepts of Ruby on Rails and can apply them to fulfill the requirements stated to me and my team.

LT 6: Continuous integration (CI)

As a student, I never want to develop software without CI again because, together with BDD and TDD, this gives me the assurance that my software is validated and that all tested functionality is correct.

LT 7: Customer relationship management (CRM)

As a student, I know what a CRM system consists of and which processes are conducted from lead generation to invoicing and dunning.

LT 8: Self-assessment with regards to your role in a team

As a student, I know how I can contribute to help my team performing as good as possible.

Grading

The final grading is determined by

  • introductory Ruby on Rails exercise (no grade, completion mandatory),
  • written exam (30%, individual mark)
  • usage of presented methods and concepts such as Scrum, BDD, TDD, SCM, and CI (45%, team mark)
  • software development results (25%, team mark)
  • if work is not distributed equally amongst team members, individual adjustments of the marks are possible

Materials

  • Lecture materials will be made available shortly after the lectures.
  • Additional material and a guest lecture will be given by our teaching partner, the MIT.