SlideShare une entreprise Scribd logo
1  sur  43
Télécharger pour lire hors ligne
© OPITZ CONSULTING 2021 / Öffentlich
10 Thesen zur professionellen SW Entwicklung
Zur professionellen SW
Entwicklung
#SEACONdigital, 21.04.2021
Richard Attermeyer
10 THESEN
© OPITZ CONSULTING 2021 / Öffentlich
10 Thesen zur professionellen SW Entwicklung
THE GOOD OLD TIMES
© OPITZ CONSULTING 2021 / Öffentlich
10 Thesen zur professionellen SW Entwicklung
 JSF (Java Server Faces) or Spring MVC:
Java Programming Model for the web
 Java, the Language
 No JavaScript, SQL, … everything abstracted away
 Tomcat: A small web container
 Install it plain on your machine
 RDBMS
Oracle, abstracted away by JPA/Hiberante
 That‘s it.
 Ok, Maven, git and Jenkins CI.
 That‘s it… really
© OPITZ CONSULTING 2021 / Öffentlich
10 Thesen zur professionellen SW Entwicklung
One Language
One Development Stack
Production is an afterthought
© OPITZ CONSULTING 2021 / Öffentlich
10 Thesen zur professionellen SW Entwicklung
10 PROPOSITIONS
 Market trends that influence SW architectures
and development processes
Foto von Monika Baumgartner von Pexels
© OPITZ CONSULTING 2021 / Öffentlich
10 PROPOSITIONS
10 Thesen zur professionellen SW Entwicklung
 Feedback Cycles and common
responsibility (DevOps culture) is a must to
run the applications
 The git pull-request model must be
mastered by every IT professional
 Shift-left many things
 Cloud-native as guiding principle
 Software Craftsmanship is established, but
more important than ever
 There is no fullstack-developer
 Everything is code
 Automate everything to reduce turn-
around times and handle complexity
 Openness to adapt to a quickly changing
ecosystem is vital
 Hybrid multi-cloud is the default
© OPITZ CONSULTING 2021 / Öffentlich
10 Thesen zur professionellen SW Entwicklung
FEEDBACK CYCLES, DEVOPS AND
THE PIPELINE MODEL
 Individual, Team and the world
I
Foto von Isaac Weatherly von Pexels
© OPITZ CONSULTING 2021 / Öffentlich
DEVELOPER
10 Thesen zur professionellen SW Entwicklung
Red
Green
Refactor
1. Write a test that fails
2. Make it work
3. Optimize. Eliminate
redundancy. Make code
more expressive without
adding new functionality
This cycle happens on the
developer‘s machine.
UNIT-TEST-CYCLE
© OPITZ CONSULTING 2021 / Öffentlich
DEVELOPER AND HIS TEAM
10 Thesen zur professionellen SW Entwicklung
Branch /
Fork
Code
Collaborate
Merge
1. Create a branch for the task
2. Solve the task
3. Create a Pull Request and
collobarate with team to improve it
and fulfill Definition-of-Done
4. Merge to common development
branch
GIT-PULL-REQUEST-CYCLE
© OPITZ CONSULTING 2021 / Öffentlich
Plan
Develop
Verify Deploy
THE AGILE DEVELOPMENT CYCLE:
DEVELOPER, TEAM, PRODUCTOWNER
10 Thesen zur professionellen SW Entwicklung
 Deploy to various staging environments
 Early feedback from product stakeholders on
the system under test
 Shorten feedback cycles for development
teams
 This will often work with only „working
software“
 Progress indicator: „working software“
 Shown in sprint review
AGILE CYCLE
© OPITZ CONSULTING 2021 / Öffentlich
BUSINESS
10 Thesen zur professionellen SW Entwicklung
 Shorten value creation
cycle
 Shorten feedback cycles for
product teams
 This only works with
professional software that
can go into production at
any time
 Progress indicator:
live software with business
KPIs
Plan
Develop
Verify Deploy
Release
Monitor
Operate
Improve
PRODUCT-DEVOPS-CYCLE
© OPITZ CONSULTING 2021 / Öffentlich
THE DELIVERY PIPELINE
10 Thesen zur professionellen SW Entwicklung
 Assumes no cycles and concentrates on the main process from commit to production
Commit Stage Build Stage
Automated
Verification
Stage
Deploy to
staging
environments
Manual
Acceptance
Test
Load Test /
Performance
Test
Security Test
Deploy to
prod
environments
Release
Code Pipeline Deployment Pipeline
 Ensure Software is always releasable
 Runs less often, only if software is
guaranteed to be working
 Feedback cycles often days up to 2-4 weeks
 Runs often
 Feedback cycles 10-15 min
Continuous Delivery Continuous Deployment
 Automatic deploy
and release to prod
 Needs to eleminate
manual steps in
continuous delivery
© OPITZ CONSULTING 2021 / Öffentlich
10 Thesen zur professionellen SW Entwicklung
GIT MODEL
II
© OPITZ CONSULTING 2021 / Öffentlich
GIT PULL-REQUEST MODEL
10 Thesen zur professionellen SW Entwicklung
▪ Traceability: Tickets, Build status
▪ Collaboration, discussion and knowledge
sharing
▪ Transparency: Who changed what and when
Branch /
Fork
Code
Collaborate
Merge
© OPITZ CONSULTING 2021 / Öffentlich
10 Thesen zur professionellen SW Entwicklung
Every IT professional must understand the model and be
able to use git:
Developers
Operations
Business Analysts
… everyone involved in creating a solution
© OPITZ CONSULTING 2021 / Öffentlich
10 Thesen zur professionellen SW Entwicklung
SHIFT-LEFT
III
© OPITZ CONSULTING 2021 / Öffentlich
SHIFT LEFT
10 Thesen zur professionellen SW Entwicklung
 Move tasks from later stages to earlier stages in the pipeline to shorten cycle time
 Identifying issues earlier in the pipeline makes it cheaper to address issues and does not later
