SlideShare a Scribd company logo
1 of 15
Download to read offline
1
W. Weitershagen page 03-1
Software EngineeringFFMFH
Dr. Werner Weitershagen
Software Engineering
summer term 2013
- Agile Software Engineering -
W. Weitershagen page 03-2
Software EngineeringFFMFH
Agile way of thinking (1)
Agile way of thinking
• ... sees a project within its individual environment that is
changing permanently: requirements and conditions
can be changing.
• ... wants very flexible projects. These projects should
adapt easily to economical and technical conditions that
could be changing every day. Contracts are usually
blocking adaptions that are necessary to be done.
Result: The customer gets a system he has ordered
initially, but gets not a final system he really needs.
2
W. Weitershagen page 03-3
Software EngineeringFFMFH
Agile way of thinking (2)
Manifesto for agile software development
„We are uncovering better ways of developing software by
doing it and helping others do it.
Through this work we have come to value:
individuals and interactions over processes and tools
working software over comprehensive documentation
customer collaboration over contract negotiation
responding to change over following a plan
That is, while there is value in the items on the right,
we value the items on the left more.“
Quelle:http://www.agilemanifesto.org
W. Weitershagen page 03-4
Software EngineeringFFMFH
Agile way of thinking (3)
Agile way of thinking
• ... criticises, that contract negotiation have negative
effects on projects: contracts constrain at all. But why?
Conditions can be converting and changing. A high
effort has to be payed to succeed changes and to
modify a contract.
Cantracts are often used as „legal weapons“
between contractor and customer. That means:
confrontation instead of cooperation.
• ... wants to achieve a good relationship between
contractor and customer with a common awareness of
„play to win“ instead of „play not to loose“
within a „win-win-situation“.
3
W. Weitershagen page 03-5
Software EngineeringFFMFH
Agile way of thinking (4)
Usage of contracts
• Contracts should be used when both sides accept the
circumstance that there are aspects that can not
achieved by contract.
Both sides should know:
A contract is not the only solid platform of a project.
A contract can help to avoid misunderstandings
concerning tasks and conditions.
A contract can not force a project to its successful end.
W. Weitershagen page 03-6
Software EngineeringFFMFH
Agile way of thinking (5)
Usage
• common target
• adaption of priority and project objectives
• transparency of riscs, that both sides should know and
accept each other
• search for practicable solution
• ability for making decisions permanently
• ability for taking riscs permanently
4
W. Weitershagen page 03-7
Software EngineeringFFMFH
Agile way of thinking (6)
Critics:
„Can agile projects run in contract-free space?“
– „Are agile projects just a fiction?“
Both sides also have some more interests that do not
coincide with the project‘s interests:
so there can be interest conflicts / target conflicts
Example: The contractor wants to reuse the system or
parts of the system he developes within other projects.
But the customer wants to keep the know-how and the
right by himself. Possible solution: joint venture.
W. Weitershagen page 03-8
Software EngineeringFFMFH
Agile methods
Extreme Programming (XP)
• ... is a development method / engineering method,
• ... is customer-oriented,
• ... is test-driven,
• ... is evolutionary.
Scrum
• ... is a project management method,
• ... is iterative,
• ... is incremental,
• ... is very team-oriented.
5
W. Weitershagen page 03-9
Software EngineeringFFMFH
Extreme Programming (XP) (1)
... describes an agile iterative method of software
engineering with a lightweight methodology and less
documentation.
... is based on values like communication, simplicity,
feedback, learning and quality.
... needs strict principles and strict disciplin.
... is made for small teams.
... achieves long-life software.
... allows reaction to cloudy and changing requirements.
... has no strict requirements catalogue. Customer can
change – modify or extend – his requirements and
conditions.
W. Weitershagen page 03-10
Software EngineeringFFMFH
Extreme Programming (XP) (2)
The developing process runs in short cycles – usually
within one or two weeks:
requirements analysis design implementation test
XP-projects are extremely customer-driven.
6
W. Weitershagen page 03-11
Software EngineeringFFMFH
Extreme Programming (XP) – Principles (1)
User Stories:
Requirements are not defined by use cases (as RUP does),
but within user stories – a description of graphical user
interfaces (GUI), functionality and testing scenarios.
On-site Customer:
A competent and high experienced representative of the
customer supports the developer permanently.
W. Weitershagen page 03-12
Software EngineeringFFMFH
Extreme Programming (XP) – Principles (2)
Pair Programming:
Usually two programmers are building the same source
code together.
Advantages / Disadvantages:
☺ More errors can be detected and corrected immediately
during coding process.
☺ Know-how is being shared between programmers.
☺ Programmers can be used universally.
☺ The company is making itself less dependent on
experts.
☺ The progress is not disturbed by personal drop outs.
Programming causes double cost.
7
W. Weitershagen page 03-13
Software EngineeringFFMFH
Extreme Programming (XP) – Principles (3)
Testing:
Each mudule needs its individual unit test that should be
run automatically.
Simple Design:
No unnecessary features should be implemented.
Small Releases:
Many iterations should be done with executable results that
can be evaluated by the customer.
Refactoring:
Existing parts and structures should be changed without
changing basic functionality. Source code should be
restructured as soon as possible (if required).
W. Weitershagen page 03-14
Software EngineeringFFMFH
Extreme Programming (XP) – Principles (4)
Continuous Integration:
Source code should be integrated and consolidated
permanently. Problems of missing or wrong compatibility
can be detected and corrected very early.
Collective Ownership:
Source code belongs to the whole team and not to a single
programmer. Every programmer – every team member – is
responsible for the source code.
Teams should rotate!
Coding Standards:
Coding standards – notation standards, style guides etc. –
are necessary rules.
8
W. Weitershagen page 03-15
Software EngineeringFFMFH
Extreme Programming (XP)
Links:
• http://www.extremeprogramming.org
• http://www.xprogramming.com
W. Weitershagen page 03-16
Software EngineeringFFMFH
Scrum
... can not translated directly. Scrum
describes a situation within American rugby
match.
... tries to transfer the sportsmanship (Sportgeist) towards
a software developing team.
... is a lightweight management method.
... defines a sequence of 30 day iterations called sprints
with nearly constant increments.
... is made for small self-organized teams.
... cares a human component.
9
W. Weitershagen page 03-17
Software EngineeringFFMFH
Scrum
Quelle:Schweitzer,R.(2003),S.6
new functionality
(daily)
(1 month)
W. Weitershagen page 03-18
Software EngineeringFFMFH
Scrum – Sprints
Sprint
• ... is a 30-day-iteration.
• ... is defined within a Sprint Planing Meeting by all
team members.
• ... is based upon contents and priorities described by
Sprint Backlogs.
• ... is evaluated by management and customer within a
final Sprint Review Meeting.
• ... is permanently controled and adjusted within Daily
Scrum Meetinggs – 15 minutes each day.
• ... achieves a runable product version.
10
W. Weitershagen page 03-19
Software EngineeringFFMFH
Scrum – Team
Scrum Team
• ... contains ca. 7 persons.
• ... is totally self-organized and acts autonomic.
• ... is committed to achieve the Sprint Goal.
• ... is directed by the Scrum Master.
• ... is not separated into different roles.
• ... defines the sprint goal and all tasks within the initial
Sprint Planning Meeting (about 4 - 16 hours each
task)
W. Weitershagen page 03-20
Software EngineeringFFMFH
Scrum – Master (1)
Scrum Master
• ... is central person. He is responsible for the whole
team. He is the representative of the whole team.
• ... is responsible for the enforcement of scrum rules.
• ... is tracking the progress within daily scrum
meetings.
• ... is making decisions immediately within daily
scrum meetings.
• ... is supporting the team to define sprint goal and
sprint backlog.
• ... is solving each kind of problem mentioned by
team members.
11
W. Weitershagen page 03-21
Software EngineeringFFMFH
Scrum – Master (2)
Scrum Master
• ... acts as an „interface“: He keeps external influences
away from the team.
• ... is an „interface“ between management and team.
• ... supports the management building up the scrum
team.
W. Weitershagen page 03-22
Software EngineeringFFMFH
Scrum – Backlogs (1)
Backlog
• ... is a priority-ordered list of features, functionality,
extensions, error corrections that should be integrated
continuously.
• ... should be an every-time open book to all team
members. There they have the chance to add
requirements.
• ... is used in diffrent types: Product Backlogs, Core
Backlogs, Sprint Backlogs, Product Line Backlogs.
12
W. Weitershagen page 03-23
Software EngineeringFFMFH
Scrum – Backlogs (2)
Product Backlog
• ... keeps all requirements and product specific tasks.
• ... is in the customers responsibility.
Core Backlog
• ... describes the requirements concerning the core or
architecture.
W. Weitershagen page 03-24
Software EngineeringFFMFH
Scrum – Meetings (1)
Sprint Planning Meeting
• ... is the initial meeting of each sprint.
• ... defines the Sprint Goal.
• ... defines the volume of the next sprint.
• ... defines all tasks to be done within the sprint (4 - 16
hours each sprint).
• ... modifies the Sprint Backlog if required.
13
W. Weitershagen page 03-25
Software EngineeringFFMFH
Scrum – Meetings (2)
Daily Scrum Meeting
• ... lasts 15 - 20 minutes. – No discussions wanted!
• ... is directed by the Scrum Master.
• ... improves the communication within the team.
• ... represents all other kind of meetings.
• ... is asking each programmer:
What have you done and finished after the last
meeting?
What are you going to do and finish until the following
meeting?
Is anything disturbing your work?
• ... puts themes concerning details into special
meetings if required.
W. Weitershagen page 03-26
Software EngineeringFFMFH
Scrum – Meetings (3)
Sprint Review Meeting
• ... is the end of sprint.
• ... is the presentation of the product result (= build)
by the whole team.
• ... evaluates the sprint execution (problems etc.).l
• ... is the important platform for decisions made by
management and customer concerning release, next
steps, stop, cancel etc.
• ... is for adaption the Product Backlogs.
• ... can be combined with the following Sprint Planning
Meeting.
14
W. Weitershagen page 03-27
Software EngineeringFFMFH
Scrum
Quelle:Schweitzer,R.(2003),S.6
new functionality
(daily)
(1 month)
W. Weitershagen page 03-28
Software EngineeringFFMFH
Scrum
What else?
• If there is more than one scrum team, there should be
a kind of central coordination (Scrum of Scrum).
• Scrum and Extreme Programming (XP) are no rivals,
they can be combined:
Quelle:Schweitzer,R.(2003),S.13
15
W. Weitershagen page 03-29
Software EngineeringFFMFH
Scrum
Links:
• http://www.mountaingoatsoftware.com/scrum/scrumtea
m
• Home Of Scrum: http://www.controlchaos.com

