Top Banner
© Zühlke 2018 Software-Entwicklung in der Praxis | Stefan Reichhart May 31, 2019 Slide 1 of 58 Software-Entwicklung in der Praxis Gastvortrag Vorlesung P2, Universität Bern Stefan Reichhart - [email protected]
50

Software-Entwicklung in der Praxis - scg.unibe.chscg.unibe.ch/download/lectures/p2/P2-13-Software-Entwicklung in der Praxis-2019.pdf · Software-Entwicklung in der Praxis | Stefan

Aug 10, 2019

Download

Documents

Ngo Ngo
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Software-Entwicklung in der Praxis - scg.unibe.chscg.unibe.ch/download/lectures/p2/P2-13-Software-Entwicklung in der Praxis-2019.pdf · Software-Entwicklung in der Praxis | Stefan

© Zühlke 2018Software-Entwicklung in der Praxis | Stefan Reichhart May 31, 2019 Slide 1 of 58

Software-Entwicklung in der PraxisGastvortrag Vorlesung P2, Universität BernStefan Reichhart - [email protected]

Page 2: Software-Entwicklung in der Praxis - scg.unibe.chscg.unibe.ch/download/lectures/p2/P2-13-Software-Entwicklung in der Praxis-2019.pdf · Software-Entwicklung in der Praxis | Stefan

© Zühlke 2018Software-Entwicklung in der Praxis | Stefan Reichhart May 31, 2019 Slide 2 of 58

Roadmap

• About Me

• Overview - Zühlke

• My current Project: «TiMo»

• Real Life Experience

• Questions & Discussion

Page 3: Software-Entwicklung in der Praxis - scg.unibe.chscg.unibe.ch/download/lectures/p2/P2-13-Software-Entwicklung in der Praxis-2019.pdf · Software-Entwicklung in der Praxis | Stefan

© Zühlke 2018Software-Entwicklung in der Praxis | Stefan Reichhart May 31, 2019 Slide 3 of 58

About Me

L o p p i sNetstyle.ch

T i M o

Page 4: Software-Entwicklung in der Praxis - scg.unibe.chscg.unibe.ch/download/lectures/p2/P2-13-Software-Entwicklung in der Praxis-2019.pdf · Software-Entwicklung in der Praxis | Stefan

© Zühlke 2018Software-Entwicklung in der Praxis | Stefan Reichhart May 31, 2019 Slide 4 of 58

Page 5: Software-Entwicklung in der Praxis - scg.unibe.chscg.unibe.ch/download/lectures/p2/P2-13-Software-Entwicklung in der Praxis-2019.pdf · Software-Entwicklung in der Praxis | Stefan

© Zühlke 2018Software-Entwicklung in der Praxis | Stefan Reichhart May 31, 2019 Slide 5 of 58

Empowering Ideas

Page 6: Software-Entwicklung in der Praxis - scg.unibe.chscg.unibe.ch/download/lectures/p2/P2-13-Software-Entwicklung in der Praxis-2019.pdf · Software-Entwicklung in der Praxis | Stefan

© Zühlke 2018Software-Entwicklung in der Praxis | Stefan Reichhart May 31, 2019 Slide 6 of 58

Zühlke - Daily

Page 7: Software-Entwicklung in der Praxis - scg.unibe.chscg.unibe.ch/download/lectures/p2/P2-13-Software-Entwicklung in der Praxis-2019.pdf · Software-Entwicklung in der Praxis | Stefan

© Zühlke 2018Software-Entwicklung in der Praxis | Stefan Reichhart May 31, 2019 Slide 7 of 58

Zühlke - Intern

TechnologyDays

Academy

Focus Groups

Conferences, Bootcamps, …

Workshops,Hackathons, …

Courses, Seminars

Page 8: Software-Entwicklung in der Praxis - scg.unibe.chscg.unibe.ch/download/lectures/p2/P2-13-Software-Entwicklung in der Praxis-2019.pdf · Software-Entwicklung in der Praxis | Stefan

