Advertisement

AG Softwaretechnik

Roland M
Software Architect at Moriz GmbH
Jul. 18, 2012
Advertisement

More Related Content

Similar to AG Softwaretechnik(20)

Advertisement

AG Softwaretechnik

  1. http://ag-softwaretechnik.de/ Der Plan™ Idee, Motivation, Strategie
  2. http://ag-softwaretechnik.de/ Situation BundesIT • infrastrukturell überfordert • zeitlich überfordert • teils fachlich überfordert • „Software-Entwicklung“ Randthema
  3. http://ag-softwaretechnik.de/ Situation BundesIT • infrastrukturell überfordert ng en tw ic • zeitlich überfordertklu eu en h. •Nteils fachlich überfordert c tis rea lis un • „Software-Entwicklung“ Randthema
  4. http://ag-softwaretechnik.de/ Situation Software Bund und Landesebenen Primär: Anpassungen • Wordpress • Lime Survey • Drupal • … • MediaWiki • … • EtherPad Lite • …
  5. http://ag-softwaretechnik.de/ Eigenentwicklungen Bund und Landesebenen • Clearingstelle • von Alios in Haskell. • PiratenID • von Jan S. in PHP • ohne Trennung Code/HTML, 0 Tests, etc.
  6. http://ag-softwaretechnik.de/ Eigenentwicklungen Bund und Landesebenen • Liquidizer und co. • Java • undokumentiert, ohne Tests.
  7. http://ag-softwaretechnik.de/ Ausser Konkurrenz • Liquid Feedback • externe Entwicklung • lua, haskell, c • keine Tests, keine Dokumentation
  8. http://ag-softwaretechnik.de/ Ausser Konkurrenz 2 • Saftige Kumquat • Frontend für Liquid Feedback 2 • node.js • keine Tests, keine Dokumentation • erstes node.js Projekt der Entwickler (laut eigener Aussage)
  9. http://ag-softwaretechnik.de/ Probleme • zwischen 1-3 aktiven Entwicklern • nahezu undokumentiert • nahezu ohne Tests • oftmals „zu viel Eigenentwicklung“
  10. http://ag-softwaretechnik.de/ Zu viel Eigenentwicklung • Etablierte Frameworks ignoriert • Etablierte Bibliotheken ignoriert • Rad selbst neu erfinden • „schlauer sein“ • „only learning by doing“
  11. http://ag-softwaretechnik.de/ Zu viel Eigenentwicklung Probleme: • „Community Review“ fehlt • Übersehen von Standards • kompliziertes Deployment/Ops • Abhängigkeit von 1-2 Entwicklern über den „reinen Zweck“ der Anwendung hinaus (zB. Webframework)
  12. http://ag-softwaretechnik.de/ Zu viel Eigenentwicklung Probleme #2: • Obskuritäten erschweren Einarbeitung • Hohe Hürden für Interessierte Mitentwickler • Know-How nicht übertragbar
  13. http://ag-softwaretechnik.de/ Zu viel Eigenentwicklung Fazit: • Alles hängt an einzelnen Personen • Partei macht sich abhängig • Mitarbeit wird (in)direkt verhindert • keiner kommt „lebend heraus“ (=> kein Nachfolger => Von Vorne.)
  14. http://ag-softwaretechnik.de/ Zu viel Eigenentwicklung Fazit: en • Alles hängt an einzelnen Personen ng • Partei machtwic klu e ue nt sich abhängig h. N ist c isverhindert re al • Mitarbeit wird (in)direkt un Situation nicht „lebend • die aus der herauskommen“ (=> kein Nachfolger)
  15. http://ag-softwaretechnik.de/ Erfolgreiche OpenSource Projekte (der letzten Jahre) • strenge Regeln (Architektur, Formatierung, Projektziel) • starke Integration von Nutzern (Kollaboration, Bugtracking) z.B. durch GitHub • Hohe Ansprüche an Tests und Dokumentation
  16. http://ag-softwaretechnik.de/ Erfolgreiche OpenSource Projekte Erstaunliches Resultat: • Mitarbeit steigt nachhaltig • Bugs werden schneller gefixt • Projekt-Konsens ist „größer“, demokratischer • Kommunikation steigt
  17. Erfolgreiche OpenSource Projekte Erstaunliches Resultat: • Transparente Arbeitsweise und Kritik hilft Neueinsteigern besser, sich in Projekte einzufinden • Tools helfen dabei, diese Kommunikation zu vereinfachen • Qualität steigt!
  18. http://ag-softwaretechnik.de/ „Bozo Explosions“ • A player hire A+ player, B player hire C player hire ... Z player • was Steve Jobs sagte :-)
  19. Politische Relevanz • US-Präsidentschaft 2008/Obama • Bundestagswahl 2009 • AGH-Wahl 2011 • US-Präsidentschaft 2012
  20. http://ag-softwaretechnik.de/ Beispiele Deutschland • Schuldenuhr Berlin iPhone App von @plaetzchen • „3 Tage Wach“ der Grünen • 2009: „PiratenVogel“ auf Twitter.
  21. http://ag-softwaretechnik.de/ Beispiele Deutschland mp f-App von • ka Schuldenuhr Berlin, iPhone a hl W @plaetzchen ru ng • „3 Tageobili wach“ der e siGrünen M • …
  22. „Wir sind eine Partei — keine Softwarebude!“ • Erheben technologischen Anspruch • haben kein Geld für externe Entw. • stehen für ortsungebundene Teilnahme • haben aber massive organisatorische Probleme damit: „People don‘t scale.“
  23. http://ag-softwaretechnik.de/ ungenutzte Chancen • Knowledge-Management • Neupiraten-Information • Organisation • Automatisierung d. Kommunikation • Dynamische Koordination
  24. http://ag-softwaretechnik.de/ ungenutzte Chancen • politische Arbeit • Jenseits von Etherpad, LimeSurvey und Liquid Feedback • Thematische Kampagnen-Apps • Crowdsourcing/Bürgerfeedback
  25. http://ag-softwaretechnik.de/ ungenutzte Chancen • uvm. etc. pp.
  26. http://ag-softwaretechnik.de/ Voraussetzungen • Verlässliche Infrastruktur • Automatisierung der Entwicklung • Praxiserprobte Technologien • Dokumentation und Tests zur Transparenz und gegen „Wissensmonopole“ (Lock-in)
  27. http://ag-softwaretechnik.de/ Voraussetzungen • Verlässliche Infrastruktur • Automatisierung der Entwicklung + Wissen, Erfahrung & Fleiss • Praxiserprobte Technologien • Dokumentation und Tests zur Transparenz und gegen „Wissensmonopole“ (Lock-in)
  28. Wie erreicht man die Zielgruppe? • „Kein Scheiss-Policy“. No Holy Wars. • Wenig Experimente • Klar definiertes und limitiertes Engagement (keine „Helden“) • Community-übliche Qualität
  29. http://ag-softwaretechnik.de/ Freiheiten • AG Softwaretechnik ist nur eine Möglichkeit. • Kein „Alleinanspruch“ / Zentralismus • Offen für Technologien, die community-/marktübliche Qualitätsanforderungen erfüllen.
  30. http://ag-softwaretechnik.de/ Qualität • Agile Vorgehensweise (Kanban, Scrum, XP) • Automatisierte Tests • Lebende Dokumentation • Erleichtert die Entwicklung, Wartung, Wissenstransfer, Review/Audit.
  31. http://ag-softwaretechnik.de/ Qualität • Somit klares Zeitmanagement • Auch für berufstätige Vollzeitentwickler • welche nur ein kleines Maß an Zeit übrig haben.
  32. http://ag-softwaretechnik.de/ Grundlagen schaffen. • Technologieteams in „Stacks“ organisieren. • Basisinfrastruktur schaffen die alle Teams nutzen können. • Rapid Application Development
  33. http://ag-softwaretechnik.de/ Qualität • Klares Zeitmanagement. • Berufstätige Entwickler einschliessen. • Zeit ist teuer. Effiziente Zeit-Nutzung.
  34. http://ag-softwaretechnik.de/ Qualität tre ss. • ni ge rS Klares Zeitmanagement. W e tre it. • ige rS Berufstätige Entwickler einschliessen. en Effiziente Nutzung. . W teuer. en • Zeit ist er Ri sik W en ig
  35. http://ag-softwaretechnik.de/ Fundamente • Planung • Entwicklung • Betrieb
  36. http://ag-softwaretechnik.de/ Planung • Wer soll es benutzen? • Wer definiert die Anforderungen? • Wer begleitet die Entwicklung? • Ansprechpartner • Realistische Erwartungen
  37. http://ag-softwaretechnik.de/ Entwicklung • GitHub • Automatisierte Tests, ggf. Test Driven Development • Kanban (z.B. Trello)
  38. http://ag-softwaretechnik.de/ Betrieb • Wo läuft die Anwendung später? • Wer stellt Ressourcen? • Setup/Wartung? • Deployment?
  39. http://ag-softwaretechnik.de/ Disziplin! • YAGI — You aint gonna need it! • KISS — Keep it simple, stupid. • DRY — Don‘t repeat yourself. • It‘s a problem, when it‘s a problem.
  40. http://ag-softwaretechnik.de/ Disziplin! • Lösungen finden • keine neuen Probleme suchen. • Deadline: Maximale Projektdauer.
  41. http://ag-softwaretechnik.de/ Vorstellung Stack #1 (Hier kenne ich mich sehr gut aus ;-) • Ruby 1.9 • Ruby on Rails 3.2 • Twitter Bootstrap • SQLite3, MySQL, PostgreSQL • Deployment mit Capistrano ggf. DevOps mit „chef“
  42. http://ag-softwaretechnik.de/ Vorstellung Stack #2 durchdachte, gleichwertige Alternativen? • ??? • ??? • ??? • ??? • ???
  43. http://ag-softwaretechnik.de/ DevOps Gescriptetes Operations • chef, puppet, … • hängt vom „Hoster“/“Zulieferer“ ab (LandesIT, BundesIT, …)
  44. http://ag-softwaretechnik.de/ Ambitioniert? • Sicher :-)
  45. http://ag-softwaretechnik.de/ Wenn keiner will? • Ich habe gefragt. • Ich kann delivern. • Wenn Leute nicht wollen… …überlasse ich sie ihrem Schicksal :-) (Denn ich habe absolut keine Lust mehr, meine (Frei-)Zeit mit Frickel-Scheiss zu verschwenden. Sorry.)
  46. http://ag-softwaretechnik.de/ Wenn keiner will? • Ich habe gefragt. • Ich kann delivern. • Wenn Leute nicht wollen… …überlasse ich sie ihrem Schicksal :-) (Denn ich habe absolut keine Lust mehr, meine (Frei-)Zeit mit Frickel-Scheiss zu verschwenden. Sorry.)
  47. ag-softwaretechnik.de …mitmachen!
Advertisement