More Related Content

Similar to Swe 03 (st 2013) agile software engineering

Agile Software Development
Agile Software Development Agile Software Development
Agile Software Development OwaisAli44
 
Understand the background of Agile software development now
Understand the background of Agile software development nowUnderstand the background of Agile software development now
Understand the background of Agile software development nowNirajan Panthee
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software EngineeringSADEED AMEEN
 
Agile Values, Principles and Practices
Agile Values, Principles and PracticesAgile Values, Principles and Practices
Agile Values, Principles and Practicesjackcrews
 
Agile Engineering
Agile EngineeringAgile Engineering
Agile EngineeringJohn Lewis
 
Week_03-Agile Developmnet.ppt
Week_03-Agile Developmnet.pptWeek_03-Agile Developmnet.ppt
Week_03-Agile Developmnet.pptRedHeart11
 
ch2-Agile-Software-Development-engineerning.pdf
ch2-Agile-Software-Development-engineerning.pdfch2-Agile-Software-Development-engineerning.pdf
ch2-Agile-Software-Development-engineerning.pdfyedej15330
 
Upstate CSCI 540 Agile Development
Upstate CSCI 540 Agile DevelopmentUpstate CSCI 540 Agile Development
Upstate CSCI 540 Agile DevelopmentDanWooster1
 
