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 Engineering
Agile EngineeringAgile Engineering
Agile Engineering
John Lewis
 
Upstate CSCI 540 Agile Development
Upstate CSCI 540 Agile DevelopmentUpstate CSCI 540 Agile Development
Upstate CSCI 540 Agile Development
DanWooster1
 
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
Alex Tarra
 

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

Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
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
 

Recently uploaded

Beautiful 😋 Call girls in Lahore 03210033448
Beautiful 😋 Call girls in Lahore 03210033448Beautiful 😋 Call girls in Lahore 03210033448
Beautiful 😋 Call girls in Lahore 03210033448
ont65320
 
Call Girls Agency In Goa 💚 9316020077 💚 Call Girl Goa By Russian Call Girl ...
Call Girls  Agency In Goa  💚 9316020077 💚 Call Girl Goa By Russian Call Girl ...Call Girls  Agency In Goa  💚 9316020077 💚 Call Girl Goa By Russian Call Girl ...
Call Girls Agency In Goa 💚 9316020077 💚 Call Girl Goa By Russian Call Girl ...
russian goa call girl and escorts service
 
Goa Call "Girls Service 9316020077 Call "Girls in Goa
Goa Call "Girls  Service   9316020077 Call "Girls in GoaGoa Call "Girls  Service   9316020077 Call "Girls in Goa
Goa Call "Girls Service 9316020077 Call "Girls in Goa
sexy call girls service in goa
 
Call Girls South Avenue Delhi WhatsApp Number 9711199171
Call Girls South Avenue Delhi WhatsApp Number 9711199171Call Girls South Avenue Delhi WhatsApp Number 9711199171
Call Girls South Avenue Delhi WhatsApp Number 9711199171
Delhi Call Girls 📞9899900591 ✔️ High Profile Service 100% Safe
 
Call Girls In Goa 9316020077 Goa Call Girl By Indian Call Girls Goa
Call Girls In Goa  9316020077 Goa  Call Girl By Indian Call Girls GoaCall Girls In Goa  9316020077 Goa  Call Girl By Indian Call Girls Goa
Call Girls In Goa 9316020077 Goa Call Girl By Indian Call Girls Goa
sexy call girls service in goa
 
Karnal Call Girls 8860008073 Dyal Singh Colony Call Girls Service in Karnal E...
Karnal Call Girls 8860008073 Dyal Singh Colony Call Girls Service in Karnal E...Karnal Call Girls 8860008073 Dyal Singh Colony Call Girls Service in Karnal E...
Karnal Call Girls 8860008073 Dyal Singh Colony Call Girls Service in Karnal E...
Apsara Of India
 
Call Girls New Ashok Nagar Delhi WhatsApp Number 9711199171
Call Girls New Ashok Nagar Delhi WhatsApp Number 9711199171Call Girls New Ashok Nagar Delhi WhatsApp Number 9711199171
Call Girls New Ashok Nagar Delhi WhatsApp Number 9711199171
Delhi Call Girls 📞9899900591 ✔️ High Profile Service 100% Safe
 
Russian ℂall gIRLS In Goa 9316020077 ℂall gIRLS Service In Goa
Russian ℂall gIRLS In Goa 9316020077  ℂall gIRLS Service  In GoaRussian ℂall gIRLS In Goa 9316020077  ℂall gIRLS Service  In Goa
Russian ℂall gIRLS In Goa 9316020077 ℂall gIRLS Service In Goa
russian goa call girl and escorts service
 

Recently uploaded (20)

👙 Kolkata Call Girls Sonagachi 💫💫7001035870 Model escorts Service
👙  Kolkata Call Girls Sonagachi 💫💫7001035870 Model escorts Service👙  Kolkata Call Girls Sonagachi 💫💫7001035870 Model escorts Service
👙 Kolkata Call Girls Sonagachi 💫💫7001035870 Model escorts Service
 
Beautiful 😋 Call girls in Lahore 03210033448
Beautiful 😋 Call girls in Lahore 03210033448Beautiful 😋 Call girls in Lahore 03210033448
Beautiful 😋 Call girls in Lahore 03210033448
 
𓀤Call On 6297143586 𓀤 Sonagachi Call Girls In All Kolkata 24/7 Provide Call W...
𓀤Call On 6297143586 𓀤 Sonagachi Call Girls In All Kolkata 24/7 Provide Call W...𓀤Call On 6297143586 𓀤 Sonagachi Call Girls In All Kolkata 24/7 Provide Call W...
𓀤Call On 6297143586 𓀤 Sonagachi Call Girls In All Kolkata 24/7 Provide Call W...
 
👙 Kolkata Call Girls Shyam Bazar 💫💫7001035870 Model escorts Service
👙  Kolkata Call Girls Shyam Bazar 💫💫7001035870 Model escorts Service👙  Kolkata Call Girls Shyam Bazar 💫💫7001035870 Model escorts Service
👙 Kolkata Call Girls Shyam Bazar 💫💫7001035870 Model escorts Service
 
2k Shot Call girls Laxmi Nagar Delhi 9205541914
2k Shot Call girls Laxmi Nagar Delhi 92055419142k Shot Call girls Laxmi Nagar Delhi 9205541914
2k Shot Call girls Laxmi Nagar Delhi 9205541914
 
