[pypy-svn] r26739 - pypy/extradoc/talk/agile2006

bea at codespeak.net bea at codespeak.net
Wed May 3 23:07:44 CEST 2006


Author: bea
Date: Wed May  3 23:07:36 2006
New Revision: 26739

Modified:
   pypy/extradoc/talk/agile2006/draftpaper_agile2006.txt
Log:
tuning, tuning and more tuning - please review....

Modified: pypy/extradoc/talk/agile2006/draftpaper_agile2006.txt
==============================================================================
--- pypy/extradoc/talk/agile2006/draftpaper_agile2006.txt	(original)
+++ pypy/extradoc/talk/agile2006/draftpaper_agile2006.txt	Wed May  3 23:07:36 2006
@@ -10,7 +10,7 @@
 PyPy is an Open Source project, partly funded by the European Union, employing
 agile techniques evolved within the Python Community such as "sprint-driven
 development".The project started as a grass-root F/OSS effort in late 2002 and
-recieved EU-funding from December 2004 until November 2006.  In this paper we
+received EU-funding from December 2004 until November 2006.  In this paper we
 will present the various influencing factors that creates the hybrid project
 process that is PyPy. These influencing factors are the F/OSS Python Community
 (climate of the community from which PyPy grew from), agile practices (such as
@@ -19,7 +19,7 @@
 influencing factors laid the foundation for the custom-made project process
 that makes this unique hybrid project work and the main factor for driving this
 process is the skills of the team of core developers instigating the project.
-PyPy, with it´s open and transparent communication and collaborative workstyle,
+PyPy, with its open and transparent communication and collaborative work style,
 is again a proof that the best agile practice is the people factor.
 
 .. raw:: latex
@@ -32,8 +32,8 @@
 =============
 
 This paper presents 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
+project. The challenge has been to integrate such diverse perspectives as agile
+practices being used in a distributed 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
@@ -42,7 +42,7 @@
 driven from a non-profit perspective which rapidly increased in complexity when
 the Open Source project applied for EU-funding.  
 
-Today the project have over 4 years of intense activity as a Open Source
+Today the project has over 4 years of intense activity as an Open Source
 community (F/OSS) effort and have completed a successful first year of the
 EU-funded effort.  In order to understand how the PyPy project managed and
 manages to strike a balance between being an F/OSS community, while also having
@@ -53,9 +53,9 @@
 The influencing factors of the PyPy project process are:
 
 - The F/OSS/Python community factor. Different Open Source communities have
-  different "flavours" regarding culture, communication climate, structure,
+  different "flavors" regarding culture, communication climate, structure,
   decision-process etc. PyPy was born out of the Python Community and share
-  some of it´s characteristics which have had a huge influence on the project
+  some of its characteristics which have had a huge influence on the project
   process so far. Aspects such as distributed/dispersed development and the
   supporting practices and infrastructure in place to quality assure software
   development in a collaborated manner are part of this important influencing
@@ -73,14 +73,14 @@
   Driven Development and explain how these are implemented in PyPy.
 
 - The EU factor. PyPy is the first F/OSS community that organized themselves
-  into an EU-project, recieving EU-funding. It has had a huge impact on the
+  into an EU-project, receiving EU-funding. It has had a huge impact on the
   project, and it is important to identify how EU project and process
   requirements can be "weaved" into an Agile F/OSS project - a challenge
-  indeed. The EU-funding has been and still is an enourmous opportunity, the
+  indeed. The EU-funding has been and still is an enormous opportunity, the
   project would not have had the rapid progress and impact it is now having
   without the funding. It is also very important to note that without striking
   the right balance between the three main influencing factors (F/OSS, agile
-  and EU-funding) this factor might also prove to be a "showstopper", something
+  and EU-funding) this factor might also prove to be a "show stopper", something
   that might influence the PyPy community negatively. This is a constant
   challenge - we explain here how we created our process and added a
   "consortium-level" structure to the F/OSS community and the steps we took in
@@ -88,7 +88,7 @@
 
 Our conclusion so far in the project is that 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
+ Distributed/dispersed work styles 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. We also feel that our
@@ -126,7 +126,7 @@
 optimized compiler and interpreter purely in Python, applying Aspect Oriented
 Programming and abstract interpretation techniques.  The methodology objective
 aims at showcasing the "sprint-driven development method" being used by PyPy
-and you can view this paper as part of fullfilling the methodology objective.
+and you can view this paper as part of fulfilling the methodology objective.
 
 Strategy:
 +++++++++