SE chp1 update and learning management .pptx
SE chp1 update and learning management .pptxSE chp1 update and learning management .pptx
SE chp1 update and learning management .pptxssuserdee5bb1
 
Hybrid model for software development
Hybrid model for software developmentHybrid model for software development
Hybrid model for software developmenteSAT Journals
 
SE18_Lec 05_Agile Software Development
SE18_Lec 05_Agile Software DevelopmentSE18_Lec 05_Agile Software Development
SE18_Lec 05_Agile Software DevelopmentAmr E. Mohamed
 
Jun 08 - PMWT Featured Paper -Tarabykin - XP PAPER - FINAL
Jun 08 - PMWT Featured Paper -Tarabykin - XP PAPER - FINALJun 08 - PMWT Featured Paper -Tarabykin - XP PAPER - FINAL
Jun 08 - PMWT Featured Paper -Tarabykin - XP PAPER - FINALAlex Tarra
 
Sofware engineering
Sofware engineeringSofware engineering
Sofware engineeringnstjelja
 
Agile contract for working software
Agile contract for working softwareAgile contract for working software
Agile contract for working softwareJoshua Lai
 
Chapter 3 software engineering.pptx
Chapter 3 software engineering.pptxChapter 3 software engineering.pptx
Chapter 3 software engineering.pptx02LabiqaIslam
 