delay release
 You will build quality in earlier in the pipeline… and you discover delays in your project earlier
Commit Stage Build Stage
Automated
Verification
Stage
Deploy to
staging
environments
Manual
Acceptance
Test
Load Test /
Performance
Test
Security Test
Deploy to
prod
environments
Release
Code Pipeline Deployment Pipeline
© OPITZ CONSULTING 2021 / Öffentlich
SHIFT LEFT: ROLES CHANGE
10 Thesen zur professionellen SW Entwicklung
Commit Push
Code Style
Check
Compile Unit Test
Integration
Test
Manual
Acceptance
Test
Load Test /
Performance
Test
Security Test
Deploy +
Release
 Specialists performed manual checks and created reports of findings
Commit Push
Code Style
Check
Compile Unit Test Image Build
Integration
Test
Statical
Source Code
Analysis
Load Test /
Performance
Test
Automated
Acceptance
Test
Security Test
Manual
Acceptance
Test
Deploy Release
 Specialists provide consulting, guidance and perform process control
 Recommend tooling and configure platforms
From
traditional
delivery
To
Modern
delivery
© OPITZ CONSULTING 2021 / Öffentlich
10 Thesen zur professionellen SW Entwicklung
CLOUD-NATIVE
IV
Foto von Magda Ehlers von Pexels
© OPITZ CONSULTING 2021 / Öffentlich
CLOUD-NATIVE
THE RISE OF THE CONTAINERS
10 Thesen zur professionellen SW Entwicklung
 Delivering Container images instead of simple
archives (Jar, War, zip)
 Local Development stack (on developer host) based
on docker-compose or „micro kubernetes“ distros
(kind, k3s)
 Containers are then deployed to various
environments (Kubernetes or non-Kubernetes)
 Container and kubernetes know-how is an essential
skill for every developer
 Yes, basic know-how of common network
components, like proxies, reverse-proxies, subnets,
becomes more important
© OPITZ CONSULTING 2021 / Öffentlich
OBSERVABILITY IS KEY!
10 Thesen zur professionellen SW Entwicklung
Observability is key
in modern,
distributed IT system
landscapes
Important to identify
potential issues or
bottlenecks
Absolutely necessary
to ensure SLA
conformity
Try to get as much
insights as possible
by externalizing as
much information as
possible
Different levels to track:
API monitoring
Service monitoring
End-to-end monitoring
Log analytics
Application Performance
monitoring
Distributed Tracing
© OPITZ CONSULTING 2021 / Öffentlich
10 Thesen zur professionellen SW Entwicklung
SOFTWARE CRAFTSMANSHIP
V
Foto von igovar von Pexels
© OPITZ CONSULTING 2021 / Öffentlich
SOFTWARE IS EVERYWHERE
10 Thesen zur professionellen SW Entwicklung
The Brake System is powered
by Software
The quality of the brake
software is similar to the code
that you committed last week
Your mother-in-law is
about to get into the car
Your kids are about to get
into the car
© OPITZ CONSULTING 2021 / Öffentlich
DO YOUR KIDS DRIVE WITH THE CAR IF THE BRAKE SYSTEM
SOFTWARE HAS BEEN DEVELOPED BY YOU?
10 Thesen zur professionellen SW Entwicklung
How do you know?
• How do you know that your system is
working correctly?
• … and how it deals with real life situations?
Why not?
• what is your software good enough for?
• for a demo, a PoC or a strictly controlled
prototype?
© OPITZ CONSULTING 2021 / Öffentlich
SOFTWARE CRAFTSMANSHIP:
FROM WORKING SOFTWARE TO PROFESSIONAL SOFTWARE
10 Thesen zur professionellen SW Entwicklung
 Working software: Focus on functional aspects
 From functional to quality aspects
 Professional software: Focus on code quality on non-functional
aspects.
 Professional software: Task for the team and the whole group to
deliver software to the world
Functional
Specification & Unit
Test
Working Software
Professional Code
Built Software
Deployable Software
Professional Software:
Live and -able
Ready-
for-Code
Definition-
of-almost-
DONE
Definition-
of-DONE
ABLE
Verifi
Test
Oper
Read
Evolv
Maintain
Observ
Scal
Recover
Prov
Afford
Deploy
Audit
Impenetr
© OPITZ CONSULTING 2021 / Öffentlich
10 Thesen zur professionellen SW Entwicklung
NO FULLSTACK DEVELOPER
VI
© OPITZ CONSULTING 2021 / Öffentlich
WHAT IS A FULLSTACK DEVELOPER?
10 Thesen zur professionellen SW Entwicklung
© OPITZ CONSULTING 2021 / Öffentlich
10 Thesen zur professionellen SW Entwicklung
NO FULLSTACK DEVELOPER
ONLY ONE FULLSTACK DEVELOPER
VI
© OPITZ CONSULTING 2021 / Öffentlich
THERE IS NO MORTAL FULLSTACK DEVELOPER
10 Thesen zur professionellen SW Entwicklung
 Cloud-native applications rely on zoo of tools
and technologies
 Developers need a growing portfolio of skills to build
and maintain front-end tools, back-end architecture,
and all the supporting systems
 In-depth knowledge of programming languages,
databases, quality assurance, information security,
DevOps and more
 Differentiate between competency and
mastery
 Full-stack developers are generalists. They
can only be a master of one or two areas.
 What differentiates different levels is how
quickly a developer can apply his or her
competencies to exploit new technologies or
solve issues
 Mastery requires dedication
