[pypy-svn] r26579 - pypy/extradoc/talk/agile2006
cfbolz at codespeak.net
cfbolz at codespeak.net
Sat Apr 29 21:46:08 CEST 2006
Author: cfbolz
Date: Sat Apr 29 21:46:05 2006
New Revision: 26579
Modified:
pypy/extradoc/talk/agile2006/ (props changed)
pypy/extradoc/talk/agile2006/draftpaper_agile2006.txt (contents, props changed)
Log:
fixeol + restification of paper. no content was changed
Modified: pypy/extradoc/talk/agile2006/draftpaper_agile2006.txt
==============================================================================
--- pypy/extradoc/talk/agile2006/draftpaper_agile2006.txt (original)
+++ pypy/extradoc/talk/agile2006/draftpaper_agile2006.txt Sat Apr 29 21:46:05 2006
@@ -1,163 +1,259 @@
-Title: "Trouble in Paradise: Open Source projects, EU-funding and Agile practices"
--------------------------------------------------------------------------------------
-
-Abstract:
-(200 words - write last)
-
-1.Introduction:
-This paper will present the story and the experiences gathered so far in the PyPy project concerning
-how to integrate such diverse perspectives as agile practices being used in a distributed and dispersed development
-style in an Open Source project that is partly funded by the European Union.
-
-The PyPy project started as a grass-root effort among core developers in the Python language community, aiming at
-building a Python implementation purely built in Python (todays main language implementation is based on C, called Cpython.
-It was a language implementation project that was purely driven from a non-profit perspective which
-increased in complexity when the Open Source project applied for EU-funding.
-We believe that the practice of sprinting,
-as being used in the PyPy project, makes Agile and Distributed/dispersed workstyles more possible to
-combine. We also believe it is a very useful practice for creating value and ensuring quality in a
-projects with hybrid cultures and methodologies. It is our aim to start to show-case this with
-experiences from the first funded year of PyPy, combining Agile and Distributed/dispersed
-Development in an Open Source Community with the Plan-driven approaches through EU-Funding.
-
-1.1 Project context
-Objectives:
-The Technical objective of the PyPy project is to build a implementation of the Open Source
-Programming Language in the Python language itself. By employing novel combinations of known
-techniques for building optimized compilers and interpreters the project will build an implementation
-of Python that is easier to read and understand than the existing implementations, while only paying
-a small performance penalty.
-
-The Scientific objectives of the project are to investigate a number of novel techniques based on
-Aspect Oriented Programming code generation and abstract interpretation for the implementation of
-practical dynamic languages The goal is to break the compromise between flexibility, simplicity and
-performance trade-offs and to expand the range of directly supportable runtime platforms.
-
-The Method objective is to showcase a novel software engineering process: Sprint Driven Development.
-This is an Agile methodology, providing a dynamic and adaptive environment, suitable for co-operative and
-distributed development.
-
-Strategy:
-The strategy of the project is to leverage the community of PyPy and Python through open and transparent
-communication and working style. The challenge has been to implement this strategy not only in the
-F/OSS community part of the project but also in the partially funded consortium structure of the project.
-The structure of the project and the consortium needed to adhere to this strategy while also conforming
-to the actual requirements of the 6th Framework Programme.
-
-The consortium consists of 8 partners: DFKI (Germany), Ab Strakt (Sweden), Logilab (France), merlinux GmbH
-(Germany), tismerysoft GmbH (Germany), Change Maker (Sweden) , Impara GmbH (Germany) and Heinrich Heine
-Universität Düsseldorf (Germany) and 4 physical person partners: Laura Creighton (Sweden), Richard Emslie (UK),
-Eric Van Riet Paap (Netherlands) , Niklaus Haldiman (Switzerland). The project effort of work for the 2 years of
-funding consists of 14 work-packages and in total 58 deliverables.
-
-History:
-Mid 2003 the idea of trying to get EU-funding for the project was born. It became clear that the project had an
-arbitrarily large scale and that receiving some funding would dramatically increase the pace and seriousness of the
-project - because funded developers can dedicate more of their time to the project. The involved developers and
-people stretched outside of the Open Source ecologies to try to gather as much information and contacts as
-possible in order to answer the question: "Should we go for it?" to which the answer quickly became "Let's see
-how far we get!".
-
-There had been a growing interest from the European Commission, IST division to look closer at the Open Source world
-and its achievements. Several funded research projects in the 5th framework programme studied the phenomenon
-(FLOSS-POLS, FLOSS) - its organization, business models and licensing. A few other funded software projects used
-Open Source in their work as tools (languages and applications). There was no previous experience of an Open Source
-community based project making a bid for funding.
-
-The areas in the 6th Framework programme (second call) fit very well with the objectives of PyPy.
-The idea of strengthening the European Software development companies and businesses with supporting
-an open source language implementation was new but appealing to the EU. However, being an Open Source
-project was not enough. The challenges and the idea of a flexible, configurable "translator" or
-"compiler" met the research targets of the FP6, as well as trying out and documenting the agile methodology
-being used.
-
-In short, we argued that EU funding allowed the project to go from reaching a critical mass and position
-to continue to evolve from there, and that it would help European organizations to make some ground.
-
-Acting on this strategy proved to be a more difficult task. The entire proposal and negotiation process took
-over a year (Autumn 2003 until November 2004).A proper description of planned work, necessary to satisfy
-formal requirements, had not previously been part of the development focus and both the EU and the parties
-involved had to adapt to the situation. Yet, drafting the high-level requirements (in total 14 work-packages
-and 58 deliverables) was done using the same version-control/open-communication based work style, including
-evolving the proposal at sprints. Writing the proposal and specifying according objectives on a higher level
-has proved to be generally useful for clarifying goals on a longer term.
-It also helps others to understand the project better.
-
-Unfortunately the negotiations with the EU got stuck in organizational limbo and the project is still
-suffering from the effects of this even today. The goal of funding contributors especially coming to
-sprints was originally based on a non-profit association. This solution wasn't seen as realistic or
-feasible by the EU although we think it remains a viable approach for the future. During negotiations,
-we got to an alternative solution which had a few drawbacks: contributors have to become Contract
-Partners within the EU-level Consortium (which is by itself not difficult) and can then at least claim travel and
-accommodation costs when attending sprints.
-
-However, this construction does not allow them to get paid for work time and also has some formal requirements.
-In practice this leads to current considerations of developers to shift private money between them in order to
-circumvent the current problems withimplementing an agile model within the EU contract framing.
-
-
-2. Influencing factors: the F/OSS Python community culture
-2.1 The Python community
-2.2 The PyPy community
-2.3 Supporting infrastructure
-2.4 Supporting practices
-
-3. Influencing factors: agile practices in PyPy
-3.1 TDD
-3.2 XP
-3.3 Sprints
-
-4. Influencing factors: EU-project practices
-The formal project organization required by the EU imposed more structure on the previous more free-floating
-agile process. Roles and responsibilities where staked out,conforming with the requirements of the roles
-but delegating as much as possible of the responsibilities and decision-making to the core developers. The
-strategy was to keep "conceptual integrity" (Brooks) of the vision and the idea in the hands of the core
-developers. A somewhat negative result was the added workload and responsibility on developers regarding
-EU related work. It was also a conscious strategy to employ the same version-control/review based scheme
-regarding EU documents and Consortium level issues as those being used in the technical development.
-
-It remains a challenge for all partners of the consortium, universities and companies alike, to connect an
-ongoing medium-scale open-source project with EU regulations and requirements - not to speak of the fact that
-companies need to fund 50% of the costs themselves. It is, in fact, too early to judge the overall success
-of our approaches although we are confident that things work out reasonably well.
-
-4.1 Consortium structure
-4.2 Resource tracking and reporting
-4.3 Communication and documentation
-
-5. Troubles in Paradise:striking a balance
-5.1 Developer driven versus formal project structure
-5.2 Agile strategies versus formal EU-contractual requirements
-5.3 F/OSS community versus hierarchies for "conceptual integrity"
-
-6. Conclusion:
-The important question is the following (and is also part of the methodological objective of the project):
-is there enough room to manage a project and Ope Source community within the plan-driven inspired methods
-that are required in EU-funded projects, while still working agile and distributed?
-
-We believe so. The one clear dominating factor to make all this succeed is, as always, the people factor,
-the CRACK performers as Boehm and Turner calls them (Collaborative, Representative, Authorized, Committed,
-Knowledgeable) (4).
-
-The core developers of the PyPy project had the right mix of various skills in order to succeed in setting
-up a hybrid environment - enabling them to work full time on a project they strongly believed in.
-The most crucial mix of skills for making this possible was/are:
-
-- social (the ability to communicate, "manage" groups and handle conflicts)
-- leadership abilities (both on technical levels as well on general social levels)
-- ability to network (to find and invite actors in the various cultures)
-- entrepreneurs (to instigate the idea of EU-funding and also to create consortium and companies)
-- curious and collaborative (towards other Python implementations and other languages and research approaches)
-- technical skills (programming language and implementation aspects, frameworks, mathematics, computer science etc)
-- ability to balance "conceptual integrity" (Brooks) with open and transparent communication through sprints, documentation, tutorials, mentoring, sync-meetings, thus also increasing the group of the core developers during the project
-
-Drawing from these different skills within the community of developers in the PyPy project one possible conclusion
-would be that a truly agile approach dominating the workstyle of an Open Source project will increase the ability
-of the community to spread the strategy of agility to other domains such as entrepreneurship and business models
-(whether this is done by separate individuals, subgroups or the whole group). By doing this hybrid projects such
-as PyPy and others (Zope Europe among others) are made possible.
-
-6.1 The vision factor
-6.2 Managing diversities
-6.3 Process design
-6.4 Group learning
\ No newline at end of file
+===================================================================================
+Title: "Trouble in Paradise: Open Source projects, EU-funding and Agile practices"
+===================================================================================
+
+Abstract:
+(200 words - write last)
+
+Introduction:
+=============
+
+This paper will present the story and the experiences gathered so far in the
+PyPy project concerning how to integrate such diverse perspectives as agile
+practices being used in a distributed and dispersed development style in an
+Open Source project that is partly funded by the European Union.
+
+The PyPy project started as a grass-root effort among core developers in the
+Python language community, aiming at building a Python implementation purely
+built in Python (todays main language implementation is based on C, called
+Cpython. It was a language implementation project that was purely driven from
+a non-profit perspective which increased in complexity when the Open Source
+project applied for EU-funding. We believe that the practice of "sprinting",
+as being used in the PyPy project, makes Agile and Distributed/dispersed
+workstyles more possible to combine. We also believe it is a very useful
+practice for creating value and ensuring quality in a projects with hybrid
+cultures and methodologies. It is our aim to start to show-case this with
+experiences from the first funded year of PyPy, combining Agile and
+Distributed/dispersed Development in an Open Source Community with the
+Plan-driven approaches through EU-Funding.
+
+Project context
++++++++++++++++
+
+Objectives:
+~~~~~~~~~~~
+
+The Technical objective of the PyPy project is to build a implementation of the
+Open Source Programming Language in the Python language itself. By employing
+novel combinations of known techniques for building optimized compilers and
+interpreters the project will build an implementation of Python that is easier
+to read and understand than the existing implementations, while only paying a
+small performance penalty.
+
+The Scientific objectives of the project are to investigate a number of novel
+techniques based on Aspect Oriented Programming code generation and abstract
+interpretation for the implementation of practical dynamic languages The goal
+is to break the compromise between flexibility, simplicity and performance
+trade-offs and to expand the range of directly supportable runtime platforms.
+
+The Method objective is to showcase a novel software engineering process:
+Sprint Driven Development. This is an Agile methodology, providing a dynamic
+and adaptive environment, suitable for co-operative and distributed
+development.
+
+Strategy:
+~~~~~~~~~
+
+The strategy of the project is to leverage the community of PyPy and Python
+through open and transparent communication and working style. The challenge has
+been to implement this strategy not only in the F/OSS community part of the
+project but also in the partially funded consortium structure of the project.
+The structure of the project and the consortium needed to adhere to this
+strategy while also conforming to the actual requirements of the 6th Framework
+Programme.
+
+The consortium consists of 8 partners: DFKI (Germany), Ab Strakt (Sweden),
+Logilab (France), merlinux GmbH (Germany), tismerysoft GmbH (Germany), Change
+Maker (Sweden) , Impara GmbH (Germany) and Heinrich Heine Universität
+Düsseldorf (Germany) and 4 physical person partners: Laura Creighton (Sweden),
+Richard Emslie (UK), Eric Van Riet Paap (Netherlands) , Niklaus Haldiman
+(Switzerland). The project effort of work for the 2 years of funding consists
+of 14 work-packages and in total 58 deliverables.
+
+History:
+~~~~~~~~
+
+Mid 2003 the idea of trying to get EU-funding for the project was born. It
+became clear that the project had an arbitrarily large scale and that receiving
+some funding would dramatically increase the pace and seriousness of the
+project - because funded developers can dedicate more of their time to the
+project. The involved developers and people stretched outside of the Open
+Source ecologies to try to gather as much information and contacts as possible
+in order to answer the question: "Should we go for it?" to which the answer
+quickly became "Let's see how far we get!".
+
+There had been a growing interest from the European Commission, IST division to
+look closer at the Open Source world and its achievements. Several funded
+research projects in the 5th framework programme studied the phenomenon
+(FLOSS-POLS, FLOSS) - its organization, business models and licensing. A few
+other funded software projects used Open Source in their work as tools
+(languages and applications). There was no previous experience of an Open
+Source community based project making a bid for funding.
+
+The areas in the 6th Framework programme (second call) fit very well with the
+objectives of PyPy. The idea of strengthening the European Software
+development companies and businesses with supporting an open source language
+implementation was new but appealing to the EU. However, being an Open Source
+project was not enough. The challenges and the idea of a flexible, configurable
+"translator" or "compiler" met the research targets of the FP6, as well as
+trying out and documenting the agile methodology being used.
+
+In short, we argued that EU funding allowed the project to go from reaching a
+critical mass and position to continue to evolve from there, and that it would
+help European organizations to make some ground.
+
+Acting on this strategy proved to be a more difficult task. The entire proposal
+and negotiation process took over a year (Autumn 2003 until November 2004).A
+proper description of planned work, necessary to satisfy formal requirements,
+had not previously been part of the development focus and both the EU and the
+parties involved had to adapt to the situation. Yet, drafting the high-level
+requirements (in total 14 work-packages and 58 deliverables) was done using the
+same version-control/open-communication based work style, including evolving
+the proposal at sprints. Writing the proposal and specifying according
+objectives on a higher level has proved to be generally useful for clarifying
+goals on a longer term. It also helps others to understand the project better.
+
+Unfortunately the negotiations with the EU got stuck in organizational limbo
+and the project is still suffering from the effects of this even today. The
+goal of funding contributors especially coming to sprints was originally based
+on a non-profit association. This solution wasn't seen as realistic or
+feasible by the EU although we think it remains a viable approach for the
+future. During negotiations, we got to an alternative solution which had a few
+drawbacks: contributors have to become Contract Partners within the EU-level
+Consortium (which is by itself not difficult) and can then at least claim
+travel and accommodation costs when attending sprints.
+
+However, this construction does not allow them to get paid for work time and
+also has some formal requirements. In practice this leads to current
+considerations of developers to shift private money between them in order to
+circumvent the current problems withimplementing an agile model within the EU
+contract framing.
+
+
+Influencing factors: the F/OSS Python community culture
+========================================================
+
+The Python community
+--------------------
+
+
+The PyPy community
+------------------
+
+Supporting infrastructure
+--------------------------
+
+Supporting practices
+--------------------
+
+Influencing factors: agile practices in PyPy
+============================================
+
+TDD
+---
+
+XP
+--
+
+Sprints
+-------
+
+EU-project practices
+====================
+
+The formal project organization required by the EU imposed more structure on
+the previous more free-floating agile process. Roles and responsibilities where
+staked out,conforming with the requirements of the roles but delegating as much
+as possible of the responsibilities and decision-making to the core developers.
+The strategy was to keep "conceptual integrity" (Brooks) of the vision and the
+idea in the hands of the core developers. A somewhat negative result was the
+added workload and responsibility on developers regarding EU related work. It
+was also a conscious strategy to employ the same version-control/review based
+scheme regarding EU documents and Consortium level issues as those being used
+in the technical development.
+
+It remains a challenge for all partners of the consortium, universities and
+companies alike, to connect an ongoing medium-scale open-source project with EU
+regulations and requirements - not to speak of the fact that companies need to
+fund 50% of the costs themselves. It is, in fact, too early to judge the
+overall success of our approaches although we are confident that things work
+out reasonably well.
+
+Consortium structure
+--------------------
+
+Resource tracking and reporting
+-------------------------------
+
+Communication and documentation
+-------------------------------
+
+Troubles in Paradise:striking a balance
+=======================================
+
+Developer driven versus formal project structure
+------------------------------------------------
+
+Agile strategies versus formal EU-contractual requirements
+----------------------------------------------------------
+
+F/OSS community versus hierarchies for "conceptual integrity"
+-------------------------------------------------------------
+
+Conclusion
+==========
+
+The important question is the following (and is also part of the methodological
+objective of the project): is there enough room to manage a project and Ope
+Source community within the plan-driven inspired methods that are required in
+EU-funded projects, while still working agile and distributed?
+
+We believe so. The one clear dominating factor to make all this succeed is, as
+always, the people factor, the CRACK performers as Boehm and Turner calls them
+("Collaborative, Representative, Authorized, Committed, Knowledgeable") (4).
+
+The core developers of the PyPy project had the right mix of various skills in
+order to succeed in setting up a hybrid environment - enabling them to work
+full time on a project they strongly believed in. The most crucial mix of
+skills for making this possible was/are:
+
+- social (the ability to communicate, "manage" groups and handle conflicts)
+
+- leadership abilities (both on technical levels as well on general social
+ levels)
+
+- ability to network (to find and invite actors in the various cultures)
+
+- entrepreneurs (to instigate the idea of EU-funding and also to create
+ consortium and companies)
+
+- curious and collaborative (towards other Python implementations and other
+ languages and research approaches)
+
+- technical skills (programming language and implementation aspects,
+ frameworks, mathematics, computer science etc)
+
+- ability to balance "conceptual integrity" (Brooks) with open and transparent
+ communication through sprints, documentation, tutorials, mentoring,
+ sync-meetings, thus also increasing the group of the core developers during
+ the project
+
+Drawing from these different skills within the community of developers in the
+PyPy project one possible conclusion would be that a truly agile approach
+dominating the workstyle of an Open Source project will increase the ability of
+the community to spread the strategy of agility to other domains such as
+entrepreneurship and business models (whether this is done by separate
+individuals, subgroups or the whole group). By doing this hybrid projects such
+as PyPy and others (Zope Europe among others) are made possible.
+
+The vision factor
+-----------------
+
+Managing diversities
+--------------------
+
+Process design
+--------------
+
+Group learning
+--------------
More information about the Pypy-commit
mailing list