Je komplexer Produkte werden, umso mehr wird Softwareentwicklung zu einem wesentlichen Bestandteil der Produktentwicklung. In diesen PLM Open Hours werden Herausforderungen, Lösungsansätze und Trends zur Softwareentwicklung im Innovationsprozess präsentiert.
5. PLM OPEN HOURS_SOFTWAREENTWICKLUNG
Standardprodukt ohne Varianten PTO, MTS
Verkaufsprozess: Selektion durch den Kunden
Produktion: Lieferung des Produktes ab Lager, Standardsoftware
Engineering: die aufgelöste Produktstruktur des Enderzeugnisses vorhanden
Bsp.:
Standardprodukt
(CD-Player, Waschmaschine)
PLM Open Hours _ 04.07.2012 6
6. PLM OPEN HOURS_SOFTWAREENTWICKLUNG
Standardprodukt mit kundenspezifizierten Varianten MTO
Verkaufsprozess: Konfiguration und teilweise Spezifikation durch den Kunden
Produktion: Baugruppen nach den Kundenspez. herstellen und montieren, Standard-
SW mit Konfigurationsdatei auf CD oder in EPROM
Engineering: die Produktstruktur des Enderzeugnisses ist zum Zeitpunkt des
Auftragseinganges in der auftragsneutralen Produktstruktur teilweise vorhanden
Bsp.:
Produkt mit kundenspezifizierten
Varianten
(Werkzeugmaschine)
PLM Open Hours _ 04.07.2012 7
7. PLM OPEN HOURS_SOFTWAREENTWICKLUNG
Produkt nach Kundenspezifikationen ETO
Verkaufsprozess: Angabe der Spezifikationen durch den Kunden (Pflichtenheft)
Produktion: alle Baugruppen nach den Kundenspezifikationen herstellen und
montieren, kundenspezifische Softwareentwicklung /-anpassungen
Engineering: keine Produktstruktur zum Zeitpunkt des Auftragseinganges vorhanden
– neues Entwicklungsprojekt
Bsp.:
Einzelprodukt
(Anlage)
PLM Open Hours _ 04.07.2012 8
8. PLM OPEN HOURS_SOFTWAREENTWICKLUNG
Aufgaben in der Entwicklung
MTS ATO MTO ETO
Mechanik Entwicklung Entwicklung Varianten-Produkt • Entwicklung Varianten- • Entwicklung
End-Produkt (Module) Produkt (Module) Varianten-Produkt
(möglicher- • Kleinere (Module)
weise Anpassungskontruktionen • Kundenspezifische
basierend auf Entwicklung von
Modulen) End-Produkt
Software Entwicklung Entwicklung Varianten-Produkt, Entwicklung Varianten-Produkt, • Entwicklung
End-Produkt Klassen/Module sind Klassen/Module sind Varianten-Produkt
(normaler- konfigurierbar mit Hilfe von konfigurierbar mit Hilfe von (Module)
weise Konfigurationsdatei oder DB, Konfigurationsdatei oder DB, • Kundenspezifische
basierend auf evtl. Aufteilung in DLLs, evtl. evtl. Aufteilung in DLLs, evtl. Entwicklung von
Klassen/ mehrere Kompiliervarianten mehrere Kompiliervarianten End-Produkt
Modulen) (Compileflags) (Compilerflags)
Elektrik Entwicklung Entwicklung Varianten-Produkt Entwicklung Varianten-Produkt • Entwicklung
End-Produkt (Module), 150%-Board und/oder (Module), 150%-Board und/oder Varianten-Produkt
(möglicher- mehrere Boards, immer häufiger mehrere Boards, immer häufiger (Module)
weise auch Verwendung von auch Verwendung von • Kundenspezifische
basierend auf programmierbaren Bausteinen ( programmierbaren Bausteinen ( Entwicklung von
mehreren => Software) => Software) End-Produkt
Boards)
PLM Open Hours _ 04.07.2012 9
9. PLM OPEN HOURS_SOFTWAREENTWICKLUNG
Aufgaben in der Produktion
MTS ATO MTO ETO
Mechanik Kunden- • Kundenauftragsneutrale Montage • Kundenauftragsneutrale Montage Kundenauftragsbezog
auftrags- der Module der Module ene Fertigung und
neutrale • Kundenauftragsbezogene • Kundenauftragsbezogene Montage Montage des End-
Montage Montage der Module zum der Module zum fertigen Produkt Produktes
fertigen Produkt • Fertigung von Massvarianten
(erfodert kein Engineering)
• Fertigung von “angepassten”
Varianten (erfordert Engineering)
Software Kunden- • Kundenauftragsneutrale • Kundenauftragsneutrale Kundenauftragsbezog
auftrags- Kompilierung von Kompilierung von Hauptprogramm ene Entwicklung und
neutrale Hauptprogramm und DLL- und DLL-Varianten Konfiguration des
Kompilierung Varianten • Kundenauftragsbezogene End-Produktes
• Kundenauftragsbezogene Konfiguration zum fertigen Produkt
Konfiguration zum fertigen • Massvarianten vs. “angepassten”
Produkt Varianten analog zur Mechanik
Elektrik Kunden- • Kundenauftragsneutrale • Kundenauftragsneutrale Kundenauftragsbezog
auftrags- Herstellung der Boards Herstellung der Boards ene Fertigung und
neutrale • Kundenauftragsbezogene • Kundenauftragsbezogene Bestückung des End-
Bestückung Bestückung zum fertigen Produkt, Bestückung zum fertigen Produkt, Produktes
Montage des/der Board(s), Montage des/der Board(s),
• Massvarianten vs. “angepassten”
Varianten analog zur Mechanik
PLM Open Hours _ 04.07.2012 10
10. PLM OPEN HOURS_SOFTWAREENTWICKLUNG
Organisatorische Herausforderungen
Geeignete Produktstruktur wählen
Auswirkung von Kundenwünschen und Änderungen klein halten
Für M-CAD, E-CAD und SW müssen gleichartige Fragestellungen
beantwortet werden:
Wer hat was entwickelt, geprüft, freigegeben?
As-Built-Struktur?
As-Delivered-Struktur?
As-Maintained-Struktur?
Wer hat aus welchem Grund welche Änderung beantragt, geprüft, freigegeben?
Einsatz bei welchem Kunden, in welchem Projekt?
PLM Open Hours _ 04.07.2012 11
11. PLM OPEN HOURS_SOFTWAREENTWICKLUNG
Organisatorische Herausforderungen
HW- und SW-Entwicklung verlaufen ungefähr aber nicht exakt parallel
SW-Entwicklung beginnt häufig später
SW-Release-Zyklus ist häufig kürzer, sowohl während der eigentlichen
Produktentwicklung als auch nach der Markteinführung (Bsp. iPhone)
HW- und SW-Produkttyp sind häufig aber nicht zwingend parallel
Software kann Standardprodukt in einen anderen Produkttyp verwandeln
Bsp. Handy mit Simlock, Auto mit Tuninganpassung
Verwaltung in einem gemeinsamen System ist aber nicht notwendig und
oft sogar unerwünscht, weil die Lebenszyklen unterschiedlich sind
PLM Open Hours _ 04.07.2012 12
12. PLM OPEN HOURS_SOFTWAREENTWICKLUNG
Integrierte Tools vs. definierte Schnittstellen
Eine (teilweise) Integration von M-CAD, E-CAD und SW bietet die Chance
frühzeitig Abhängigkeiten zwischen Systemen zu simulieren ABER
Für alle parallelen Entwicklungen gilt: Der Schlüssel für erfolgreiche und
effiziente Entwicklung / Simulation / Tests ist die Spezifikation und
Verwaltung von Schnittstellen (Kollaborationselementen)
Beispiele:
Mechanik/Mechanik: Bauraum und mechanische Schnittstellen
Elektronik/Elektronik: Bauraum, Stromlaufplan, Eingänge und Ausgänge
Elektronik/Mechanik: Bauraum, Bohrungen, Wärmeabgabe, Aktoren, Sensoren
Software/Software: Öffentliche Funktionen einer Klasse
Elektronik/Software: Pin-Belegungen, Steuercodes
PLM Open Hours _ 04.07.2012 13
13. PLM OPEN HOURS_SOFTWAREENTWICKLUNG
Trends in der Softwareentwicklung
Sourceverwaltung, bessere Unterstützung von paralleler Entwicklung
1. CVS
2. SVN (+transactional commits, +Mergefunktion unterstützt paralleles Arbeiten
am gleichen File)
3. GIT (+autonome verteilte Entwicklung, +verbesserte Verwaltung von Branches)
Vom Software-Moloch zu mehreren kleinen aber feinen
Anwendungen
Cloud Computing
Anwendungen mit APIs, Import/Export, d.h. Schnittstellen!
Browser als Client =>Ajax, REST
PLM Open Hours _ 04.07.2012 14
14. PLM OPEN HOURS_SOFTWAREENTWICKLUNG
Trends in der Softwareentwicklung
IDEs, vom Compiler zum Softwaremanagementsystem
Requirements management
Bugtracking
Resource management
Arbeitsweise
Agile Methoden
Scrum (Transparenz, Überprüfung, Anpassung)
PLM Open Hours _ 04.07.2012 15
15. PLM OPEN HOURS_SOFTWAREENTWICKLUNG
Trends in der Softwareentwicklung
Programmiersprachen
Objective-C
Node.js
Quellen:
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
http://www.google.com/trends/?q=Objective-C+
http://www.google.com/trends/?q=nodejs
PLM Open Hours _ 04.07.2012 16
16. PLM OPEN HOURS_SOFTWAREENTWICKLUNG
Zusammenfassung
Softwareentwicklung ist ein wesentlicher Teil der Produktenwicklung
Entwicklungsprozess von Mechanik, Elektronik und Software hat viele
Gemeinsamkeiten
Optimierung des Innovationsprozesses erfordert
Gesamtsicht Mechanik+Elektronik+Software
Produkt Unternehmens-
Prozess
P
klar strukturierte Produkte
U
daraus angepasste Unternehmensprozesse und
T
geeignete IT-Tools
Strategische
Fokus auf Schnittstellen IT Tools
Softwareentwicklung ist im Umbruch
PLM Open Hours _ 04.07.2012 17