© Zühlke 2018Software-Entwicklung in der Praxis | Stefan Reichhart May 31, 2019 Slide 8 of 58

About Zühlke

• Founded 1968

• Teams in Germany, United Kingdom, Austria, Serbia, Bulgaria, Singapore, Hong Kong and Switzerland

• 10’000+ innovation initiatives

• 1’000+ EmployeesBern: approx. 80

• Sales: 150 Mio. CHF

Page 9: Software-Entwicklung in der Praxis - scg.unibe.chscg.unibe.ch/download/lectures/p2/P2-13-Software-Entwicklung in der Praxis-2019.pdf · Software-Entwicklung in der Praxis | Stefan

© Zühlke 2018Software-Entwicklung in der Praxis | Stefan Reichhart May 31, 2019 Slide 9 of 58

Switzerland: Schlieren + Bern

Page 10: Software-Entwicklung in der Praxis - scg.unibe.chscg.unibe.ch/download/lectures/p2/P2-13-Software-Entwicklung in der Praxis-2019.pdf · Software-Entwicklung in der Praxis | Stefan

© Zühlke 2018Software-Entwicklung in der Praxis | Stefan Reichhart May 31, 2019 Slide 10 of 58

Project: « T i M o »Ticketing and Mobility Services

Page 11: Software-Entwicklung in der Praxis - scg.unibe.chscg.unibe.ch/download/lectures/p2/P2-13-Software-Entwicklung in der Praxis-2019.pdf · Software-Entwicklung in der Praxis | Stefan

© Zühlke 2018Software-Entwicklung in der Praxis | Stefan Reichhart May 31, 2019 Slide 11 of 58

TiMoTicketing and Mobility Services

• Sales and Refunds of Tickets

• After-Sales Services (SAV)

• All kinds of services around travelling

Webshop

Mobile-App

Vending Machines

Counters, Agencies, VVs, Retailers, Luggage, L+F, …

Page 12: Software-Entwicklung in der Praxis - scg.unibe.chscg.unibe.ch/download/lectures/p2/P2-13-Software-Entwicklung in der Praxis-2019.pdf · Software-Entwicklung in der Praxis | Stefan

© Zühlke 2018Software-Entwicklung in der Praxis | Stefan Reichhart May 31, 2019 Slide 12 of 58

TiMoServices for Partners, Retailers, Agencies, …

S B BServices

Disclaimer: The list of shown companies providing mobility services is not complete and the selection was arbitrarily made by the author of this document. The author is not related to any such company.

Page 13: Software-Entwicklung in der Praxis - scg.unibe.chscg.unibe.ch/download/lectures/p2/P2-13-Software-Entwicklung in der Praxis-2019.pdf · Software-Entwicklung in der Praxis | Stefan

© Zühlke 2018Software-Entwicklung in der Praxis | Stefan Reichhart May 31, 2019 Slide 13 of 58

Simple Example

Ticket Sale

Journey from A to B

Calculation• Shortest, fastest, cheapest• Vias,• Combined means of transports• International Connections• Saving Options• …

Planning• from/to/vias• Class• …

Payment• Cards• LSV• Twint• Coupons• Promotions• …

Ticketing• Ticket• Receipt• Pdf• Swisspass• International Tickets• …

Additional Services• Luggage• Seat-Reservations• Bicycle• Ski• External Offers• …

Backoffice• Verification• Accounting• Taxation• …

Page 14: Software-Entwicklung in der Praxis - scg.unibe.chscg.unibe.ch/download/lectures/p2/P2-13-Software-Entwicklung in der Praxis-2019.pdf · Software-Entwicklung in der Praxis | Stefan

© Zühlke 2018Software-Entwicklung in der Praxis | Stefan Reichhart May 31, 2019 Slide 14 of 58

Architecture – Overview

Micro-Services / Cloud

VendingMachines

Webshop

Mobile

Counter

B2BB2C

B2P

Orc

hest