and time to
a single field (studying
the force, piano,
or an IT knowledge domain)
© OPITZ CONSULTING 2021 / Öffentlich
10 Thesen zur professionellen SW Entwicklung
EVERYTHING IS CODE
VII
Foto von luis gomes von Pexels
© OPITZ CONSULTING 2021 / Öffentlich
EVERYTHING IS CODE
10 Thesen zur professionellen SW Entwicklung
Not only code, but everything should
be kept in source control
Traceability and automation for ephemeral
environments
Source Code, Infrastructure Descriptions (e.g. Kubernetes ressources),
scripts to setup (e.g. Terraform) and configure infrastructure (Ansible),
Configurations and Documentation
Documentation as Code
Keep documentation in the same repositories as the
code
Support PR workflow for every artefact ➔ Generate
Diagrams from ASCII descriptions or at least embed
descriptions into images (PlantUML etc. / drawio)
© OPITZ CONSULTING 2021 / Öffentlich
DOCUMENTATION AS CODE
10 Thesen zur professionellen SW Entwicklung
© OPITZ CONSULTING 2021 / Öffentlich
… OR USE IT AS DOCUMENTATION SITE GENERATOR
10 Thesen zur professionellen SW Entwicklung
Antora Publication Pipeline
used by a lot of projects
 Couchbase
 Fedora
 Owncloud
 Apache Camel
 OC Engineering Handbook
© OPITZ CONSULTING 2021 / Öffentlich
NOT ONLY OPENSOURCE, BUT MICROSOFT
NOT ASCIIDOC, BUT MARKDOWN
10 Thesen zur professionellen SW Entwicklung
 docs.microsoft.com built on
github
 See:
https://github.com/MicrosoftDocs
© OPITZ CONSULTING 2021 / Öffentlich
10 Thesen zur professionellen SW Entwicklung
AUTOMATE EVERYTHING
VIII
Foto von Markus Winkler von Pexels
© OPITZ CONSULTING 2021 / Öffentlich
AUTOMATE EVERYTHING
10 Thesen zur professionellen SW Entwicklung
 Automation is the way to provide expert knowledge to the project team
 Automation enables quality at scale when
 Generalists are in projects
 Experts are rare and not in the specific projects
Commit Push
Code Style
Check
Compile Unit Test Image Build
Integration
Test
Statical
Source Code
Analysis
Load Test /
Performance
Test
Automated
Acceptance
Test
Security Test
Manual
Acceptance
Test
Deploy Release
Code scripts,
Policies,
pipelines,
platforms for
consumption
by project
teams
© OPITZ CONSULTING 2021 / Öffentlich
AUTOMATE EVERYTHING
10 Thesen zur professionellen SW Entwicklung
 Automation is the way to provide expert knowledge to the project team
 Automation enables quality at scale when
 Generalists are in projects
 Experts are rare and not in the specific projects
 Experience gathered in project can be fed back using Pull Reqests
 Automation: documenting „WHY“ not „How“ is important
Commit Push
Code Style
Check
Compile Unit Test Image Build
Integration
Test
Statical
Source Code
Analysis
Load Test /
Performance
Test
Automated
Acceptance
Test
Security Test
Manual
Acceptance
Test
Deploy Release
Pull Requests
document
experience
gathered in
projects
© OPITZ CONSULTING 2021 / Öffentlich
10 Thesen zur professionellen SW Entwicklung
MINDSET
IX
© OPITZ CONSULTING 2021 / Öffentlich
MINDSET: SOFTWARE IS ONLY A MEANS TO AN END
OPENNESS TO ADAPT TO A QUICKLY CHANGING ECOSYSTEM IS VITAL
10 Thesen zur professionellen SW Entwicklung
 We build software not for the sake of building
software
 We don‘t reinvent the wheel
 We support solving a real world problem and
want to generate business value
 Languages, tools and platforms change to better
support building the software that solves a
problem
 In unstable times, the tool landscape will be
unstable to
 If you do not adapt to the changing environment
you will go extinct (survival of the fittest)
Having the right mindset of adopting new tools, languages, platforms is vital.
Especially, if the main asset we sell is the knowledge to solve a customers‘ problem.
We need to quickly adapt to changing and varying customer requirements.
Customers do not expect experts in a specific technology. They expect experts in
quickly understanding technology and to turn it into an advantage.
© OPITZ CONSULTING 2021 / Öffentlich
10 Thesen zur professionellen SW Entwicklung
HYBRID IS THE DEFAULT
X
© OPITZ CONSULTING 2021 / Öffentlich
HYBRID IS THE DEFAULT
10 Thesen zur professionellen SW Entwicklung
 Systems are run on-premise and in the public
cloud
 You have to understand cloud models to
solve your customer‘s problems
 You need to understand limitations and
benefits of using cloud
 Consult on workloads suitable for clouds
 Know the data privacy implications when using
public cloud or SaaS options
 ….
© OPITZ CONSULTING 2021 / Öffentlich
10 Thesen zur professionellen SW Entwicklung
QUESTION AND ANSWERS
© OPITZ CONSULTING 2021 / Öffentlich
10 Thesen zur professionellen SW Entwicklung
Richard Attermeyer
Principal Architect
Software Development & Integration
richard.attermeyer@opitz-consulting.com
@rattermeyer

Contenu connexe

Similaire à 10 Theses for Professional Software Development

DevOps auf Knopfdruck!? OC|Webcast "OpenDevStack - Scaling DevOps based on Op...
DevOps auf Knopfdruck!? OC|Webcast "OpenDevStack - Scaling DevOps based on Op...DevOps auf Knopfdruck!? OC|Webcast "OpenDevStack - Scaling DevOps based on Op...
DevOps auf Knopfdruck!? OC|Webcast "OpenDevStack - Scaling DevOps based on Op...OPITZ CONSULTING Deutschland
 
The DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkitThe DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkitMarco Ferrigno
 
The DevOps Paradigm
The DevOps ParadigmThe DevOps Paradigm
The DevOps ParadigmNaLUG
 
Containers, Serverless, Polyglot Development World, And Others…10 trends resh...
Containers, Serverless, Polyglot Development World, And Others…10 trends resh...Containers, Serverless, Polyglot Development World, And Others…10 trends resh...
Containers, Serverless, Polyglot Development World, And Others…10 trends resh...PROIDEA
 
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe DevelopmentEclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe DevelopmentDevOps.com
 
