AWE13 - tzi.decabo/awe13/awe13-overview-reco.pdf · Week 1! Get people up and running in two days...

17
AWE13 Carsten Bormann

Transcript of AWE13 - tzi.decabo/awe13/awe13-overview-reco.pdf · Week 1! Get people up and running in two days...

Page 1: AWE13 - tzi.decabo/awe13/awe13-overview-reco.pdf · Week 1! Get people up and running in two days Give them all to be “feature-complete” in the first week 6 Mon Intro (look at

AWE13Carsten Bormann

Page 2: AWE13 - tzi.decabo/awe13/awe13-overview-reco.pdf · Week 1! Get people up and running in two days Give them all to be “feature-complete” in the first week 6 Mon Intro (look at

2

Warumgut für Dich und für Deine Firma istCarsten Bormann <[email protected]>

Page 3: AWE13 - tzi.decabo/awe13/awe13-overview-reco.pdf · Week 1! Get people up and running in two days Give them all to be “feature-complete” in the first week 6 Mon Intro (look at

Umfrage:

!Wer hat schon etwas von Ruby on Rails gehört?

!Wer hat es schon ausprobiert?

!Wer hat schon ein Projekt damit durchgeführt?

3

Page 4: AWE13 - tzi.decabo/awe13/awe13-overview-reco.pdf · Week 1! Get people up and running in two days Give them all to be “feature-complete” in the first week 6 Mon Intro (look at

4

Dynamische Programmiersprachen

! Perl (1987, Perl 5: 1994): aus sh, awk, sed; $-Zeichen! PHP (1995, PHP 4: 2000): gräßlicher Perl-Verschnitt! JavaScript (1995, aus Self 1986): die unterschätzte Sprache! Python (1990, 2.x: 2000): Europas Antwort auf Basic und Perl

! Ruby (1995): Japans Antwort auf Perl, Smalltalk und Lisp

Page 5: AWE13 - tzi.decabo/awe13/awe13-overview-reco.pdf · Week 1! Get people up and running in two days Give them all to be “feature-complete” in the first week 6 Mon Intro (look at

Webentwicklung

5

QuickSlowDirty

Clean

PHP

Java

Page 6: AWE13 - tzi.decabo/awe13/awe13-overview-reco.pdf · Week 1! Get people up and running in two days Give them all to be “feature-complete” in the first week 6 Mon Intro (look at

6

Was ist ?! Ruby-basiertes Webentwicklungs-Framework

! MVC: Model/View/Controller! CoC: Convention over Configuration

! DRY: Don’t repeat yourself! TDD: Test-Driven Development

Page 7: AWE13 - tzi.decabo/awe13/awe13-overview-reco.pdf · Week 1! Get people up and running in two days Give them all to be “feature-complete” in the first week 6 Mon Intro (look at

Opinionated Software

! Ansatz: „Extracted Framework“! Löst tatsächliche Probleme der Entwickler! Wird zeitnah weiterentwickelt! Nah am Stand der Technik (z.B. AJAX)

! Rails versucht nicht, alle Probleme zu lösen! Rails adressiert den „Sweet-Spot“

! „Rails Core“: kleine Gruppe unter Führung von DHH! DHH hat eine Nachricht an alle,

die nicht einer Meinung mit ihm sind...

7

Page 8: AWE13 - tzi.decabo/awe13/awe13-overview-reco.pdf · Week 1! Get people up and running in two days Give them all to be “feature-complete” in the first week 6 Mon Intro (look at

Argumente für Rails

!Produktivität (verglichen mit Java-Entwicklung):Im „Sweet Spot“: 5–20 fach

!Geringere Entwicklungszeiten

! (Durch Agilität) größere Nähe zu tatsächlichen Anforderungen

9

Page 9: AWE13 - tzi.decabo/awe13/awe13-overview-reco.pdf · Week 1! Get people up and running in two days Give them all to be “feature-complete” in the first week 6 Mon Intro (look at

Argumente für Rails

–Ofun10

Page 10: AWE13 - tzi.decabo/awe13/awe13-overview-reco.pdf · Week 1! Get people up and running in two days Give them all to be “feature-complete” in the first week 6 Mon Intro (look at

Glückliche -Entwickler

!Arbeiten produktiver!Machen weniger Fehler!Hinterlassen beim Kunden einen besseren

Eindruck

!Kündigen nicht11

Page 11: AWE13 - tzi.decabo/awe13/awe13-overview-reco.pdf · Week 1! Get people up and running in two days Give them all to be “feature-complete” in the first week 6 Mon Intro (look at

Entwickler, die beherrschen

!Haben mehr Spaß an der Arbeit!Sind weniger gestreßt!Kriegen die interessanteren Aufgaben

!Behalten ihren Job

12

Page 12: AWE13 - tzi.decabo/awe13/awe13-overview-reco.pdf · Week 1! Get people up and running in two days Give them all to be “feature-complete” in the first week 6 Mon Intro (look at

Ruby on Rails @ Uni Bremen

! Master-level, 6 CP (ECTS)

! Master-/Diplomstudis... und alle, die sich fit genug fühlen

! Nicht nur Rails, sondern auch Methodik der

Anwendungsentwicklung für das Web

! Vorgehen: Projektorientiert

! „Agile Web-Entwicklung“ (AWE)

! Direkte Umsetzung von Kundenanforderungen in Software

3

Page 13: AWE13 - tzi.decabo/awe13/awe13-overview-reco.pdf · Week 1! Get people up and running in two days Give them all to be “feature-complete” in the first week 6 Mon Intro (look at

AWE13

! Vorkurs: 29.01., 07.02.: 18:00–21:00 im MZH 1460 13.02.: 16:00–19:00 im MZH 5210! Übungsaufgaben zur eigenen Bearbeitung

! Kompaktkurs: 18.02.–02.03.2012! 09–21 h in der Großen Halle des Volkes (P2)! 12 Tage (inkl. 2 Sonnabende)! Vorlesung, Projekt, Kommunikation, Ergebnisse

14

INTENSIV

Page 14: AWE13 - tzi.decabo/awe13/awe13-overview-reco.pdf · Week 1! Get people up and running in two days Give them all to be “feature-complete” in the first week 6 Mon Intro (look at

Week 1

! Get people up and

running in two days

! Give them all to be

“feature-complete” in

the first week

6

Mon Intro (look at what I’m not doing), motivation, overview

Get to know Rails

Learn the environment

Tue Migrations

Basic Agile Development

Understand the customer

Wed More about views and controllers; AR, Validation; SQL; Security

Thu AJAX

RJS

Fri (More about TDD)

Lead into a weekend of work

Sat Sprint

Page 15: AWE13 - tzi.decabo/awe13/awe13-overview-reco.pdf · Week 1! Get people up and running in two days Give them all to be “feature-complete” in the first week 6 Mon Intro (look at

Week 2

! Three more days of

refinements

! Focus is on project

completion

7

Mon Unicode

Internationalization in Rails

Tue REST

Wed More Security

Performance, Deployment

Thu Finishing

Fri Project presentations

Sat Finishing

*)

*) Terminliche Improvisation absehbar

Page 16: AWE13 - tzi.decabo/awe13/awe13-overview-reco.pdf · Week 1! Get people up and running in two days Give them all to be “feature-complete” in the first week 6 Mon Intro (look at

Bis zum 18.02.2012

! Drei Präsenztermine! 29.01., 07.02.: 18:00–21:00 im MZH 1460

13.02.: 16:00–19:00 im MZH 5210! Übungsaufgaben

! Unscharfe Aufgabenstellung, eigenverantwortliche Bearbeitung! Erfordert eigene Disziplin!! Bis 07.02. in Ruby laufen lernen! Bis 18.02. erste Rails-Erfahrung sammeln! Abgabe als (Pointer auf ein) Repository (!)

! Zweiergruppen bilden! Aufgaben in Paarprogrammierung oder einzeln bearbeiten!

18

Page 17: AWE13 - tzi.decabo/awe13/awe13-overview-reco.pdf · Week 1! Get people up and running in two days Give them all to be “feature-complete” in the first week 6 Mon Intro (look at

19