[pypy-svn] r21582 - pypy/extradoc/talk/22c3

hpk at codespeak.net hpk at codespeak.net
Wed Dec 28 09:43:01 CET 2005


Author: hpk
Date: Wed Dec 28 09:42:59 2005
New Revision: 21582

Added:
   pypy/extradoc/talk/22c3/slides-agility.txt   (contents, props changed)
Log:
rough merge - work in progress


Added: pypy/extradoc/talk/22c3/slides-agility.txt
==============================================================================
--- (empty file)
+++ pypy/extradoc/talk/22c3/slides-agility.txt	Wed Dec 28 09:42:59 2005
@@ -0,0 +1,296 @@
+============================================================
+Open Source, EU Funding and Agile Methods
+============================================================
+
+:Authors: Bea During (changemaker), Holger Krekel (merlinux) 
+:Date: 29th December 2005 
+
+how it got started  
+==================================================
+
+- 2003 first emails between Armin Rigo, Christian Tismer and
+  Holger Krekel 
+- participated in zope3 coding events ("sprints")
+- initial invitation for a one-week sprint to Trillke, Hildesheim 
+- participants got to know each other at conferences
+- goal: Python implementation in Python (various motivations)
+
+key elements of the technical development
+==================================================
+
+- test-driven from the start
+- driven by architectural experiences
+- welcomed by python community (just ask for name for a
+  project :) 
+- based on zen of python / python culture 
+- focus on correctness of concepts, then speed 
+
+python community 
+==================================================
+
+- strong open-source cultural background 
+- strong focus on glue & integration esp. with C-libraries 
+- few flaming fights inside / much collaboration
+- has many windows and unix hackers 
+  
+evolving agility 
+==================================================
+
+- all large python projects rely and depend on automated testing 
+- several projects regularly "sprint" and work together distributedly 
+- first community conference EuroPython in 2002 (now yearly)
+- many test tools and methods available
+
+PyPy test-driven development 
+==================================================
+
+- identify problems/evolution by tests first 
+- our own testing and development tools 
+- rule: first get the semantics and concepts right! 
+  optimize later!
+- today around 3000 tests (plus CPython regression tests)
+
+PyPy's evolution as a project 
+==================================================
+
+- 2003: four one-week meetings, basic architecture evolved 
+- mid 2003: realisation that we'd need to work 
+  full time on it to make it succeed
+- idea for EU funding was born! 
+- collaborative work on a proposal ...
+
+EU funding
+==================================================
+
+- proposal got good reviews from EU contracted experts 
+- negotiation and finalisation: 1 year! 
+- Dec. 2004 EU contract starts
+- 2 year project, 1.3 Million Euro funding 
+- contractual framework + reporting obligations 
+
+individuals ... need to organise 
+==================================================
+
+- PyPy was first and still is a network of people
+- but EU only funds organisations 
+- two companies were founded
+- 7 partners form the EU consortium: 6 companies, 1 university
+
+balance of interests 
+==================================================
+
+- developers want to (continue to) drive the project
+- companies have to co-finance 50% of all costs
+  (travel/salary), commercial interests
+- EU wants challenging research goals and tracking of goals 
+
+- **at all levels it is about finding 
+  models for co-operation that fit**
+
+free co-operation basics 
+==================================================
+
+- Christoph Spehr's "foundation of free co-operation": 
+- negotiate any model you want (including dictatorship) 
+- question and change rules and roles at any time
+- everyone can "leave" the co-operation without penalty
+- leaving party taking a share with him/her
+
+developers collaboration  
+==================================================
+
+- weekly 30 minute synchronisation meetings 
+- open collaborative open-source work style 
+- representation through Trusted "Technical Board" 
+  within the EU project 
+- research/architecture informally guided by accepted experts 
+
+company collaboration 
+==================================================
+
+- contractually through the EU consortium 
+- exchange of knowledge and people, shared tools 
+- evolving commercial opportunities 
+  US companies asking for consulting (test tool)
+  or wanting to hire/pay developers on pypy related tools
+
+Core of Agile practises: the people factor
+============================================================
+
+- "Agile processes are designed to capitalize on each
+  individual and each team´s unique strenghts" (Cockburn, Highsmith, 2001)
+- OSS nature of teams: self-organized, intensely 
+  collaborative - fit the agile approach
+- OSS teams are an unique implementation of agile practices - why?
+
+Picture: man on the moon
+
+Agile approaches aim at:
+============================================================
+
+* reducing ... "cost of information",distance from decision-making
+* by ... physical location, unorthodox dissemination
+* resulting in ... improved sense of community, team "morale"
+
+Origins of sprinting
+============================================================
+
+- Scrum (Agile community): 1 month long iteration of
+  development work, increments (also supporting activities:
+  planning, documentation, tracking work, evaluation)
+
+- Zope Foundation (Python Community): "two-day or three-day
+  focused development session, in which developers pair off
+  together in a room and focus on building a particular
+  subsystem".    
+   
+PyPy sprints
+============================================================
+- The project "started" during a sprint
+- Changing facilities and location as a strategy (Vilnius,
+  Lovain LeNeuve, Leysin, Gothenburg, Paris, Heidelberg,
+  Hildesheim, Washington etc)
+- The nature of sprints have evolved since the project started
+  2003 and since recieving partial EU-funding 2004/2005
+   
+Bidding for the EU-funding
+============================================================
+- Project needed to reach critical mass, EU needed novel
+  compiler design techniques in OSS contexts
+
+- Proposal was written during sprints as well as distributed
+  (submitted Oct 2003)
+- Negotiations in Brussels (March 2004): key issues being 30% cuts in budget and  denied procedures for funding contribution
+- Project "started" 1 Dec 2004: troubles with creating
+  consortium agreement fitting the OSS structure needed
+
+Organising the consortium
+============================================================
+- 7 partners, 3 previously not involved in the PyPy community
+- 2 new companies: "forced" entrepreneurship
+- All partners but one partially funded (50% cost models)
+- Less than 5% of the involved developers was covered by this partial funding
+
+Organising the work
+============================================================
+- 14 workpackages and 58 deliverables, 3 phases 
+- Need for consortium meetings every month (IRC)
+- Sprints every 6th week (coordinating development and management work)
+
+The different cultures of the PyPy project
+============================================================
+- OSS (Python) culture (agile and distributed workstyle)
+- EU project culture
+- Traditional project management culture
+- Chaospilot (actionlearning and process design) culture
+- 3 different national cultures
+
+The challenge: managing diversities part 1.
+============================================================
+- Formal project organization vs developer driven process
+		- management team, technical board and partners
+		- sprint organising
+- Resulting in: increased risk of added workload of management
+  work on core developers 
+
+The challenge: managing diversities part 2.
+============================================================
+- Formal EU requirements vs agile strategies
+		- written high level requirements
+		- change control structures complicated
+- Resulting in:increased risk of missing opportunities and not
+  creating/reacting to change fast enough
+
+The challenge: managing diversities part 3.
+============================================================
+- OSS community vs "conceptual integrity"
+		- pypy-dev/core developers in technical board
+		- industrial usage vs research oriented work
+- Resulting in: increased risk for unbalancing the community
+
+Picture: chaos vs structure
+
+
+problems and perspectives 
+==================================================
+
+- confrontation with people from 
+- same planet, different place 
+- different planet
+- different solar system 
+- ...
+- what follows is slightly abstracted ... 
+
+working with people from the same planet 
+==================================================
+
+- generally shared perspectives (synchronised 
+  rotation around a common center) on project success 
+- different continents can be hard enough
+- potential for misunderstanding/friction 
+
+different planet 
+==================================================
+- shared view regarding the center (project success) 
+- quite different working perspectives / methods
+  (e.g. "open-source collaborative" versus "formal traditional")
+- potential for mistrust and dis-connection 
+
+different solar system 
+==================================================
+
+- missing shared focus on project success?!
+- alien or alienating interests 
+
+the universal truth is ...
+==================================================
+
+- often good intentions (!) even from aliens 
+- confrontation with lots of levels, planets and solar systems
+- the challenge is to find a fitting model for case-by-case co-operation! 
+- determine location in universe and try to match and
+  synchronize 
+
+cross-project pollination 
+==================================================
+
+- zope-europe 
+- dissemination: universities, IONA, Intel, HP ... 
+- Alan Kay / Squeak ... 
+
+business collaboration example: canonical 
+==================================================
+
+- founded and funded by Mark Shuttleworth (Thawte founder) 
+- drives infrastructure development for Ubuntu 
+- by now 30-50 developers worldwide 
+- main language is python 
+- weekly sync meetings / open-source collaborative work style 
+
+business collaboration example: merlinux 
+==================================================
+
+- founded just before the EU project (see last year's talk)
+- hires 8 people distributed across europe (and brasil)
+- weekly sync meetings 
+- looks for fitting contracting models, "making it fit"
+- it's not about products, but about viable solutions based on 
+  an efficient development model 
+
+.. |bullet| unicode:: U+02022
+.. footer:: Bea During, Holger Krekel |bullet| 22C3 |bullet| 29th December 2005 
+
+Conclusion
+============================================================
+- A shared and challenging vision
+- Respecting and "exploiting" strengths of the different cultures involved
+- Designing minimalistic project structures channeling work, not hindering work
+- Room for group learning and creating change - not just reacting to change
+- sprints 
+- how does that EU thing work 
+
+- EU review 
+
+- agile experiences from other projects 
+
+----------------



More information about the Pypy-commit mailing list