Call Girls Agency In Goa 💚 9316020077 💚 Call Girl Goa By Russian Call Girl ...
Call Girls  Agency In Goa  💚 9316020077 💚 Call Girl Goa By Russian Call Girl ...Call Girls  Agency In Goa  💚 9316020077 💚 Call Girl Goa By Russian Call Girl ...
Call Girls Agency In Goa 💚 9316020077 💚 Call Girl Goa By Russian Call Girl ...
 
Call Girls in Barasat | 7001035870 At Low Cost Cash Payment Booking
Call Girls in Barasat | 7001035870 At Low Cost Cash Payment BookingCall Girls in Barasat | 7001035870 At Low Cost Cash Payment Booking
Call Girls in Barasat | 7001035870 At Low Cost Cash Payment Booking
 
Behala ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sexy Bhabi Ready ...
Behala ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sexy Bhabi Ready ...Behala ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sexy Bhabi Ready ...
Behala ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sexy Bhabi Ready ...
 
Call Girl Nagpur Roshni Call 7001035870 Meet With Nagpur Escorts
Call Girl Nagpur Roshni Call 7001035870 Meet With Nagpur EscortsCall Girl Nagpur Roshni Call 7001035870 Meet With Nagpur Escorts
Call Girl Nagpur Roshni Call 7001035870 Meet With Nagpur Escorts
 
Goa Call "Girls Service 9316020077 Call "Girls in Goa
Goa Call "Girls  Service   9316020077 Call "Girls in GoaGoa Call "Girls  Service   9316020077 Call "Girls in Goa
Goa Call "Girls Service 9316020077 Call "Girls in Goa
 
Call Girls South Avenue Delhi WhatsApp Number 9711199171
Call Girls South Avenue Delhi WhatsApp Number 9711199171Call Girls South Avenue Delhi WhatsApp Number 9711199171
Call Girls South Avenue Delhi WhatsApp Number 9711199171
 
Verified Trusted Call Girls Tambaram Chennai ✔✔7427069034 Independent Chenna...
Verified Trusted Call Girls Tambaram Chennai ✔✔7427069034  Independent Chenna...Verified Trusted Call Girls Tambaram Chennai ✔✔7427069034  Independent Chenna...
Verified Trusted Call Girls Tambaram Chennai ✔✔7427069034 Independent Chenna...
 
Call Girls In Goa 9316020077 Goa Call Girl By Indian Call Girls Goa
Call Girls In Goa  9316020077 Goa  Call Girl By Indian Call Girls GoaCall Girls In Goa  9316020077 Goa  Call Girl By Indian Call Girls Goa
Call Girls In Goa 9316020077 Goa Call Girl By Indian Call Girls Goa
 
Karnal Call Girls 8860008073 Dyal Singh Colony Call Girls Service in Karnal E...
Karnal Call Girls 8860008073 Dyal Singh Colony Call Girls Service in Karnal E...Karnal Call Girls 8860008073 Dyal Singh Colony Call Girls Service in Karnal E...
Karnal Call Girls 8860008073 Dyal Singh Colony Call Girls Service in Karnal E...
 
↑Top Model (Kolkata) Call Girls Salt Lake ⟟ 8250192130 ⟟ High Class Call Girl...
↑Top Model (Kolkata) Call Girls Salt Lake ⟟ 8250192130 ⟟ High Class Call Girl...↑Top Model (Kolkata) Call Girls Salt Lake ⟟ 8250192130 ⟟ High Class Call Girl...
↑Top Model (Kolkata) Call Girls Salt Lake ⟟ 8250192130 ⟟ High Class Call Girl...
 
Call Girls Nashik Gayatri 7001305949 Independent Escort Service Nashik
Call Girls Nashik Gayatri 7001305949 Independent Escort Service NashikCall Girls Nashik Gayatri 7001305949 Independent Escort Service Nashik
Call Girls Nashik Gayatri 7001305949 Independent Escort Service Nashik
 
👙 Kolkata Call Girls Park Circus 💫💫7001035870 Model escorts Service
👙  Kolkata Call Girls Park Circus 💫💫7001035870 Model escorts Service👙  Kolkata Call Girls Park Circus 💫💫7001035870 Model escorts Service
👙 Kolkata Call Girls Park Circus 💫💫7001035870 Model escorts Service
 
Call Girls New Ashok Nagar Delhi WhatsApp Number 9711199171
Call Girls New Ashok Nagar Delhi WhatsApp Number 9711199171Call Girls New Ashok Nagar Delhi WhatsApp Number 9711199171
Call Girls New Ashok Nagar Delhi WhatsApp Number 9711199171
 
Top Rated Pune Call Girls Pimpri Chinchwad ⟟ 6297143586 ⟟ Call Me For Genuin...
Top Rated  Pune Call Girls Pimpri Chinchwad ⟟ 6297143586 ⟟ Call Me For Genuin...Top Rated  Pune Call Girls Pimpri Chinchwad ⟟ 6297143586 ⟟ Call Me For Genuin...
Top Rated Pune Call Girls Pimpri Chinchwad ⟟ 6297143586 ⟟ Call Me For Genuin...
 
Russian ℂall gIRLS In Goa 9316020077 ℂall gIRLS Service In Goa
Russian ℂall gIRLS In Goa 9316020077  ℂall gIRLS Service  In GoaRussian ℂall gIRLS In Goa 9316020077  ℂall gIRLS Service  In Goa
Russian ℂall gIRLS In Goa 9316020077 ℂall gIRLS Service In Goa
 

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