Requirements Engineering Best Practice Einführung in einer agilen ...
Requirements Engineering Best Practice Einführung in einer agilen ...
Requirements Engineering Best Practice Einführung in einer agilen ...
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
<strong>Requirements</strong> <strong>Eng<strong>in</strong>eer<strong>in</strong>g</strong> <strong>Best</strong><br />
<strong>Practice</strong> E<strong>in</strong>führung <strong>in</strong> e<strong>in</strong>er <strong>agilen</strong><br />
Umgebung<br />
Petra Schwenk und Michael Eisenbarth<br />
Hamburg September 2010
XING<br />
3
XING ist das führende europäische<br />
Onl<strong>in</strong>e-Bus<strong>in</strong>ess-Netzwerk
50<br />
Releases im Jahr<br />
~120<br />
Mitarbeiter im <strong>Eng<strong>in</strong>eer<strong>in</strong>g</strong>
Produktentwicklung @ XING<br />
2007<br />
Die Ausgangssituation<br />
7
…<br />
Wenig und/oder<br />
Unstrukturierte<br />
Kommunikation<br />
!
Unflexibles & <strong>in</strong>transparantes<br />
Anforderungs- & Changemanagement
Ineffizientes<br />
Risikomanagement
Mediz<strong>in</strong> gesucht<br />
Agile (SCRUM & Kanban)<br />
gefunden
Produktentwicklung @ XING<br />
2008<br />
Die Transformation<br />
12
http://www.agilemanifesto.org<br />
14
Von schriftlicher zu<br />
verbaler Kommunikation
Potential shippable code<br />
Wir liefern!
Vom<br />
Push zum Pull<br />
FIX<br />
Traditionell<br />
Agil<br />
Features Ressourcen Zeitplan<br />
VARIABEL<br />
Ressourcen Zeitplan Features
Was wir<br />
gelernt haben<br />
19
Fachliche & soziale<br />
Teambalance
Öfter mal <strong>in</strong>nehalten.<br />
Reflektion ist das A und O<br />
• s<strong>in</strong>d wir zu faul <strong>in</strong> unserer Kommunikation geworden<br />
• haben sich „schlechte Gewohnheiten“ e<strong>in</strong>geschlichen<br />
• s<strong>in</strong>d wir so produktiv wie wir se<strong>in</strong> könnten<br />
22
Anpassungen <strong>in</strong> der<br />
Produktorganisation<br />
• Das soll heute mal nicht unser Thema se<strong>in</strong>.<br />
Hier nur e<strong>in</strong> L<strong>in</strong>k<br />
http://www.svproduct.com/
Werkzeuge auf dem<br />
Prüfstand<br />
• Spezifikation nur auf Post-Its – das<br />
funktioniert nicht!<br />
• Word ist irgendwie aber auch ke<strong>in</strong><br />
s<strong>in</strong>nvolles Tool für die agile Spezifikation.<br />
• Könnten wir mit e<strong>in</strong>em Wiki arbeiten<br />
• Aber was schreiben wir da dann auf Und<br />
<strong>in</strong> welcher Struktur
Hilfe<br />
26
Fraunhofer<br />
IESE<br />
27
01<br />
Fraunhofer IESE Kaiserslautern<br />
• Führendes Institut für<br />
Software <strong>Eng<strong>in</strong>eer<strong>in</strong>g</strong><br />
– Nr. 1 <strong>in</strong> Europa (JSS 1 Rank<strong>in</strong>g)<br />
– Nr. 3 weltweit (CACM 2 Rank<strong>in</strong>g)<br />
• Gegründet 1996<br />
• 110 Vollzeitmitarbeiter, 90 Teilzeitmitarbeiter<br />
• Fachabteilungen für alle Phasen des<br />
Lebenszyklus von Software basierten Produkten<br />
• Vier anwendungsbezogene Geschäftsbereiche<br />
• Forschungsschwerpunkte<br />
– Spitzencluster „Software<strong>in</strong>novationen für<br />
das digitale Unternehmen“<br />
– Mobile Bus<strong>in</strong>ess Informationssysteme<br />
– Digitale Warenflüsse (Projekt ADiWa)<br />
– Fahrzeugtechnik<br />
– eEnergy & Assisted Liv<strong>in</strong>g<br />
Die Fraunhofer-Gesellschaft:<br />
80 Forschungse<strong>in</strong>richtungen weltweit<br />
davon 59 Institute <strong>in</strong> Deutschland<br />
17.000 Mitarbeiter<br />
1<br />
Journal of Systems and Software, Rank<strong>in</strong>g 2006<br />
2<br />
Communications of the ACM, Rank<strong>in</strong>g 2007
02<br />
Organigramm<br />
Executive<br />
Director<br />
Prof. Dr. D. Rombach<br />
Scientific Director<br />
Prof. Dr. P.<br />
Liggesmeyer<br />
Deputy Director<br />
Prof. Dr. F.<br />
Bomarius<br />
Bus<strong>in</strong>ess Areas<br />
Divisions<br />
Automotive and<br />
Transportation Systems<br />
Ralf Kalmar<br />
Automation &<br />
Plant <strong>Eng<strong>in</strong>eer<strong>in</strong>g</strong><br />
Dr. Daniel Görlich<br />
Medical Systems &<br />
Health Management<br />
Daniel Kerkow<br />
Rolf van Lengen<br />
Embedded Systems (ES) Dr. M. Trapp<br />
Embedded Systems Development (ESD)<br />
Embedded Systems Quality Assurance (ESQ)<br />
Process Management (PM) Dr. J. Münch<br />
Processes, Measurement and Improvement (PMI)<br />
Data Management & Ambient Technologies (DAT)<br />
Information Systems (IS) Dr. J. Dörr<br />
Information Systems<br />
F<strong>in</strong>ance • Software • Defense • eGovernment<br />
Michael Ochs<br />
Information Systems Development (ISD)<br />
Information System Quality Assurance (ISQ)
03<br />
Unser Ansatz für Informationssysteme<br />
Assess<br />
Analytischer<br />
E<strong>in</strong>stieg<br />
Release<br />
Zielgerichtete E<strong>in</strong>führung<br />
und nachhaltiger<br />
Roll-out<br />
Def<strong>in</strong>e<br />
Def<strong>in</strong>ition und<br />
Konzeption nach<br />
Kundenzielen<br />
generiert zielgerichtet Nutzen durch Anwendung <strong>in</strong><br />
Innovate<br />
Entwicklung von<br />
Verbesserungen<br />
und Innovationen<br />
analytisch<br />
konstruktiv<br />
<strong>in</strong>novativ<br />
PM<br />
Process Management<br />
Measurement/KPIs<br />
Process Improvement<br />
Education & Tra<strong>in</strong><strong>in</strong>g<br />
Experience Management<br />
IS<br />
<strong>Requirements</strong> Elicitation & Management<br />
Architectures<br />
User Experience & Usability<br />
Quality Assurance (Inspections & Test<strong>in</strong>g),<br />
IT Security<br />
Wettbewerbsfähige Produktivität & Qualität für Informationssysteme<br />
PM: Division Process Management<br />
IS: Division Information Systems
Kooperationsformen, typische Arbeiten und<br />
Projekte<br />
• Methodenentwicklung und -validierung<br />
• Toolentwicklung (prototypisch)<br />
• Technologietransfer / Prozesse<strong>in</strong>führung<br />
• Qualitätsanalyse, Assessments<br />
• Prozessberatung, Produktentwicklung<br />
• Anforderungsentwicklung und -bewertung<br />
• Architekturentwicklung und -bewertung<br />
• GUI-Design nach User Experience Pr<strong>in</strong>zipien<br />
(Interaktion und visuelles Design)<br />
• Aus- und Weiterbildung<br />
Studien<br />
Workshops<br />
Tra<strong>in</strong><strong>in</strong>gs<br />
Ausbildung<br />
E<strong>in</strong>zelprojekte, z.B.<br />
• <strong>Best</strong>andsaufnahmen<br />
• Analysen<br />
• Prozessverbesserung<br />
• Produktverbesserung<br />
• Methodene<strong>in</strong>führung<br />
Auftragsentwicklung<br />
und Konzeption, z.B.<br />
• Methoden & Prozesse<br />
• Anforderungen<br />
• Architekturen<br />
• Testen<br />
Auftrags- und Konsortialforschung:<br />
neue Konzepte,<br />
Methoden und Werkzeuge<br />
• Research Labs<br />
• Forschungsprojekte<br />
(BMBF, EU, …)<br />
04
05<br />
Ziel: Entwicklung KMU-tauglicher<br />
Rahmenwerke für frühe SW-Phasen<br />
(Fördernummer: 01 IS C02 A-D)
06 „ReqMan“ – e<strong>in</strong> Forschungsprojekt<br />
• Teil der „Software <strong>Eng<strong>in</strong>eer<strong>in</strong>g</strong> 2006“<br />
Initiative (BMBF (M<strong>in</strong>istry for Education and<br />
Research) Fördernummer: 01 IS C02 A-D)<br />
• Ziel: Entwicklung e<strong>in</strong>es <strong>in</strong>tegrierten<br />
und für KMUs anwendbaren<br />
Prozessrahmenwerks für die frühen<br />
Phasen der SW-Entwicklung<br />
– <strong>Requirements</strong>-Management<br />
– Reuse-Management<br />
– Project-Management<br />
– Quality-Management
07<br />
The ReqMan1) Framework<br />
• <strong>Best</strong> <strong>Practice</strong>s des <strong>Requirements</strong> <strong>Eng<strong>in</strong>eer<strong>in</strong>g</strong><br />
• Management, Erhebung<br />
• Analyse, Spezifikation<br />
• Verification & Validation<br />
• Prozess-Bauste<strong>in</strong>e anstatt Standardprozesse<br />
• Bereitstellung von Praktiken, Techniken, Hilfsmitteln<br />
• Kooperatives Self-Assessment / -Improvement<br />
• Unternehmen bewerten sich selbst und suchen sich<br />
selbst Verbesserungen aus<br />
• Orientiert sich an den Gegebenheiten des<br />
Unternehmens<br />
• <strong>Best</strong> <strong>Practice</strong>s werden <strong>in</strong>krementell e<strong>in</strong>geführt
08<br />
The ReqMan1) Framework<br />
n:1<br />
Aktivitätsphasen (WANN)<br />
Praktiken (WAS)<br />
n:m<br />
n:m<br />
Techniken (WIE)<br />
Prozessbauste<strong>in</strong>e anstelle von Standardprozessen
09 „ReqMan“ – the Framework<br />
Basispraktik<br />
Optimierungs-<br />
Praktik<br />
Aufbau-<br />
Praktik<br />
Kontext-<br />
Praktik
Geme<strong>in</strong>sames<br />
Vorgehen<br />
38
01<br />
Wie wir bei XING ReqMan e<strong>in</strong>geführt hat...<br />
2Q2008 3Q2008 3Q2008<br />
ReqMan Workshop<br />
Auswahl geeigneter<br />
ReqMan Praktiken<br />
massgeschneidertes<br />
ReqMan<br />
Tra<strong>in</strong><strong>in</strong>g<br />
Coach<strong>in</strong>g für Product<br />
Manager<br />
• Focus: Events-project<br />
(SCRUM)<br />
• Determ<strong>in</strong>ation of PCB on<br />
<strong>Requirements</strong> <strong>Eng<strong>in</strong>eer<strong>in</strong>g</strong><br />
(c.f. ReqMan slide forward)<br />
1.Task-oriented<br />
<strong>Requirements</strong><br />
Documentation<br />
2.Non-functional<br />
<strong>Requirements</strong><br />
3.Req.s <strong>Eng<strong>in</strong>eer<strong>in</strong>g</strong> & SCRUM<br />
4.Wiki-based Documentation<br />
5.<strong>Requirements</strong> Prioritization<br />
• Tra<strong>in</strong><strong>in</strong>g for the first 10<br />
Product Managers<br />
Coach<strong>in</strong>g for the Product<br />
Managers on<br />
• Task-oriented <strong>Requirements</strong><br />
Documentation<br />
• Wiki-based Documentation<br />
4Q2008<br />
1Q2009<br />
4Q2009<br />
„today“<br />
2. massgeschneidertes<br />
ReqMan<br />
Tra<strong>in</strong><strong>in</strong>g<br />
Coach<strong>in</strong>g für Product<br />
Manager<br />
3. massgeschneidertes<br />
ReqMan<br />
Tra<strong>in</strong><strong>in</strong>g<br />
Coach<strong>in</strong>g für Product<br />
Manager<br />
• Tra<strong>in</strong><strong>in</strong>g for additional 12<br />
XING employees, <strong>in</strong>cl.<br />
Product Managers and<br />
Eng<strong>in</strong>eers<br />
Coach<strong>in</strong>g for<br />
• Task-oriented <strong>Requirements</strong><br />
Documentation<br />
• Wiki-based Documentation<br />
• Req.s <strong>Eng<strong>in</strong>eer<strong>in</strong>g</strong> & SCRUM<br />
• Tra<strong>in</strong><strong>in</strong>g for the rema<strong>in</strong><strong>in</strong>g<br />
Product Managers and add.<br />
Eng<strong>in</strong>eers, resp. QA<br />
• Discussion on the role of<br />
product managers<br />
•Refactor<strong>in</strong>g of UC 1) specs<br />
• User Experience (UX)<br />
1Q2009<br />
2Q2009<br />
Review der XING<br />
Architecture<br />
Szenario-basierte<br />
Evaluation<br />
der Architecture<br />
•Focus: Payment<br />
Architecture<br />
• Architecture WS<br />
• <strong>in</strong>dividual Interviews with<br />
stakeholders from Arch. WS<br />
1)<br />
Use Case
Zentral den<br />
Werkzeugkasten befüllen,<br />
aber die Teams ihre endgültige<br />
Arbeitsweise selbst bestimmen lassen.
03<br />
E<strong>in</strong> Beispiel aus der Praxis
E<strong>in</strong>heitliche Projekt/Produkt-Dokumentation im<br />
04 Wiki
05<br />
AS-IS/TO-BE Betrachtungen durch Flowcharts
06<br />
UseCases<br />
1.<br />
3.<br />
4.<br />
2.
07<br />
The Backlogitem<br />
5.
08<br />
Das Tim<strong>in</strong>g im Agilen Entwicklungsprozess<br />
Product<br />
Konzeption<br />
Product<br />
Discovery<br />
&<br />
Spezifikation<br />
Product<br />
Execution<br />
Spr<strong>in</strong>t<br />
1<br />
Spr<strong>in</strong>t<br />
2<br />
Spr<strong>in</strong>t<br />
3<br />
Spr<strong>in</strong>t<br />
4<br />
Spr<strong>in</strong>t<br />
5<br />
46
09<br />
„ReqMan“ und Scrum<br />
Basispraktik
Zusammengefasst<br />
48
01<br />
Was wir erreicht haben...<br />
• Verfestigung von Wissen…<br />
• Konsistente Anforderungsdokumentation mit Wikis<br />
• Aufgabenorientiertes Anforderungs <strong>Eng<strong>in</strong>eer<strong>in</strong>g</strong> und Strukturiertes<br />
Aufschreiben von Anforderungen<br />
• Ausgewählte Anforderungs <strong>Eng<strong>in</strong>eer<strong>in</strong>g</strong> Techniken<br />
– Erhebung und Modellierung von Nicht-Funktionalen Anforderungen<br />
(NFRs)<br />
– Ereignisgesteuerte Prozess Ketten (EPKs) und Use Cases (UML und<br />
Tabellarisch)<br />
• Identifikation der XING Produkt Domänen<br />
• Anforderungs <strong>Eng<strong>in</strong>eer<strong>in</strong>g</strong> und SCRUM<br />
• Relevante und notwendige Artefakte<br />
des Anforderungs <strong>Eng<strong>in</strong>eer<strong>in</strong>g</strong>s s<strong>in</strong>d<br />
auf SCRUM Phasen abgebildet<br />
• Artefakte für das Product Backlog<br />
• Artefakte für das Spr<strong>in</strong>t Backlog
Vielen<br />
Dank<br />
für Ihre<br />
Aufmerksamkeit
Thank you<br />
for your k<strong>in</strong>d attention!<br />
Presentation Titel | Author | City, 12/10/2010 51