Click here to load reader
View
1
Download
0
Embed Size (px)
Verteilte Entwicklung Herausforderung, Betrachtungen und Lösungansätze
Embedded Computing Conference 2016 Winterthur, Schweiz 31 Mai 2016
Philip Zollinger
1 - © EVOCEAN www.evocean.com
Administrativer Aufwand für verteilte Entwicklungs nimmt überproportional zu
Zusammenarbeit nimmt ständig zu
Globalisierung nimmt zu
Entwicklungs-Takt und -Schnelligkeit nimmt ständig zu
Zugriff auf korrekte „Entwicklungsdaten“ Ressourcen, ortsunabhängig ist kritisch
Fokus auf Kernkompetenzen ist wichtig
Sicherheitsaspekte
Stabile, robuste „Infrastruktur“ immer wichtiger
Flexibilität / Agilität nimmt einen immer höheren Stellenwert
Entwickler müssen einfach zu den Information kommen
Was bewegt mich darüber zu sprechen
2 - © EVOCEAN www.evocean.com
EVOCEAN – www.evocean.com
3 - © EVOCEAN www.evocean.com
Configuration Management
Model Driven Development
Requirements Management
Lean & Agile
Quality Management
Continuous Improvement
Improving Software-, Product- and Systems Engineering.
Internet of Things Threat Detection
5 - © EVOCEAN www.evocean.com
SORRY – Meine Folien sind in deutsch und englisch …
6 - © EVOCEAN www.evocean.com
Wachstum
Akquisition
Zusammenarbeit mit Partner
Zugriff auf Ressourcen
Flexibilität von Arbeitsmodellen
Innovativ bleiben
Lokal sein auch wenn global
Treiber einer verteilten Entwicklung
7 - © EVOCEAN www.evocean.com
Agilität schneller, Feedback, adaptieren
Continuous Integration / Delivery braucht „zentrale“ Infrastruktur
DevOps / „DevProd“ Kleine Schritte - Zusammenarbeit zwischen Entwicklung und Operations / bzw. Produktion
Collaborative Engineering über mehrere Disziplinen (Systems Engineering)
IoT , Industrie 4.0 wird dies verstärken
Einfluss von aktuellen Trends Agilität – Continuous Delivery – DevOps – Collaborative Eng.
https://www.zukunftsinstitut.de/dossier/megatrends/
8 - © EVOCEAN www.evocean.com
Herausforderung unterschiedliche Stakeholder Anforderungen
Developer Productivity
Non-Technical Contributor Productivity
Production Needs
Corporate Goals
Quality and
Security
9 - © EVOCEAN www.evocean.com
Was braucht die Entwicklung Aus Entwicklersicht
Einfacher Zugriff auf Daten
Klare Kommunikation von Produktstrategie, Aufgaben und Prioritäten
Möglichst schneller Feedback auf Arbeit
Einfache Zusammenarbeit im Kontext mit anderen
Zufriedene Entwickler sind sehr wichtig für Produktivität
10 - © EVOCEAN www.evocean.com
Was braucht die Entwicklung aus IT Adminsicht
Schlanke Admin der Infrastruktur
Sicherstellung der Verfügbarkeit der Infrastruktur und Zugriff
Sie will sicherstellen dass User immer arbeiten können
Monitoring zwecks schnellem agieren bei Problemen
Hybrid Cloud Strategie – möglichst offene Standards
11 - © EVOCEAN www.evocean.com
Was braucht die Entwicklung aus Entwicklungsleitungssicht
Sichere robuste Infrastruktur, damit die Entwicklung arbeiten können – hoher SLA. - klare HA/DR Strategie
Klare Produkt Linien, bzw. Plattform Strategie -> Wiederverwendung
Klare System- / Produkt- / Software-Entwicklungs Lifecycle Strategie, Change Management
Schlanke Prozesse die keinen unnötigen Ballast haben
Raum für Innovation, klare Prioritäten, Ziele
Automatisation wo sinnvoll
Möglichst einfach skalierbar Infrastruktur, flexibles Ressourcenplanung
Schlankes zielorientiertes Reporting.
Klare transparente Sicht „wo“ die Projekte stehen, was fehlt …
Verbesserungsinitiativen: Schnelligkeit, Produktivität, Zusammenarbeit
12 - © EVOCEAN www.evocean.com
Was braucht die Entwicklung aus Unternehmersicht
Schutz von IP / Daten
Möglichst einfach skalierbare Infrastruktur
Konformität bezüglich gesetzlichen Regulatorien (Compliance / Standards)
Schlankes zielorientiertes Reporting
GL will zu jedem Zeitpunkt wissen „wo“ die Projekte sind.
Produkt (Portfolio) / Markt / Innovation-Strategie
Verbesserungs-Initiativen bezüglich Time to Market, Innovation, Produktivität
13 - © EVOCEAN www.evocean.com
Was wir öfters antreffen ….
Repository sprawl • Teams use their own stores • SCM tool limits force artificial splits • Siloes, poor visibility, no sharing, low security, broken builds
Inefficient CI / DevOps • Little/no CI • Slow, broken builds • Multiple security models
Poor scaling for distributed teams • Add-ons needed • Complex setup, on-going management • Poor performance
14 - © EVOCEAN www.evocean.com
Techniken
Lean, agile Prinzipien
Requirements Engineering
Klare Produktlinienstrategie , bzw. Platformstrategie zwecks Wiederverwendung
Versionieren, Varianten Management über alle Artefakte Keywords „Streams“ bzw. „global Configurations“
Visual Management – Boards
Collaboration im Kontext– Reviews, Konversationen über Artifakte
Systems Engineering – Model Based Systems Engineering, Model Driven Development
Continuous Integration / DevOps / Continuous Delivery (Automated Testing: PreComit, PostComit)
15 - © EVOCEAN www.evocean.com
Asset Storage
Vision – Single Source of Truth
Asset Storage as “Nerve Center” for entire Organization
DBAs
Release ManagementOperations
Systems Engineering Quality Assurance
Development
Production state flags
Automated Installs
Operation scripts
Automated Deployments for dev/QA/production
Source code repository
Logging for all automation
Historical reporting repository
Puppet manifests
Puppet logs
SAE scripts
Oracle scripts
SQL server scripts
SQL server packages
QA application configurations
All installs taken from Perforce
Source Code Repository
Unit testing configurations
Development tools/scripts
Drawings etc.
MonoRepo
16 - © EVOCEAN www.evocean.com
Lösungsvision
Digital Asset Storage
Planning Task Man.
Require- ments
Develop- ment
Quality Assurance
Deploy- ment
Maint- enance
Collaboration - Realtime Reporting - Traceabilty
17 - © EVOCEAN www.evocean.com
Verteilte Infrastruktur (Digital Storage)
Versioning Service
Proxy
Proxy
Replication ServiceD/R
Build Replica
18 - © EVOCEAN www.evocean.com
Verteilte Infrastrukur - Narrow cloning
Any file type Any number of files Any size of history
Art
Code
Core
iOS
Win
Tests
Shared Helix
Code
Core
iOS
Tests
Jill’s Helix repo
Code
Core
Win
Tests
John’s Helix repo
19 - © EVOCEAN www.evocean.com
Verteilte Infrastruktur - Shallow cloning
#1
#2
#3
#4
#1
#2
#3
shared local
#3
#2
#4
#3
clone –m 2
20 - © EVOCEAN www.evocean.com
CSODevOps
Infrastruktur optimiert für Continuous Delivery
Trunk Based Development Continuous Integration
Infrastructure as Code Continuous Testing
21 - © EVOCEAN www.evocean.com
Open Standard to share data more easily
Better integration between tools
Flexible, robust connections
Exposing more data
Many contributors from many industires
Simple specifications as a common baseline which can be extended
Inspired by the web and linked data standards
Access with RESTful services throuh URL
Challenge: Tool Integration Open Service Lifecycle Management (OSLC)
http://www.oasis-oslc.org http://www.open-services.net
22 - © EVOCEAN www.evocean.com
Engineering teams are meeting the challenge with Continuous Engineering platform
Requirements
Design
Tracking, planning, change management Configuration management
Reporting and analysis
Validation & Verification
23 - © EVOCEAN www.evocean.com
Verteilte Entwicklung: Streams
Enforce trunk-based development principles Built-in tracking of parent-child relationships Automate trunk integration, everyone in sync Task streams for per-task branching Quick context-switching
24 - © EVOCEAN www.evocean.com
Component-based development (CBD)
• Complex project broken down into smaller independent components
• Each component has its own lifecycle • There can be multiple releases
• CBD assembles components in configurations
25 - © EVOCEAN www.evocean.com
Component-based development
• Streams are the versioned configur