@@ -150,8 +150,8 @@
 
 It is difficult to estimate the amount of people involved in PyPy but we
 estimate that ca 300-500 people "follow actively" the progress of the project -
-this might mean reading emails, IRC logs and documention in some cases, asking
-questions and sending bug reports in other cases.There are ca 50 people that
+this might mean reading emails, IRC logs and documentation in some cases, asking
+questions and sending bug reports in other cases. There are ca 50 people that
 have commit-rights to the source code. The core group of developers consists of
 ca 10 people. 
 
@@ -166,14 +166,14 @@
 work-packages and in total 58 deliverables which are high-level functional and
 non-functional requirements that were formulated in a proposal and form the
 "Description of Work" in the contract with the European Commission. The funding
-recieved for this effort is 1.3 million euros. Of the core group of developers
+received for this effort is 1.3 million euro. Of the core group of developers
 mentioned above almost all of them (ca 10 people) are involved in some sense in
 the partner companies and organizations of the PyPy consortium.
 
 History:
 ++++++++
 
-The ideas behind PyPy started via discussions on european mailing-lists in the
+The ideas behind PyPy started via discussions on European mailing-lists in the
 Python community late 2002 by people that had been active in the Python
 community for some time, core developers interested in language implementation.
 They based the discussions and ideas partly on their experiences with
@@ -234,14 +234,14 @@
 previous successful Python projects and this prior community experience was
 vital for the evolving of the PyPy community due to the established trust in
 expert skills of the core developers starting PyPy - again the people
-factor.Thus making it easier recruit people into the PyPy community.
+factor. Thus making it easier recruit people into the PyPy community.
 
 The PyPy project inherited the focus on collaborative approaches and open
 communication climate.  The nature of using sprints as a core technique as a
 way to kick-start the project as well as moving the sprints to different
 locations as a strategy to encourage participation by meeting people locally
 are clear examples of this. During the period of 2003-2004 6 sprints were
-arranged in various european cities, hosted by universities and private
+arranged in various European cities, hosted by universities and private
 persons, participation funded privately. The effect on the evolving community
 was a stable subscriber participation on the development list of between
 140-150 people. After the EU-funding and the more systematic structure of
@@ -274,11 +274,11 @@
 
 The main communication channels between developers involved in PyPy is to
 discuss over IRC (Internet-Relay-Chat) - open for all that are interested.
-Several mailinglists for discussions and information is also used. Webpages,
+Several mailing lists for discussions and information is also used. Web pages,
 documentation, tutorials, talks and papers etc are all available on the central
-developer server for everyone.A very useful feature that really supports
+developer server for everyone to access. A very useful feature that really supports
 information and communication (the author can attest to this from her own
-experience) are the public email archives covering the key mailinglists - going
+experience) are the public email archives covering the key mailing lists - going
 back to the start of 2003.
 
 An extensive coding guide, published on codespeak.net (development website)
@@ -287,9 +287,9 @@
 test and documentation guidelines.
 
 Now - all this infrastructure is being used in almost all larger open source