What_is_DevOps_how_it's_very_useful_in_daily_Life.
What_is_DevOps_how_it's_very_useful_in_daily_Life.What_is_DevOps_how_it's_very_useful_in_daily_Life.
What_is_DevOps_how_it's_very_useful_in_daily_Life.anilpmuvvala
 
What is DevOps And How It Is Useful In Real life.
What is DevOps And How It Is Useful In Real life.What is DevOps And How It Is Useful In Real life.
What is DevOps And How It Is Useful In Real life.anilpmuvvala
 
DevExForPlatformEngineers, introducing Kratix
DevExForPlatformEngineers, introducing KratixDevExForPlatformEngineers, introducing Kratix
DevExForPlatformEngineers, introducing KratixAbigail Bangser
 
Enterprise DevOps Series: Using VS Code & Zowe
Enterprise DevOps Series: Using VS Code & ZoweEnterprise DevOps Series: Using VS Code & Zowe
Enterprise DevOps Series: Using VS Code & ZoweDevOps.com
 
Webinar: End-to-End CI/CD with GitLab and DC/OS
Webinar: End-to-End CI/CD with GitLab and DC/OSWebinar: End-to-End CI/CD with GitLab and DC/OS
Webinar: End-to-End CI/CD with GitLab and DC/OSMesosphere Inc.
 
Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...
Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...
Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...Open Mainframe Project
 
Release Engineering Downstream of an OpenStack Project
Release Engineering Downstream of an OpenStack ProjectRelease Engineering Downstream of an OpenStack Project
Release Engineering Downstream of an OpenStack ProjectRainya Mosher
 
PureApplication: Devops and Urbancode
PureApplication: Devops and UrbancodePureApplication: Devops and Urbancode
PureApplication: Devops and UrbancodeJohn Hawkins
 
DevSecOps for the DoD
DevSecOps for the DoDDevSecOps for the DoD
DevSecOps for the DoDJamesHarmison
 
Full stack development best practice and toolset
Full stack development best practice and toolsetFull stack development best practice and toolset
Full stack development best practice and toolsetReid Lai
 
CICD_BestPractices.pdf
CICD_BestPractices.pdfCICD_BestPractices.pdf
CICD_BestPractices.pdfmotupalli2
 
Edureka-DevOps-Ebook.pdf
Edureka-DevOps-Ebook.pdfEdureka-DevOps-Ebook.pdf
Edureka-DevOps-Ebook.pdfrelekarsushant
 

Similaire à 10 Theses for Professional Software Development (20)

DevOps auf Knopfdruck!? OC|Webcast "OpenDevStack - Scaling DevOps based on Op...
DevOps auf Knopfdruck!? OC|Webcast "OpenDevStack - Scaling DevOps based on Op...DevOps auf Knopfdruck!? OC|Webcast "OpenDevStack - Scaling DevOps based on Op...
DevOps auf Knopfdruck!? OC|Webcast "OpenDevStack - Scaling DevOps based on Op...
 
The DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkitThe DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkit
 
The DevOps Paradigm
The DevOps ParadigmThe DevOps Paradigm
The DevOps Paradigm
 
Containers, Serverless, Polyglot Development World, And Others…10 trends resh...
Containers, Serverless, Polyglot Development World, And Others…10 trends resh...Containers, Serverless, Polyglot Development World, And Others…10 trends resh...
Containers, Serverless, Polyglot Development World, And Others…10 trends resh...
 
What_is_DevOps.pptx
What_is_DevOps.pptxWhat_is_DevOps.pptx
What_is_DevOps.pptx
 
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe DevelopmentEclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
 
What_is_DevOps_how_it's_very_useful_in_daily_Life.
What_is_DevOps_how_it's_very_useful_in_daily_Life.What_is_DevOps_how_it's_very_useful_in_daily_Life.
What_is_DevOps_how_it's_very_useful_in_daily_Life.
 
What is DevOps And How It Is Useful In Real life.
What is DevOps And How It Is Useful In Real life.What is DevOps And How It Is Useful In Real life.
What is DevOps And How It Is Useful In Real life.
 
DevExForPlatformEngineers, introducing Kratix
DevExForPlatformEngineers, introducing KratixDevExForPlatformEngineers, introducing Kratix
DevExForPlatformEngineers, introducing Kratix
 
Enterprise DevOps Series: Using VS Code & Zowe
Enterprise DevOps Series: Using VS Code & ZoweEnterprise DevOps Series: Using VS Code & Zowe
Enterprise DevOps Series: Using VS Code & Zowe
 
Webinar: End-to-End CI/CD with GitLab and DC/OS
Webinar: End-to-End CI/CD with GitLab and DC/OSWebinar: End-to-End CI/CD with GitLab and DC/OS
Webinar: End-to-End CI/CD with GitLab and DC/OS
 
Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...
Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...
Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...
 
Release Engineering Downstream of an OpenStack Project
Release Engineering Downstream of an OpenStack ProjectRelease Engineering Downstream of an OpenStack Project
Release Engineering Downstream of an OpenStack Project
 
PureApplication: Devops and Urbancode
PureApplication: Devops and UrbancodePureApplication: Devops and Urbancode
PureApplication: Devops and Urbancode
 
DevSecOps for the DoD
DevSecOps for the DoDDevSecOps for the DoD
DevSecOps for the DoD
 
Do's and don'ts for continuous delivery
Do's and don'ts for continuous deliveryDo's and don'ts for continuous delivery
Do's and don'ts for continuous delivery
 
Full stack development best practice and toolset
Full stack development best practice and toolsetFull stack development best practice and toolset
Full stack development best practice and toolset
 
DevOps-Ebook
DevOps-EbookDevOps-Ebook
DevOps-Ebook
 