ratio

nCloud / Micro-Services

channels

Page 15: Software-Entwicklung in der Praxis - scg.unibe.chscg.unibe.ch/download/lectures/p2/P2-13-Software-Entwicklung in der Praxis-2019.pdf · Software-Entwicklung in der Praxis | Stefan

© Zühlke 2018Software-Entwicklung in der Praxis | Stefan Reichhart May 31, 2019 Slide 15 of 58

Architecture – Overview

Micro-Services / Cloud

Zahlung

BuchhaltungPlatzreserv

ationSAP

Reise

IT, DE, FR, ..

Datatrans

Postfinance

Twint

Gutschein

Promotion

Dossier

Gepäck

Angebote

…Quittung

Kunde

Foto

Identifikation

Freizeit

ArchivJournal

Anbieter

Nova

Druck

Partner

Verträge

QR-Code

Page 16: Software-Entwicklung in der Praxis - scg.unibe.chscg.unibe.ch/download/lectures/p2/P2-13-Software-Entwicklung in der Praxis-2019.pdf · Software-Entwicklung in der Praxis | Stefan

© Zühlke 2018Software-Entwicklung in der Praxis | Stefan Reichhart May 31, 2019 Slide 16 of 58

«Technologies»Overview

Java 8/11Maven SpringBoot Apache Tomcat

ActiveMQDB/2

Oracle ExadataH2

HTMLGitCSS

Javascript

Jenkins

Confluence

Jira

JunitMockito Scrum

Splunk

Jrebel

EmmaSonarIntelliJ

Sparx EA

Json

Papier & Whiteboards

Coffee

Pizza

Large-Space OfficeChocolate

AngularTypeScript

Moqups UML

Skype

Selenium

JMC JProfiler

Introscope Kafka

XPHysterix

Teams

SAFe

Agile

SpringOpenShift

JFrog

RE

New Relic

VictorOps

Kanban

Host

XML

Soap

Swagger

Excel

Browserstack

JSF

kibana

Jasmine

Jest

Docker

JMeter

Page 17: Software-Entwicklung in der Praxis - scg.unibe.chscg.unibe.ch/download/lectures/p2/P2-13-Software-Entwicklung in der Praxis-2019.pdf · Software-Entwicklung in der Praxis | Stefan

© Zühlke 2018Software-Entwicklung in der Praxis | Stefan Reichhart May 31, 2019 Slide 17 of 58

TiMo «Factory»

Organisation

• Approx. 100 people

• Developers

• Project managers

• Usability engineers

• DB Experts

• …

• Multiple interdiciplinary teams

• Each team covers a «core comain»

Finances

Journey Webshop

VendingMachines

Mobile

Sales After Sales

Contracts

«core domains»

Page 18: Software-Entwicklung in der Praxis - scg.unibe.chscg.unibe.ch/download/lectures/p2/P2-13-Software-Entwicklung in der Praxis-2019.pdf · Software-Entwicklung in der Praxis | Stefan

© Zühlke 2018Software-Entwicklung in der Praxis | Stefan Reichhart May 31, 2019 Slide 18 of 58

Team «Helios»

Organisation

• Core Domain «Finances»

• Distributed Team

• Worblaufen

• Belgrade (Serbia)

• 8 Developers

• 1 Scrum Master

• 1 Triage Manager

• 1 Business Expert

JournalAccounting

Payments

Finances

M o n e y

Page 19: Software-Entwicklung in der Praxis - scg.unibe.chscg.unibe.ch/download/lectures/p2/P2-13-Software-Entwicklung in der Praxis-2019.pdf · Software-Entwicklung in der Praxis | Stefan

© Zühlke 2018Software-Entwicklung in der Praxis | Stefan Reichhart May 31, 2019 Slide 19 of 58

Real Life Experiences

Page 20: Software-Entwicklung in der Praxis - scg.unibe.chscg.unibe.ch/download/lectures/p2/P2-13-Software-Entwicklung in der Praxis-2019.pdf · Software-Entwicklung in der Praxis | Stefan