-projects and quite a few of them are much more hierarchial and non-transparent
-in their communication.  In PyPy there is no hierarchy for recieving
-commit-rights. A newcomer to PyPy can instantly recieve an account on the
+projects and quite a few of them are much more hierarchical and non-transparent
+in their communication.  In PyPy there is no hierarchy for receiving
+commit-rights. A newcomer to PyPy can instantly receive an account on the
 development server, with full commit rights to the version control system. The
 reason why there are no constraints is that the process is very much
 self-organized and managed by the developers from a social level (peer review,
@@ -297,7 +297,7 @@
 strong automated tools covering tests, versions and back ups covering the
 technical level.
 
-In a distributed and dispersed workstyle these two (social and technical)
+In a distributed and dispersed work style these two (social and technical)
 levels needs to be consistent and support each other, discrepancies would be
 immediately noticed. As stated before - the people factor is again evident and
 in order to encourage participation and contribution there has to be trust as
@@ -316,15 +316,15 @@
 Sync-meetings are weekly short coordination meetings between developers, open
 to all developers active in the PyPy community, usually but not necessarily
 involving aspects of EU-funded work on deliverables.  These 30 minute
-IRC-meetings serve a weekly synchronisation for regular discussions and
+IRC-meetings serve a weekly synchronization for regular discussions and
 integration of ongoing work.  Meetings are prepared with an agenda sent out to
 pypy-dev and minutes are distributed on pypy-dev and archived in the repository
-with publicly accessible links.Preparing, managing and documenting the meetings
+with publicly accessible links. Preparing, managing and documenting the meetings
 is rotated between active developers and is self-organized as well.
 
-Sync-meetings have proven to be a very good complement to a process in which
+Sync-meetings have proved to be a very good complement to a process in which
 the project sprints every 6th week. Sync-meetings keep cohesion as well as a
-team focus-and-feel for the dispersed workstyle between sprints. 
+team focus-and-feel for the dispersed work style between sprints. 
     
 Influencing factors: agile practices in PyPy
 ============================================
@@ -349,7 +349,7 @@
 community (framework-centric, distributed, no "business user" present), some of
 the XP mantras /practices couldn't be done directly.  We decided to try to do
 "as much XP as possible" for short, highly-focused sessions, with all active
-committers colocated."
+committers collocated."
 
 The Zope community as well as other Python projects such as PyPy have seen that
 sprints have goals beyond the creation of software:
@@ -358,7 +358,7 @@
   with the core developers.
 
 - It is a live training session not only in producing code but also in the
-  development methods being used (TDD, pairprogramming etc, the sprint method
+  development methods being used (TDD, pair programming etc, the sprint method
   in itself).
 
 - It supports activities such as design decisions and high-level requirements
@@ -384,7 +384,7 @@
 sprint driven development.
 
 The sprint method, as well as key aspects of F/OSS supportive infrastructure
-and practices was established within the project before PyPy recieved it´s
+and practices was established within the project before PyPy received it´s
 EU-funding.  Thus, in the proposal,we put much emphasis on the methodology in
 itself when designing the consortium level process. Examples of how this was
 done was that we created a methodology objective, specific deliverables
@@ -401,11 +401,11 @@
 
 Why did PyPy choose sprinting as a key technique?  It is a method that fits
 distributed teams well because it gets the team focused around visible
-challenging goals while working collarobatively (pair-programming, status
+challenging goals while working collaboratively (pair-programming, status
 meetings, discussions etc) as well as accelerated (short increments and tasks,
 "doing" and testing instead of long startups of planning and requirement
 gathering, continuous integration). This means that most of the time a sprint
-is a great way of getting results and getting new people aquainted - a good
+is a great way of getting results and getting new people acquainted - a good
 method for dissemination of knowledge and learning within the team. 
 
 A key insight, worthwhile for other EU-projects to ponder, is how an agile
@@ -426,11 +426,11 @@
 
 - a consortium of partners performing the work described in the contract
 
-- a project co-ordinator managing contract administration and communication
+- a project co-coordinator managing contract administration and communication
   between consortium and the Commission
 
 - a project manager, responsible for the project reaching it´s goals within the
-  timeframe and budget
+  time frame and budget
 
 The challenge was to design a project process that created a minimal amount of
 changes to the structure being in use in the F/OSS project. It was especially
@@ -440,7 +440,7 @@
 the project.
 
 We identified a minimalistic approach of management roles (project
-co-ordinator, project manager, assistant project manager) and created a
+co-coordinator, project manager, assistant project manager) and created a
 management team to make sure that there was collaboration between these roles.
 Although the responsibility rested on the different management roles and the
 management team the strategy implemented was to delegate as much as possible of
@@ -460,10 +460,10 @@
 play.
 
 Sprints were budgeted for and designed into the process, together with a
-timeplan for all deliverables. The project was divided into three different
-phases, depending on the nature of the workflow. In that sense you could
+time plan for all deliverables. The project was divided into three different
+phases, depending on the nature of the work flow. In that sense you could
 describe the EU-part of the project as a fixed-contract style of work, but with
-timeplan, deliverables and work package descriptions on a high-level, not
+time plan, deliverables and work package descriptions on a high-level, not
 broken down into more granular tasks.
 
 Resource tracking and reporting
@@ -471,24 +471,24 @@
 
 The nature of reporting on a consortium level is very much focused on the costs
 incurred by each partner compared to budget, by the consortium on a specific
-workpackage and of the consortium overall. The consortium is free to reallocate
-budgeted manmonth funding between partners during the project. The project
+work package and of the consortium overall. The consortium is free to reallocate
+budgeted man month funding between partners during the project. The project
 reports costs per period - PyPy have two periods.
 
 Again - the need for open and transparent communication together with a
 collaborative climate created the need to have what we believe a unique view on
-cost reporting within the project. In PyPy all timesheets are gathered on a
+cost reporting within the project. In PyPy all time sheets are gathered on a
 monthly basis and stored in central repository, accessible for all consortium
 partners (managers and developers alike).  Cost claims from all partners are
 gathered on a six month basis. This data helps the management board and
 technical board to assess the status of work.
 
-Templates for timesheets, costs claims, resource tracking tools etc are created
+Templates for time sheets, costs claims, resource tracking tools etc are created
 in open formats and all data is stored under the same version control that we
 use for the source code. All reports are produced with docutils/ReST format
-which together with automated mailinglists for covering updates in the version
+which together with automated mailing lists for covering updates in the version
 control repositories allows for collaborate peer-reviewing regarding the
-EU-level of reports. Again the strategy was to use the same tools and practises
+EU-level of reports. Again the strategy was to use the same tools and practices
 on consortium level work as is used in the development process.  Interesting to
 note is that the technical reports written for the Commission regarding certain
 deliverables and progress have also been a great help towards the community who
@@ -507,13 +507,13 @@
 
 The communication infrastructure being used on the consortium level of work
 mirrors that of the development work - having years of experience on the
-distributed workstyle. In the case of PyPY there are mailinglists as well as
+distributed work style. In the case of PyPY there are mailing lists as well as
 IRC channels for consortium level work. We even implemented a procedure in our
 internal consortium agreement to allow for virtual meetings for decisions in
 the consortium. So far this have been the primary meeting form and it has
 worked well as a channel for making decisions. IRC-logs and minutes support the
 procedure. In some cases decisions have also been made via email on the
-consortium mailinglist.
+consortium mailing list.
 
 Although not the primary focus it is also useful to have the regular sprints to
 coordinate specific issues between some partners or between all partners, have
@@ -521,7 +521,7 @@
 board etc.
 
 Our funding have also resulted in the possibility to have a more unorthodox
-documention - the project have experimented in filming sprints to show the
+documentation - the project have experimented in filming sprints to show the
 development method as well as filming talks and discussion. Our film material
 is planned to be released before summer 2006.
 
@@ -531,7 +531,7 @@
 Developer driven versus formal project structure
 ------------------------------------------------
 
-The fear of a top-down, hierarchial decision process of the consortium was a
+The fear of a top-down, hierarchical decision process of the consortium was a
 justified one.  It is interesting for us to note that now, having the
 experience and more contractual overview to note that there is nothing in the
 requirements from the Commission that forces a project to a more traditional
@@ -542,7 +542,7 @@
 as consortium work.
 
 The majority of the partners on key roles in the consortium organization had
-been working together since before the funding, procedures and best practises
+been working together since before the funding, procedures and best practices
 had been tried out. The results from the first year showed that a minimalistic
 path could be identified and that the important work would be to review and
 adjust the process when it did not support the work any more, or new situations
@@ -555,7 +555,7 @@
 Agile strategies versus formal EU-contractual requirements
 ----------------------------------------------------------
 
-Our main agile practise, sprint-driven development, was successfully integrated
+Our main agile practice, sprint-driven development, was successfully integrated
 into the formal contractual requirements, allowing for the same free-floating
 agile process of self organizing and decision making as existed before the
 funding, but with a more systematic and documented style.
@@ -566,7 +566,7 @@
 "open-door" policy that allowed us to fund non-consortium persons from the
 community to attend sprints. The budget was allocated, the procedure within the
 sprint context of handling more newcomers were known to us - the main
-showstopper was that PyPy sprint funding did not fit within the customs and
+show stopper was that PyPy sprint funding did not fit within the customs and
 practices of contracts for cost claims in the Commission.
 
 Every time we want to encourage participation and fund people to participate in
@@ -603,7 +603,7 @@
 is progressing much more rapidly in PyPy than more normal F/OSS projects. The
 speed and the dramatically increasing learning curve could make members more
 passive because they do not have the time to follow full-time IRC discussions,
-postings on mailinglists and the actual source code and increasing test suites. 
+postings on mailing lists and the actual source code and increasing test suites. 
 
 This is a challenge and it is the focus of the developer group to try to
 distill and package information in order to help people to better navigate the
@@ -620,7 +620,7 @@
 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").
-. 
+
 
 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
@@ -650,9 +650,8 @@
   
 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
+dominating the work style 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.
-



More information about the Pypy-commit mailing list