CICD_BestPractices.pdf
CICD_BestPractices.pdfCICD_BestPractices.pdf
CICD_BestPractices.pdf
 
Edureka-DevOps-Ebook.pdf
Edureka-DevOps-Ebook.pdfEdureka-DevOps-Ebook.pdf
Edureka-DevOps-Ebook.pdf
 

Plus de OPITZ CONSULTING Deutschland

Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"
Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"
Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"OPITZ CONSULTING Deutschland
 
OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der Praxis
OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der PraxisOC|Webcast: Oracle Lizenzierung - Die größten Fallen in der Praxis
OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der PraxisOPITZ CONSULTING Deutschland
 
OC|Webcast: Oracle Lizenzierung - Virtualisierung und Cloud
OC|Webcast: Oracle Lizenzierung - Virtualisierung und CloudOC|Webcast: Oracle Lizenzierung - Virtualisierung und Cloud
OC|Webcast: Oracle Lizenzierung - Virtualisierung und CloudOPITZ CONSULTING Deutschland
 
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!OPITZ CONSULTING Deutschland
 
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...OPITZ CONSULTING Deutschland
 
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...OPITZ CONSULTING Deutschland
 
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?OPITZ CONSULTING Deutschland
 
OC|Weekly Talk - Digitales Coaching & Smart Sparring
OC|Weekly Talk - Digitales Coaching & Smart Sparring OC|Weekly Talk - Digitales Coaching & Smart Sparring
OC|Weekly Talk - Digitales Coaching & Smart Sparring OPITZ CONSULTING Deutschland
 
Effiziente Betriebsoptimierung durch Cloud Nutzung
Effiziente Betriebsoptimierung durch Cloud NutzungEffiziente Betriebsoptimierung durch Cloud Nutzung
Effiziente Betriebsoptimierung durch Cloud NutzungOPITZ CONSULTING Deutschland
 
OC|Weekly Talk - Mitarbeiterführung in Zeiten von Social Distance
OC|Weekly Talk - Mitarbeiterführung in Zeiten von Social DistanceOC|Weekly Talk - Mitarbeiterführung in Zeiten von Social Distance
OC|Weekly Talk - Mitarbeiterführung in Zeiten von Social DistanceOPITZ CONSULTING Deutschland
 

Plus de OPITZ CONSULTING Deutschland (20)

OC|Webcast: Grundlagen der Oracle Lizenzierung
OC|Webcast: Grundlagen der Oracle LizenzierungOC|Webcast: Grundlagen der Oracle Lizenzierung
OC|Webcast: Grundlagen der Oracle Lizenzierung
 
OC|Webcast "Java heute" vom 28.09.2021
OC|Webcast "Java heute" vom 28.09.2021OC|Webcast "Java heute" vom 28.09.2021
OC|Webcast "Java heute" vom 28.09.2021
 
OC|Webcast "Java heute" vom 24.08.2021
OC|Webcast "Java heute" vom 24.08.2021OC|Webcast "Java heute" vom 24.08.2021
OC|Webcast "Java heute" vom 24.08.2021
 
OC|Webcast "Daten wirklich nutzen"
OC|Webcast "Daten wirklich nutzen"OC|Webcast "Daten wirklich nutzen"
OC|Webcast "Daten wirklich nutzen"
 
Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"
Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"
Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"
 
OC|Webcast "Willkommen in der Cloud!"
OC|Webcast "Willkommen in der Cloud!"OC|Webcast "Willkommen in der Cloud!"
OC|Webcast "Willkommen in der Cloud!"
 
OC|Webcast "Die neue Welt der Virtualisierung"
OC|Webcast "Die neue Welt der Virtualisierung"OC|Webcast "Die neue Welt der Virtualisierung"
OC|Webcast "Die neue Welt der Virtualisierung"
 
OC|Webcast: Oracle Lizenzierung - Lizenznews 2021
OC|Webcast: Oracle Lizenzierung - Lizenznews 2021OC|Webcast: Oracle Lizenzierung - Lizenznews 2021
OC|Webcast: Oracle Lizenzierung - Lizenznews 2021
 
OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der Praxis
OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der PraxisOC|Webcast: Oracle Lizenzierung - Die größten Fallen in der Praxis
OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der Praxis
 
OC|Webcast: Oracle Lizenzierung - Virtualisierung und Cloud
OC|Webcast: Oracle Lizenzierung - Virtualisierung und CloudOC|Webcast: Oracle Lizenzierung - Virtualisierung und Cloud
OC|Webcast: Oracle Lizenzierung - Virtualisierung und Cloud
 
OC|Webcast: Grundlagen der Oracle-Lizenzierung
OC|Webcast: Grundlagen der Oracle-LizenzierungOC|Webcast: Grundlagen der Oracle-Lizenzierung
OC|Webcast: Grundlagen der Oracle-Lizenzierung
 
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!
 
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...
 
OC|Weekly Talk The Power of DevOps…
OC|Weekly Talk  The Power of DevOps…OC|Weekly Talk  The Power of DevOps…
OC|Weekly Talk The Power of DevOps…
 
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...
 
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?
 
OC|Weekly Talk - Digitales Coaching & Smart Sparring
OC|Weekly Talk - Digitales Coaching & Smart Sparring OC|Weekly Talk - Digitales Coaching & Smart Sparring
OC|Weekly Talk - Digitales Coaching & Smart Sparring
 
OC|Weekly Talk - Beratung remote
OC|Weekly Talk - Beratung remoteOC|Weekly Talk - Beratung remote
OC|Weekly Talk - Beratung remote
 
Effiziente Betriebsoptimierung durch Cloud Nutzung
Effiziente Betriebsoptimierung durch Cloud NutzungEffiziente Betriebsoptimierung durch Cloud Nutzung
Effiziente Betriebsoptimierung durch Cloud Nutzung
 