© Zühlke 2018Software-Entwicklung in der Praxis | Stefan Reichhart May 31, 2019 Slide 20 of 58

Agile, XP, Scrum, …

My daily work as a developer

Page 21: Software-Entwicklung in der Praxis - scg.unibe.chscg.unibe.ch/download/lectures/p2/P2-13-Software-Entwicklung in der Praxis-2019.pdf · Software-Entwicklung in der Praxis | Stefan

© Zühlke 2018Software-Entwicklung in der Praxis | Stefan Reichhart May 31, 2019 Slide 21 of 58

My daily work as a developer

Right now …

▪ Java Developer

▪ Frontend Expert

▪ (alternating) BugSpoc

▪ (alternating) DevOps

No additional roles or responsibilities

Programming Requirements Solutions

Testing Administration Improvements

Page 22: Software-Entwicklung in der Praxis - scg.unibe.chscg.unibe.ch/download/lectures/p2/P2-13-Software-Entwicklung in der Praxis-2019.pdf · Software-Entwicklung in der Praxis | Stefan

© Zühlke 2018Software-Entwicklung in der Praxis | Stefan Reichhart May 31, 2019 Slide 22 of 58

My daily work as a developer

Programming Requirements Solutions Testing/Quality Administration Improvements

Start-Up«New Products»

Loppis«Replace Legacy»

TiMo«Continue & Improve»

Page 23: Software-Entwicklung in der Praxis - scg.unibe.chscg.unibe.ch/download/lectures/p2/P2-13-Software-Entwicklung in der Praxis-2019.pdf · Software-Entwicklung in der Praxis | Stefan

© Zühlke 2018Software-Entwicklung in der Praxis | Stefan Reichhart May 31, 2019 Slide 23 of 58

The daily (and never ending) challenges

Page 24: Software-Entwicklung in der Praxis - scg.unibe.chscg.unibe.ch/download/lectures/p2/P2-13-Software-Entwicklung in der Praxis-2019.pdf · Software-Entwicklung in der Praxis | Stefan

© Zühlke 2018Software-Entwicklung in der Praxis | Stefan Reichhart May 31, 2019 Slide 24 of 58

The daily (and never ending) challenges

• Specifications

• Requirements

• Solutions

• Wishes

• Workflows

• …

• Know-How

• Courage

Page 25: Software-Entwicklung in der Praxis - scg.unibe.chscg.unibe.ch/download/lectures/p2/P2-13-Software-Entwicklung in der Praxis-2019.pdf · Software-Entwicklung in der Praxis | Stefan

© Zühlke 2018Software-Entwicklung in der Praxis | Stefan Reichhart May 31, 2019 Slide 25 of 58

Communication

Page 26: Software-Entwicklung in der Praxis - scg.unibe.chscg.unibe.ch/download/lectures/p2/P2-13-Software-Entwicklung in der Praxis-2019.pdf · Software-Entwicklung in der Praxis | Stefan

© Zühlke 2018Software-Entwicklung in der Praxis | Stefan Reichhart May 31, 2019 Slide 26 of 58

CommunicationBasic rules: "Agile Mindset"

• Direct + honest

• Flexible + simple

• Open + transparent

• Address problems & conficts («Error Culture»)

Also very important …

• No heroes & looser

• No Blaming, "Finger-Pointing", …

Page 27: Software-Entwicklung in der Praxis - scg.unibe.chscg.unibe.ch/download/lectures/p2/P2-13-Software-Entwicklung in der Praxis-2019.pdf · Software-Entwicklung in der Praxis | Stefan

© Zühlke 2018Software-Entwicklung in der Praxis | Stefan Reichhart May 31, 2019 Slide 27 of 58

Workspace: Social Conflict Zone, Comfort Zone, …

Address problems

→Workplace & -environment is extraordinary important

