SDA SE Wiki

Software Engineering for Smart Data Analytics & Smart Data Analytics for Software Engineering

User Tools

Site Tools


Assignment 12: Agile Software Development

Release date: Tuesday, 21.01.14 - Due date: Sunday, 26.01.14, 23:59

Only Task 58 is optional. 8-O For task 59 and task 60 we strongly recommend to solve them together in your group. When you discuss the technologies in your group you will probably come to an opinion quickly. Of course, refreshing your understanding of the technologies presented in this lecture before the discussion might be useful. As always when some opinion is involved, the tutors will evaluate the quality of your arguments and not whether or not we have the same opinion. 8-)

Task 58: Iterative and Incremental Development (IID) (Optional)

[8 Points]

a) Iterative and incremental development goes together. Nevertheless it is useful to understand the distinction. Describe each with one sentence:

  • Developing iteratively means, …
  • Developing incrementally means, …

b) One might argue that with an Aspect-oriented language, some work can be done incrementally that was done iteratively before. Give us an example of how this might be true. (2-4 sentences)

c) Does Model-Driven Engineering (MDE) make it easier to work iteratively and incrementally? Give us a reason for your opinion. (2-4 sentences)

d) Let's assume that you decided to work with MDE. Describe what you could do to work as iteratively and incrementally as possible. (3-10 sentences)


Task 59: Feedback Quality (Agile)

16 points

In the lecture we claimed that the principle of feedback1) is really at the heart of any Agile process. This principle is primarily directed towards the way the development teams work2), but how effective it is depends as well on how fast and how substantial the acquired feedback is.

Tell us how you expect the technologies presented in the ATSC to affect the speed and quality of the feedback the team can get about its work? (For each technology 2-3 sentences about: Affected kind of information & why? Faster or slower feedback & why? More or less substantial feedback & why?)


Task 60: Seeing Waste (Lean)

18 Points

a) Give us a definition of “waste” in the sense of Lean Production or Lean Software Development. (1-3 sentences)

b) Give us an example of “waste” in Software Development. (2-5 sentences)

c) For many of the technologies presented in the lecture one could argue that they have a potential of creating waste as well as of eliminating waste / creating value. For each of the technologies describe either how it could produce waste or how it eliminates waste. (2-5 sentences for each of the 16 technologies, at least 6 positive and at least 6 negative)


List of Technologies Presented in the ATSC

Use the following list of technologies for the tasks 59 and 60. For the exam preparation we will create a more detailed list.

  1. UML as a modeling language
  2. Stepwise refining the model from Use Case Diagram,
    Domain Object Model → Analysis Object Model → System Decomposition
  3. Domain Driven Design
  4. Reviewing requirements based on the Sophist REgelwerk
  5. Modeling in Color
  6. Components
  7. Service Oriented Architecture
  8. Aspect Oriented Programming
  9. Aspect Oriented Software Development with Use Cases
  10. Model Driven Architecture (CIM → PIM → PSM)
  11. New Graphical Modeling Languages based on MOF
  12. UML Profiles
  13. DSL Creation with EMF and Xtext
  14. Static reverse engineering techniques
  15. Dynamic reverse engineering techniques
  16. Software visualization
1)
As for example expressed by the 12th principle of the Agile manifesto: “At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.”
2)
“Individuals and interactions over processes and tools”
teaching/lectures/atsc/2013/assignment_12.txt · Last modified: 2018/05/09 01:59 (external edit)

SEWiki, © 2020