OC|Weekly Talk - Mitarbeiterführung in Zeiten von Social Distance
OC|Weekly Talk - Mitarbeiterführung in Zeiten von Social DistanceOC|Weekly Talk - Mitarbeiterführung in Zeiten von Social Distance
OC|Weekly Talk - Mitarbeiterführung in Zeiten von Social Distance
 

Dernier

『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书rnrncn29
 
SCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is prediSCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is predieusebiomeyer
 
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一z xss
 
Contact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New DelhiContact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New Delhimiss dipika
 
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一Fs
 
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一Fs
 
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书rnrncn29
 
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一Fs
 
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一Fs
 
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)Christopher H Felton
 
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012rehmti665
 
Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Paul Calvano
 
Q4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptxQ4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptxeditsforyah
 
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作ys8omjxb
 
Top 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxTop 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxDyna Gilbert
 
Magic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptxMagic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptxMartaLoveguard
 
PHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationPHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationLinaWolf1
 
Git and Github workshop GDSC MLRITM
Git and Github  workshop GDSC MLRITMGit and Github  workshop GDSC MLRITM
Git and Github workshop GDSC MLRITMgdsc13
 

Dernier (20)

『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
 
SCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is prediSCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is predi
 
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
 
Contact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New DelhiContact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New Delhi
 
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
 
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
 
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
 
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
 
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
 
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
 
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
 
Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24
 
Model Call Girl in Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in  Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in  Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝
 
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
 
Q4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptxQ4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptx
 
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
 
Top 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxTop 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptx
 
Magic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptxMagic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptx
 
PHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationPHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 Documentation
 
Git and Github workshop GDSC MLRITM
Git and Github  workshop GDSC MLRITMGit and Github  workshop GDSC MLRITM
Git and Github workshop GDSC MLRITM
 