Page 28: Software-Entwicklung in der Praxis - scg.unibe.chscg.unibe.ch/download/lectures/p2/P2-13-Software-Entwicklung in der Praxis-2019.pdf · Software-Entwicklung in der Praxis | Stefan

© Zühlke 2018Software-Entwicklung in der Praxis | Stefan Reichhart May 31, 2019 Slide 28 of 58

Nearshore Projects

«Distributed» Teams

Problem:

• Most things are «implicit», «natural», «self-evident»

Examples:

• Language (gesture, eye-contact, …)

• Knowledge

• Information

• …

Page 29: Software-Entwicklung in der Praxis - scg.unibe.chscg.unibe.ch/download/lectures/p2/P2-13-Software-Entwicklung in der Praxis-2019.pdf · Software-Entwicklung in der Praxis | Stefan

© Zühlke 2018Software-Entwicklung in der Praxis | Stefan Reichhart May 31, 2019 Slide 29 of 58

Conflicts

Fact:

• Workplace with «no conflicts» does not exist

Learn to respectfully and correctly …

• … give feedback

• … accept feedback

• … criticize

• … solve conflicts

Page 30: Software-Entwicklung in der Praxis - scg.unibe.chscg.unibe.ch/download/lectures/p2/P2-13-Software-Entwicklung in der Praxis-2019.pdf · Software-Entwicklung in der Praxis | Stefan

© Zühlke 2018Software-Entwicklung in der Praxis | Stefan Reichhart May 31, 2019 Slide 30 of 58

CommunicationTechnical, business

Short-term - communicate thoughts:

• Whiteboards

• Post-it / Stickies

• Paper

• Team, Slack, …

• …

→ Fast, simple, direct, efficient

Long-term - preserve knowledge

• Confluence KB

• Sparx EA (Umls, DB-Schemas)

• Jira Stories & Tasks

• Git / Reviewing

• File-System

→ Knowledge Database

Page 31: Software-Entwicklung in der Praxis - scg.unibe.chscg.unibe.ch/download/lectures/p2/P2-13-Software-Entwicklung in der Praxis-2019.pdf · Software-Entwicklung in der Praxis | Stefan

© Zühlke 2018Software-Entwicklung in der Praxis | Stefan Reichhart May 31, 2019 Slide 31 of 58

CommunicationTechnical, business, …

Short-term - communicate thoughts:

• Whiteboards

• Post-it / Stickies

• Paper

• Team, Slack, …

• …

→ Fast, simple, direct, efficient

Long-term - preserve knowledge

• Confluence KB

• Sparx EA (Umls, DB-Schemas)

• Jira Stories & Tasks

• Git / Reviewing

• File-System

→ Knowledge Database

Page 32: Software-Entwicklung in der Praxis - scg.unibe.chscg.unibe.ch/download/lectures/p2/P2-13-Software-Entwicklung in der Praxis-2019.pdf · Software-Entwicklung in der Praxis | Stefan

© Zühlke 2018Software-Entwicklung in der Praxis | Stefan Reichhart May 31, 2019 Slide 32 of 58

Software-Quality(OO) Patterns

Page 33: Software-Entwicklung in der Praxis - scg.unibe.chscg.unibe.ch/download/lectures/p2/P2-13-Software-Entwicklung in der Praxis-2019.pdf · Software-Entwicklung in der Praxis | Stefan

© Zühlke 2018Software-Entwicklung in der Praxis | Stefan Reichhart May 31, 2019 Slide 33 of 58

(Very) large projects

Software-Quality

Problem:

• OO Patterns are very «low level»

• They cannot solve everything

There is more …

• Architectural Patterns ( Enterprise Application Architecture )

TCC

Web Presentation

Transactional Concurrency

LayeringMVVM

Page 34: Software-Entwicklung in der Praxis - scg.unibe.chscg.unibe.ch/download/lectures/p2/P2-13-Software-Entwicklung in der Praxis-2019.pdf · Software-Entwicklung in der Praxis | Stefan