Similar to Swe 03 (st 2013) agile software engineering (20)

4. ch 3-agile process
4. ch 3-agile process4. ch 3-agile process
4. ch 3-agile process
 
Agile Software Development
Agile Software Development Agile Software Development
Agile Software Development
 
Understand the background of Agile software development now
Understand the background of Agile software development nowUnderstand the background of Agile software development now
Understand the background of Agile software development now
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Agile Values, Principles and Practices
Agile Values, Principles and PracticesAgile Values, Principles and Practices
Agile Values, Principles and Practices
 
Agile methodology
Agile methodologyAgile methodology
Agile methodology
 
Scrum
ScrumScrum
Scrum
 
Agile Engineering
Agile EngineeringAgile Engineering
Agile Engineering
 
Week_03-Agile Developmnet.ppt
Week_03-Agile Developmnet.pptWeek_03-Agile Developmnet.ppt
Week_03-Agile Developmnet.ppt
 
ch2-Agile-Software-Development-engineerning.pdf
ch2-Agile-Software-Development-engineerning.pdfch2-Agile-Software-Development-engineerning.pdf
ch2-Agile-Software-Development-engineerning.pdf
 
Upstate CSCI 540 Agile Development
Upstate CSCI 540 Agile DevelopmentUpstate CSCI 540 Agile Development
Upstate CSCI 540 Agile Development
 
Agile.docx
Agile.docxAgile.docx
Agile.docx
 
SE chp1 update and learning management .pptx
SE chp1 update and learning management .pptxSE chp1 update and learning management .pptx
SE chp1 update and learning management .pptx
 
Hybrid model for software development
Hybrid model for software developmentHybrid model for software development
Hybrid model for software development
 
Agile process
Agile processAgile process
Agile process
 
SE18_Lec 05_Agile Software Development
SE18_Lec 05_Agile Software DevelopmentSE18_Lec 05_Agile Software Development
SE18_Lec 05_Agile Software Development
 
Jun 08 - PMWT Featured Paper -Tarabykin - XP PAPER - FINAL
Jun 08 - PMWT Featured Paper -Tarabykin - XP PAPER - FINALJun 08 - PMWT Featured Paper -Tarabykin - XP PAPER - FINAL
Jun 08 - PMWT Featured Paper -Tarabykin - XP PAPER - FINAL
 
Sofware engineering
Sofware engineeringSofware engineering
Sofware engineering
 
Agile contract for working software
Agile contract for working softwareAgile contract for working software
Agile contract for working software
 
Chapter 3 software engineering.pptx
Chapter 3 software engineering.pptxChapter 3 software engineering.pptx
Chapter 3 software engineering.pptx
 

Recently uploaded

Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...christianmathematics
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...PsychoTech Services
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxVishalSingh1417
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
fourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingfourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingTeacherCyreneCayanan
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfAyushMahapatra5
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDThiyagu K
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationnomboosow
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...fonyou31
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3JemimahLaneBuaron
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphThiyagu K
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfagholdier
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...Sapna Thakur
 

Recently uploaded (20)

Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
fourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingfourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writing
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdf
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communication
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
 