10 Theses for Professional Software Development

  • 1. © OPITZ CONSULTING 2021 / Öffentlich 10 Thesen zur professionellen SW Entwicklung Zur professionellen SW Entwicklung #SEACONdigital, 21.04.2021 Richard Attermeyer 10 THESEN
  • 2. © OPITZ CONSULTING 2021 / Öffentlich 10 Thesen zur professionellen SW Entwicklung THE GOOD OLD TIMES
  • 3. © OPITZ CONSULTING 2021 / Öffentlich 10 Thesen zur professionellen SW Entwicklung  JSF (Java Server Faces) or Spring MVC: Java Programming Model for the web  Java, the Language  No JavaScript, SQL, … everything abstracted away  Tomcat: A small web container  Install it plain on your machine  RDBMS Oracle, abstracted away by JPA/Hiberante  That‘s it.  Ok, Maven, git and Jenkins CI.  That‘s it… really
  • 4. © OPITZ CONSULTING 2021 / Öffentlich 10 Thesen zur professionellen SW Entwicklung One Language One Development Stack Production is an afterthought
  • 5. © OPITZ CONSULTING 2021 / Öffentlich 10 Thesen zur professionellen SW Entwicklung 10 PROPOSITIONS  Market trends that influence SW architectures and development processes Foto von Monika Baumgartner von Pexels
  • 6. © OPITZ CONSULTING 2021 / Öffentlich 10 PROPOSITIONS 10 Thesen zur professionellen SW Entwicklung  Feedback Cycles and common responsibility (DevOps culture) is a must to run the applications  The git pull-request model must be mastered by every IT professional  Shift-left many things  Cloud-native as guiding principle  Software Craftsmanship is established, but more important than ever  There is no fullstack-developer  Everything is code  Automate everything to reduce turn- around times and handle complexity  Openness to adapt to a quickly changing ecosystem is vital  Hybrid multi-cloud is the default
  • 7. © OPITZ CONSULTING 2021 / Öffentlich 10 Thesen zur professionellen SW Entwicklung FEEDBACK CYCLES, DEVOPS AND THE PIPELINE MODEL  Individual, Team and the world I Foto von Isaac Weatherly von Pexels
  • 8. © OPITZ CONSULTING 2021 / Öffentlich DEVELOPER 10 Thesen zur professionellen SW Entwicklung Red Green Refactor 1. Write a test that fails 2. Make it work 3. Optimize. Eliminate redundancy. Make code more expressive without adding new functionality This cycle happens on the developer‘s machine. UNIT-TEST-CYCLE
  • 9. © OPITZ CONSULTING 2021 / Öffentlich DEVELOPER AND HIS TEAM 10 Thesen zur professionellen SW Entwicklung Branch / Fork Code Collaborate Merge 1. Create a branch for the task 2. Solve the task 3. Create a Pull Request and collobarate with team to improve it and fulfill Definition-of-Done 4. Merge to common development branch GIT-PULL-REQUEST-CYCLE
  • 10. © OPITZ CONSULTING 2021 / Öffentlich Plan Develop Verify Deploy THE AGILE DEVELOPMENT CYCLE: DEVELOPER, TEAM, PRODUCTOWNER 10 Thesen zur professionellen SW Entwicklung  Deploy to various staging environments  Early feedback from product stakeholders on the system under test  Shorten feedback cycles for development teams  This will often work with only „working software“  Progress indicator: „working software“  Shown in sprint review AGILE CYCLE
  • 11. © OPITZ CONSULTING 2021 / Öffentlich BUSINESS 10 Thesen zur professionellen SW Entwicklung  Shorten value creation cycle  Shorten feedback cycles for product teams  This only works with professional software that can go into production at any time  Progress indicator: live software with business KPIs Plan Develop Verify Deploy Release Monitor Operate Improve PRODUCT-DEVOPS-CYCLE
  • 12. © OPITZ CONSULTING 2021 / Öffentlich THE DELIVERY PIPELINE 10 Thesen zur professionellen SW Entwicklung  Assumes no cycles and concentrates on the main process from commit to production Commit Stage Build Stage Automated Verification Stage Deploy to staging environments Manual Acceptance Test Load Test / Performance Test Security Test Deploy to prod environments Release Code Pipeline Deployment Pipeline  Ensure Software is always releasable  Runs less often, only if software is guaranteed to be working  Feedback cycles often days up to 2-4 weeks  Runs often  Feedback cycles 10-15 min Continuous Delivery Continuous Deployment  Automatic deploy and release to prod  Needs to eleminate manual steps in continuous delivery
  • 13. © OPITZ CONSULTING 2021 / Öffentlich 10 Thesen zur professionellen SW Entwicklung GIT MODEL II
  • 14. © OPITZ CONSULTING 2021 / Öffentlich GIT PULL-REQUEST MODEL 10 Thesen zur professionellen SW Entwicklung ▪ Traceability: Tickets, Build status ▪ Collaboration, discussion and knowledge sharing ▪ Transparency: Who changed what and when Branch / Fork Code Collaborate Merge
  • 15. © OPITZ CONSULTING 2021 / Öffentlich 10 Thesen zur professionellen SW Entwicklung Every IT professional must understand the model and be able to use git: Developers Operations Business Analysts … everyone involved in creating a solution
  • 16. © OPITZ CONSULTING 2021 / Öffentlich 10 Thesen zur professionellen SW Entwicklung SHIFT-LEFT III
  • 17. © OPITZ CONSULTING 2021 / Öffentlich SHIFT LEFT 10 Thesen zur professionellen SW Entwicklung  Move tasks from later stages to earlier stages in the pipeline to shorten cycle time  Identifying issues earlier in the pipeline makes it cheaper to address issues and does not later delay release  You will build quality in earlier in the pipeline… and you discover delays in your project earlier Commit Stage Build Stage Automated Verification Stage Deploy to staging environments Manual Acceptance Test Load Test / Performance Test Security Test Deploy to prod environments Release Code Pipeline Deployment Pipeline
  • 18. © OPITZ CONSULTING 2021 / Öffentlich SHIFT LEFT: ROLES CHANGE 10 Thesen zur professionellen SW Entwicklung Commit Push Code Style Check Compile Unit Test Integration Test Manual Acceptance Test Load Test / Performance Test Security Test Deploy + Release  Specialists performed manual checks and created reports of findings Commit Push Code Style Check Compile Unit Test Image Build Integration Test Statical Source Code Analysis Load Test / Performance Test Automated Acceptance Test Security Test Manual Acceptance Test Deploy Release  Specialists provide consulting, guidance and perform process control  Recommend tooling and configure platforms From traditional delivery To Modern delivery
  • 19. © OPITZ CONSULTING 2021 / Öffentlich 10 Thesen zur professionellen SW Entwicklung CLOUD-NATIVE IV Foto von Magda Ehlers von Pexels
  • 20. © OPITZ CONSULTING 2021 / Öffentlich CLOUD-NATIVE THE RISE OF THE CONTAINERS 10 Thesen zur professionellen SW Entwicklung  Delivering Container images instead of simple archives (Jar, War, zip)  Local Development stack (on developer host) based on docker-compose or „micro kubernetes“ distros (kind, k3s)  Containers are then deployed to various environments (Kubernetes or non-Kubernetes)  Container and kubernetes know-how is an essential skill for every developer  Yes, basic know-how of common network components, like proxies, reverse-proxies, subnets, becomes more important
  • 21. © OPITZ CONSULTING 2021 / Öffentlich OBSERVABILITY IS KEY! 10 Thesen zur professionellen SW Entwicklung Observability is key in modern, distributed IT system landscapes Important to identify potential issues or bottlenecks Absolutely necessary to ensure SLA conformity Try to get as much insights as possible by externalizing as much information as possible Different levels to track: API monitoring Service monitoring End-to-end monitoring Log analytics Application Performance monitoring Distributed Tracing
  • 22. © OPITZ CONSULTING 2021 / Öffentlich 10 Thesen zur professionellen SW Entwicklung SOFTWARE CRAFTSMANSHIP V Foto von igovar von Pexels
  • 23. © OPITZ CONSULTING 2021 / Öffentlich SOFTWARE IS EVERYWHERE 10 Thesen zur professionellen SW Entwicklung The Brake System is powered by Software The quality of the brake software is similar to the code that you committed last week Your mother-in-law is about to get into the car Your kids are about to get into the car
  • 24. © OPITZ CONSULTING 2021 / Öffentlich DO YOUR KIDS DRIVE WITH THE CAR IF THE BRAKE SYSTEM SOFTWARE HAS BEEN DEVELOPED BY YOU? 10 Thesen zur professionellen SW Entwicklung How do you know? • How do you know that your system is working correctly? • … and how it deals with real life situations? Why not? • what is your software good enough for? • for a demo, a PoC or a strictly controlled prototype?
  • 25. © OPITZ CONSULTING 2021 / Öffentlich SOFTWARE CRAFTSMANSHIP: FROM WORKING SOFTWARE TO PROFESSIONAL SOFTWARE 10 Thesen zur professionellen SW Entwicklung  Working software: Focus on functional aspects  From functional to quality aspects  Professional software: Focus on code quality on non-functional aspects.  Professional software: Task for the team and the whole group to deliver software to the world Functional Specification & Unit Test Working Software Professional Code Built Software Deployable Software Professional Software: Live and -able Ready- for-Code Definition- of-almost- DONE Definition- of-DONE ABLE Verifi Test Oper Read Evolv Maintain Observ Scal Recover Prov Afford Deploy Audit Impenetr
  • 26. © OPITZ CONSULTING 2021 / Öffentlich 10 Thesen zur professionellen SW Entwicklung NO FULLSTACK DEVELOPER VI
  • 27. © OPITZ CONSULTING 2021 / Öffentlich WHAT IS A FULLSTACK DEVELOPER? 10 Thesen zur professionellen SW Entwicklung
  • 28. © OPITZ CONSULTING 2021 / Öffentlich 10 Thesen zur professionellen SW Entwicklung NO FULLSTACK DEVELOPER ONLY ONE FULLSTACK DEVELOPER VI
  • 29. © OPITZ CONSULTING 2021 / Öffentlich THERE IS NO MORTAL FULLSTACK DEVELOPER 10 Thesen zur professionellen SW Entwicklung  Cloud-native applications rely on zoo of tools and technologies  Developers need a growing portfolio of skills to build and maintain front-end tools, back-end architecture, and all the supporting systems  In-depth knowledge of programming languages, databases, quality assurance, information security, DevOps and more  Differentiate between competency and mastery  Full-stack developers are generalists. They can only be a master of one or two areas.  What differentiates different levels is how quickly a developer can apply his or her competencies to exploit new technologies or solve issues  Mastery requires dedication and time to a single field (studying the force, piano, or an IT knowledge domain)
  • 30. © OPITZ CONSULTING 2021 / Öffentlich 10 Thesen zur professionellen SW Entwicklung EVERYTHING IS CODE VII Foto von luis gomes von Pexels
  • 31. © OPITZ CONSULTING 2021 / Öffentlich EVERYTHING IS CODE 10 Thesen zur professionellen SW Entwicklung Not only code, but everything should be kept in source control Traceability and automation for ephemeral environments Source Code, Infrastructure Descriptions (e.g. Kubernetes ressources), scripts to setup (e.g. Terraform) and configure infrastructure (Ansible), Configurations and Documentation Documentation as Code Keep documentation in the same repositories as the code Support PR workflow for every artefact ➔ Generate Diagrams from ASCII descriptions or at least embed descriptions into images (PlantUML etc. / drawio)
  • 32. © OPITZ CONSULTING 2021 / Öffentlich DOCUMENTATION AS CODE 10 Thesen zur professionellen SW Entwicklung
  • 33. © OPITZ CONSULTING 2021 / Öffentlich … OR USE IT AS DOCUMENTATION SITE GENERATOR 10 Thesen zur professionellen SW Entwicklung Antora Publication Pipeline used by a lot of projects  Couchbase  Fedora  Owncloud  Apache Camel  OC Engineering Handbook
  • 34. © OPITZ CONSULTING 2021 / Öffentlich NOT ONLY OPENSOURCE, BUT MICROSOFT NOT ASCIIDOC, BUT MARKDOWN 10 Thesen zur professionellen SW Entwicklung  docs.microsoft.com built on github  See: https://github.com/MicrosoftDocs
  • 35. © OPITZ CONSULTING 2021 / Öffentlich 10 Thesen zur professionellen SW Entwicklung AUTOMATE EVERYTHING VIII Foto von Markus Winkler von Pexels
  • 36. © OPITZ CONSULTING 2021 / Öffentlich AUTOMATE EVERYTHING 10 Thesen zur professionellen SW Entwicklung  Automation is the way to provide expert knowledge to the project team  Automation enables quality at scale when  Generalists are in projects  Experts are rare and not in the specific projects Commit Push Code Style Check Compile Unit Test Image Build Integration Test Statical Source Code Analysis Load Test / Performance Test Automated Acceptance Test Security Test Manual Acceptance Test Deploy Release Code scripts, Policies, pipelines, platforms for consumption by project teams
  • 37. © OPITZ CONSULTING 2021 / Öffentlich AUTOMATE EVERYTHING 10 Thesen zur professionellen SW Entwicklung  Automation is the way to provide expert knowledge to the project team  Automation enables quality at scale when  Generalists are in projects  Experts are rare and not in the specific projects  Experience gathered in project can be fed back using Pull Reqests  Automation: documenting „WHY“ not „How“ is important Commit Push Code Style Check Compile Unit Test Image Build Integration Test Statical Source Code Analysis Load Test / Performance Test Automated Acceptance Test Security Test Manual Acceptance Test Deploy Release Pull Requests document experience gathered in projects
  • 38. © OPITZ CONSULTING 2021 / Öffentlich 10 Thesen zur professionellen SW Entwicklung MINDSET IX
  • 39. © OPITZ CONSULTING 2021 / Öffentlich MINDSET: SOFTWARE IS ONLY A MEANS TO AN END OPENNESS TO ADAPT TO A QUICKLY CHANGING ECOSYSTEM IS VITAL 10 Thesen zur professionellen SW Entwicklung  We build software not for the sake of building software  We don‘t reinvent the wheel  We support solving a real world problem and want to generate business value  Languages, tools and platforms change to better support building the software that solves a problem  In unstable times, the tool landscape will be unstable to  If you do not adapt to the changing environment you will go extinct (survival of the fittest) Having the right mindset of adopting new tools, languages, platforms is vital. Especially, if the main asset we sell is the knowledge to solve a customers‘ problem. We need to quickly adapt to changing and varying customer requirements. Customers do not expect experts in a specific technology. They expect experts in quickly understanding technology and to turn it into an advantage.
  • 40. © OPITZ CONSULTING 2021 / Öffentlich 10 Thesen zur professionellen SW Entwicklung HYBRID IS THE DEFAULT X
  • 41. © OPITZ CONSULTING 2021 / Öffentlich HYBRID IS THE DEFAULT 10 Thesen zur professionellen SW Entwicklung  Systems are run on-premise and in the public cloud  You have to understand cloud models to solve your customer‘s problems  You need to understand limitations and benefits of using cloud  Consult on workloads suitable for clouds  Know the data privacy implications when using public cloud or SaaS options  ….
  • 42. © OPITZ CONSULTING 2021 / Öffentlich 10 Thesen zur professionellen SW Entwicklung QUESTION AND ANSWERS
  • 43. © OPITZ CONSULTING 2021 / Öffentlich 10 Thesen zur professionellen SW Entwicklung Richard Attermeyer Principal Architect Software Development & Integration richard.attermeyer@opitz-consulting.com @rattermeyer