© Zühlke 2018Software-Entwicklung in der Praxis | Stefan Reichhart May 31, 2019 Slide 34 of 58

Code-Style, Code-Checks, …

Software-Quality

Page 35: Software-Entwicklung in der Praxis - scg.unibe.chscg.unibe.ch/download/lectures/p2/P2-13-Software-Entwicklung in der Praxis-2019.pdf · Software-Entwicklung in der Praxis | Stefan

© Zühlke 2018Software-Entwicklung in der Praxis | Stefan Reichhart May 31, 2019 Slide 35 of 58

Junit, Mockito, Emma, …

Testing

Page 36: Software-Entwicklung in der Praxis - scg.unibe.chscg.unibe.ch/download/lectures/p2/P2-13-Software-Entwicklung in der Praxis-2019.pdf · Software-Entwicklung in der Praxis | Stefan

© Zühlke 2018Software-Entwicklung in der Praxis | Stefan Reichhart May 31, 2019 Slide 36 of 58

Testing Pyramid

Testing

Varying and defined by …

• project

• team

• and/or company

Unit

Component

System / Integration

E2E

Automatic UI Tests

Acceptance

Manual UI Tests

tech

nica

lbu

sine

ss

Page 37: Software-Entwicklung in der Praxis - scg.unibe.chscg.unibe.ch/download/lectures/p2/P2-13-Software-Entwicklung in der Praxis-2019.pdf · Software-Entwicklung in der Praxis | Stefan

© Zühlke 2018Software-Entwicklung in der Praxis | Stefan Reichhart May 31, 2019 Slide 37 of 58

Software Quality

Test Quality ?

Page 38: Software-Entwicklung in der Praxis - scg.unibe.chscg.unibe.ch/download/lectures/p2/P2-13-Software-Entwicklung in der Praxis-2019.pdf · Software-Entwicklung in der Praxis | Stefan

© Zühlke 2018Software-Entwicklung in der Praxis | Stefan Reichhart May 31, 2019 Slide 38 of 58

Software Quality

Test Quality ?

Page 39: Software-Entwicklung in der Praxis - scg.unibe.chscg.unibe.ch/download/lectures/p2/P2-13-Software-Entwicklung in der Praxis-2019.pdf · Software-Entwicklung in der Praxis | Stefan

© Zühlke 2018Software-Entwicklung in der Praxis | Stefan Reichhart May 31, 2019 Slide 39 of 58

Code Reviews

Page 40: Software-Entwicklung in der Praxis - scg.unibe.chscg.unibe.ch/download/lectures/p2/P2-13-Software-Entwicklung in der Praxis-2019.pdf · Software-Entwicklung in der Praxis | Stefan

© Zühlke 2018Software-Entwicklung in der Praxis | Stefan Reichhart May 31, 2019 Slide 40 of 58

Story is realized, functional, working, …

"Definition of Done"

• Code Conventions

• Tests

• Code Coverage

• Manual + automatic UI Tests

• Documentation

• Code-Review

• …

Page 41: Software-Entwicklung in der Praxis - scg.unibe.chscg.unibe.ch/download/lectures/p2/P2-13-Software-Entwicklung in der Praxis-2019.pdf · Software-Entwicklung in der Praxis | Stefan

© Zühlke 2018Software-Entwicklung in der Praxis | Stefan Reichhart May 31, 2019 Slide 41 of 58

"Definition of Done"

Page 42: Software-Entwicklung in der Praxis - scg.unibe.chscg.unibe.ch/download/lectures/p2/P2-13-Software-Entwicklung in der Praxis-2019.pdf · Software-Entwicklung in der Praxis | Stefan

© Zühlke 2018Software-Entwicklung in der Praxis | Stefan Reichhart May 31, 2019 Slide 42 of 58

Jenkins, JFrog, OpenShift, …

CI – Continous Integration

G I T

buildbranch / commit

integratedevelop

OpenShift

deploy & runsnapshot