Swe 03 (st 2013) agile software engineering

  • 1. 1 W. Weitershagen page 03-1 Software EngineeringFFMFH Dr. Werner Weitershagen Software Engineering summer term 2013 - Agile Software Engineering - W. Weitershagen page 03-2 Software EngineeringFFMFH Agile way of thinking (1) Agile way of thinking • ... sees a project within its individual environment that is changing permanently: requirements and conditions can be changing. • ... wants very flexible projects. These projects should adapt easily to economical and technical conditions that could be changing every day. Contracts are usually blocking adaptions that are necessary to be done. Result: The customer gets a system he has ordered initially, but gets not a final system he really needs.
  • 2. 2 W. Weitershagen page 03-3 Software EngineeringFFMFH Agile way of thinking (2) Manifesto for agile software development „We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: individuals and interactions over processes and tools working software over comprehensive documentation customer collaboration over contract negotiation responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more.“ Quelle:http://www.agilemanifesto.org W. Weitershagen page 03-4 Software EngineeringFFMFH Agile way of thinking (3) Agile way of thinking • ... criticises, that contract negotiation have negative effects on projects: contracts constrain at all. But why? Conditions can be converting and changing. A high effort has to be payed to succeed changes and to modify a contract. Cantracts are often used as „legal weapons“ between contractor and customer. That means: confrontation instead of cooperation. • ... wants to achieve a good relationship between contractor and customer with a common awareness of „play to win“ instead of „play not to loose“ within a „win-win-situation“.
  • 3. 3 W. Weitershagen page 03-5 Software EngineeringFFMFH Agile way of thinking (4) Usage of contracts • Contracts should be used when both sides accept the circumstance that there are aspects that can not achieved by contract. Both sides should know: A contract is not the only solid platform of a project. A contract can help to avoid misunderstandings concerning tasks and conditions. A contract can not force a project to its successful end. W. Weitershagen page 03-6 Software EngineeringFFMFH Agile way of thinking (5) Usage • common target • adaption of priority and project objectives • transparency of riscs, that both sides should know and accept each other • search for practicable solution • ability for making decisions permanently • ability for taking riscs permanently
  • 4. 4 W. Weitershagen page 03-7 Software EngineeringFFMFH Agile way of thinking (6) Critics: „Can agile projects run in contract-free space?“ – „Are agile projects just a fiction?“ Both sides also have some more interests that do not coincide with the project‘s interests: so there can be interest conflicts / target conflicts Example: The contractor wants to reuse the system or parts of the system he developes within other projects. But the customer wants to keep the know-how and the right by himself. Possible solution: joint venture. W. Weitershagen page 03-8 Software EngineeringFFMFH Agile methods Extreme Programming (XP) • ... is a development method / engineering method, • ... is customer-oriented, • ... is test-driven, • ... is evolutionary. Scrum • ... is a project management method, • ... is iterative, • ... is incremental, • ... is very team-oriented.
  • 5. 5 W. Weitershagen page 03-9 Software EngineeringFFMFH Extreme Programming (XP) (1) ... describes an agile iterative method of software engineering with a lightweight methodology and less documentation. ... is based on values like communication, simplicity, feedback, learning and quality. ... needs strict principles and strict disciplin. ... is made for small teams. ... achieves long-life software. ... allows reaction to cloudy and changing requirements. ... has no strict requirements catalogue. Customer can change – modify or extend – his requirements and conditions. W. Weitershagen page 03-10 Software EngineeringFFMFH Extreme Programming (XP) (2) The developing process runs in short cycles – usually within one or two weeks: requirements analysis design implementation test XP-projects are extremely customer-driven.
  • 6. 6 W. Weitershagen page 03-11 Software EngineeringFFMFH Extreme Programming (XP) – Principles (1) User Stories: Requirements are not defined by use cases (as RUP does), but within user stories – a description of graphical user interfaces (GUI), functionality and testing scenarios. On-site Customer: A competent and high experienced representative of the customer supports the developer permanently. W. Weitershagen page 03-12 Software EngineeringFFMFH Extreme Programming (XP) – Principles (2) Pair Programming: Usually two programmers are building the same source code together. Advantages / Disadvantages: ☺ More errors can be detected and corrected immediately during coding process. ☺ Know-how is being shared between programmers. ☺ Programmers can be used universally. ☺ The company is making itself less dependent on experts. ☺ The progress is not disturbed by personal drop outs. Programming causes double cost.
  • 7. 7 W. Weitershagen page 03-13 Software EngineeringFFMFH Extreme Programming (XP) – Principles (3) Testing: Each mudule needs its individual unit test that should be run automatically. Simple Design: No unnecessary features should be implemented. Small Releases: Many iterations should be done with executable results that can be evaluated by the customer. Refactoring: Existing parts and structures should be changed without changing basic functionality. Source code should be restructured as soon as possible (if required). W. Weitershagen page 03-14 Software EngineeringFFMFH Extreme Programming (XP) – Principles (4) Continuous Integration: Source code should be integrated and consolidated permanently. Problems of missing or wrong compatibility can be detected and corrected very early. Collective Ownership: Source code belongs to the whole team and not to a single programmer. Every programmer – every team member – is responsible for the source code. Teams should rotate! Coding Standards: Coding standards – notation standards, style guides etc. – are necessary rules.
  • 8. 8 W. Weitershagen page 03-15 Software EngineeringFFMFH Extreme Programming (XP) Links: • http://www.extremeprogramming.org • http://www.xprogramming.com W. Weitershagen page 03-16 Software EngineeringFFMFH Scrum ... can not translated directly. Scrum describes a situation within American rugby match. ... tries to transfer the sportsmanship (Sportgeist) towards a software developing team. ... is a lightweight management method. ... defines a sequence of 30 day iterations called sprints with nearly constant increments. ... is made for small self-organized teams. ... cares a human component.
  • 9. 9 W. Weitershagen page 03-17 Software EngineeringFFMFH Scrum Quelle:Schweitzer,R.(2003),S.6 new functionality (daily) (1 month) W. Weitershagen page 03-18 Software EngineeringFFMFH Scrum – Sprints Sprint • ... is a 30-day-iteration. • ... is defined within a Sprint Planing Meeting by all team members. • ... is based upon contents and priorities described by Sprint Backlogs. • ... is evaluated by management and customer within a final Sprint Review Meeting. • ... is permanently controled and adjusted within Daily Scrum Meetinggs – 15 minutes each day. • ... achieves a runable product version.
  • 10. 10 W. Weitershagen page 03-19 Software EngineeringFFMFH Scrum – Team Scrum Team • ... contains ca. 7 persons. • ... is totally self-organized and acts autonomic. • ... is committed to achieve the Sprint Goal. • ... is directed by the Scrum Master. • ... is not separated into different roles. • ... defines the sprint goal and all tasks within the initial Sprint Planning Meeting (about 4 - 16 hours each task) W. Weitershagen page 03-20 Software EngineeringFFMFH Scrum – Master (1) Scrum Master • ... is central person. He is responsible for the whole team. He is the representative of the whole team. • ... is responsible for the enforcement of scrum rules. • ... is tracking the progress within daily scrum meetings. • ... is making decisions immediately within daily scrum meetings. • ... is supporting the team to define sprint goal and sprint backlog. • ... is solving each kind of problem mentioned by team members.
  • 11. 11 W. Weitershagen page 03-21 Software EngineeringFFMFH Scrum – Master (2) Scrum Master • ... acts as an „interface“: He keeps external influences away from the team. • ... is an „interface“ between management and team. • ... supports the management building up the scrum team. W. Weitershagen page 03-22 Software EngineeringFFMFH Scrum – Backlogs (1) Backlog • ... is a priority-ordered list of features, functionality, extensions, error corrections that should be integrated continuously. • ... should be an every-time open book to all team members. There they have the chance to add requirements. • ... is used in diffrent types: Product Backlogs, Core Backlogs, Sprint Backlogs, Product Line Backlogs.
  • 12. 12 W. Weitershagen page 03-23 Software EngineeringFFMFH Scrum – Backlogs (2) Product Backlog • ... keeps all requirements and product specific tasks. • ... is in the customers responsibility. Core Backlog • ... describes the requirements concerning the core or architecture. W. Weitershagen page 03-24 Software EngineeringFFMFH Scrum – Meetings (1) Sprint Planning Meeting • ... is the initial meeting of each sprint. • ... defines the Sprint Goal. • ... defines the volume of the next sprint. • ... defines all tasks to be done within the sprint (4 - 16 hours each sprint). • ... modifies the Sprint Backlog if required.
  • 13. 13 W. Weitershagen page 03-25 Software EngineeringFFMFH Scrum – Meetings (2) Daily Scrum Meeting • ... lasts 15 - 20 minutes. – No discussions wanted! • ... is directed by the Scrum Master. • ... improves the communication within the team. • ... represents all other kind of meetings. • ... is asking each programmer: What have you done and finished after the last meeting? What are you going to do and finish until the following meeting? Is anything disturbing your work? • ... puts themes concerning details into special meetings if required. W. Weitershagen page 03-26 Software EngineeringFFMFH Scrum – Meetings (3) Sprint Review Meeting • ... is the end of sprint. • ... is the presentation of the product result (= build) by the whole team. • ... evaluates the sprint execution (problems etc.).l • ... is the important platform for decisions made by management and customer concerning release, next steps, stop, cancel etc. • ... is for adaption the Product Backlogs. • ... can be combined with the following Sprint Planning Meeting.
  • 14. 14 W. Weitershagen page 03-27 Software EngineeringFFMFH Scrum Quelle:Schweitzer,R.(2003),S.6 new functionality (daily) (1 month) W. Weitershagen page 03-28 Software EngineeringFFMFH Scrum What else? • If there is more than one scrum team, there should be a kind of central coordination (Scrum of Scrum). • Scrum and Extreme Programming (XP) are no rivals, they can be combined: Quelle:Schweitzer,R.(2003),S.13
  • 15. 15 W. Weitershagen page 03-29 Software EngineeringFFMFH Scrum Links: • http://www.mountaingoatsoftware.com/scrum/scrumtea m • Home Of Scrum: http://www.controlchaos.com