Page 43: Software-Entwicklung in der Praxis - scg.unibe.chscg.unibe.ch/download/lectures/p2/P2-13-Software-Entwicklung in der Praxis-2019.pdf · Software-Entwicklung in der Praxis | Stefan

© Zühlke 2018Software-Entwicklung in der Praxis | Stefan Reichhart May 31, 2019 Slide 43 of 58

Jenkins, JFrog, OpenShift, …

CD – Continous Deployment

• (live) Production Release every 9 weeks

IR

IC

EC

integration productiontestsnapshot

weeklyafter commit

IR

IC

EClive

Page 44: Software-Entwicklung in der Praxis - scg.unibe.chscg.unibe.ch/download/lectures/p2/P2-13-Software-Entwicklung in der Praxis-2019.pdf · Software-Entwicklung in der Praxis | Stefan

© Zühlke 2018Software-Entwicklung in der Praxis | Stefan Reichhart May 31, 2019 Slide 44 of 58

Software Growth & Evolution

• New Features

• Requirements change

• Over-Engineering

Page 45: Software-Entwicklung in der Praxis - scg.unibe.chscg.unibe.ch/download/lectures/p2/P2-13-Software-Entwicklung in der Praxis-2019.pdf · Software-Entwicklung in der Praxis | Stefan

© Zühlke 2018Software-Entwicklung in der Praxis | Stefan Reichhart May 31, 2019 Slide 45 of 58

Software Growth & Evolution

Page 46: Software-Entwicklung in der Praxis - scg.unibe.chscg.unibe.ch/download/lectures/p2/P2-13-Software-Entwicklung in der Praxis-2019.pdf · Software-Entwicklung in der Praxis | Stefan

© Zühlke 2018Software-Entwicklung in der Praxis | Stefan Reichhart May 31, 2019 Slide 46 of 58

Software Evolution

Architecural Vision• Have a common goal + solution

• Everyone should understand it

• Work together !

Page 47: Software-Entwicklung in der Praxis - scg.unibe.chscg.unibe.ch/download/lectures/p2/P2-13-Software-Entwicklung in der Praxis-2019.pdf · Software-Entwicklung in der Praxis | Stefan

© Zühlke 2018Software-Entwicklung in der Praxis | Stefan Reichhart May 31, 2019 Slide 47 of 58

Software Evolution

• Apply OO Patterns consequently

• Review and challenge code and architecture

• Adapt architecture regularly

• Code Reviews

• Refactorings / Refactoring Patterns

• Throw away code

• …

Page 48: Software-Entwicklung in der Praxis - scg.unibe.chscg.unibe.ch/download/lectures/p2/P2-13-Software-Entwicklung in der Praxis-2019.pdf · Software-Entwicklung in der Praxis | Stefan

© Zühlke 2018Software-Entwicklung in der Praxis | Stefan Reichhart May 31, 2019 Slide 48 of 58

Software Evolution

• Apply OO Patterns consequently

• Review and challenge code and architecture

• Adapt architecture regularly

• Code Reviews

• Refactorings / Refactoring Patterns

• Throw away code

• … Good Tests !!!

Page 49: Software-Entwicklung in der Praxis - scg.unibe.chscg.unibe.ch/download/lectures/p2/P2-13-Software-Entwicklung in der Praxis-2019.pdf · Software-Entwicklung in der Praxis | Stefan

© Zühlke 2018Software-Entwicklung in der Praxis | Stefan Reichhart May 31, 2019 Slide 49 of 58

One more thing …

Page 50: Software-Entwicklung in der Praxis - scg.unibe.chscg.unibe.ch/download/lectures/p2/P2-13-Software-Entwicklung in der Praxis-2019.pdf · Software-Entwicklung in der Praxis | Stefan

© Zühlke 2018Software-Entwicklung in der Praxis | Stefan Reichhart May 31, 2019 Slide 50 of 58

Questions …Stefan Reichhart - [email protected]

Feedback ☺https://de.surveymonkey.com/r/MPJY5NT