Title: Discovering, Modeling, and Re-enacting Work Processes and Practices in Free/Open Source Software Development Projects
1Discovering, Modeling, and Re-enacting Work
Processes and Practices in Free/Open Source
Software Development Projects
- Walt Scacchi, Chris Jensen, John Noll and
Margaret Elliott - Institute for Software Research
- University of California, Irvine
2Context
- Discovering hidden processes within a
large-scale, global, loosely-coordinated open
source software development (OSSD) project. - Thousands of project participants
- Developing, managing, and evolving over one
million knowledge-intensive artifacts - Weakly coordinated by centralized authorities
- All data are open source
3Context
- Discover, model, (re-)enact, and repair processes
- Discover process context, participant roles,
tools, resources, interdependencies within and
across projects over the Web - Why?
- Enterprises dont know their processes
- Process improvement, optimization, redesign
- Process interdiction w/ competitive advantage
4Overview
- Process discovery
- Process modeling
- Process re-enactment
- Discussion
- Conclusions
5Process discovery
- Participant observation (online, Web-based)
- Collection and annotation of participant
created/modified artifacts - Objects of interaction
- How objects are situated in facilitating
collaboration, conflict, or conflict mitigation - Tracking artifacts added or modified in response
to intra-community or inter-community dynamics - Automated process data mining, categorization,
and composition
6Annotated chat transcript
- ltCyrilBgt Hello (Outsider Critique-1
- ltCyrilBgt Several images on the website seem to be
made with non-free Adobe software, I hope I'm
wrong it is quite shocking. Does anybody know
more on the subject ? - ltCyrilBgt We should avoid using non-free software
at all cost, am I wrong ? (Extreme belief in free
software (BIFS)-1) - ltCyrilBgt Anyone awake in here ? Outsider
Critique-1)
7Current challenges
- Examining multiple OSSD processes across multiple
interrelated OSSD projects. - NetBeans.org, Mozilla.org, Apache.org,
BioBeans.org, Tigris.org, Java Tool Community,
etc. - Leadership and control sharing within and across
individuals, work groups, and projects as sources
of coordination and conflict.
8NetBeans.org Community Ecosystem
9Boundary Objects of Interaction
- Development artifacts (software informalisms)
- Protocols
- HTTP, RPCs
- Shared data formats
- HTML, XML, CGI
- Community infrastructure tools
- Defect repositories (e.g. Bugzilla),
Collaborative development and communication tools
(e.g. CVS, online chat, discussion forums) - Product infrastructure
- Plug-ins, Modules, Helper applications
- OSSD processes
10Direct Interaction
Tomcat
11Intra-community issues
- Collaboration
- Guidelines and policies
- Development tasks style guidelines public
floggings - Separation of concerns
- architectural strategy (plug-ins) for
collaborative success - freedom of extension/expression through
contributed source code--reduces involvement with
socio-political project issues - Volunteer versus salaried developers--collaboratio
n breakdowns lead to product failures
12Intra-community issues
- Leadership and Control
- Accountability and expectations based on
precedent and volunteerism - Transparency in decision-making
- Project management limited to coordinating
roles - Consent in decision-making
- Many contributors assume consensus
decision-making, and breakdowns arise when Sun
asserts prerogative - Conflict Resolution
- Not face-to-face
- Generally done in public via discourse
transactions on discussion forums, else turned
over to community governance board for resolution.
13Indirect process interactions across projects
Tomcat integration into NetBeans, compliance with
W3C standards, Apache Ant integration into
NetBeans
NetBeans and Mozilla developers collaborate on
spell-checking module, NetBeans adopts Mozilla
super review process
Apache releases new version of Tomcat
NetBeans workarounds for Mozilla shortcuts
Changes in HTTP, CCS, DOM, URI/URL, XML, XHTML
standards
Bugzilla, compliance with W3C standard
protocols/data formats, compressed HTTP module
support, Javascript support
Browser-specific actions, browser-error
workarounds,
14Inter-community issues
- Communication and collaboration
- Bug reports and feature requests
- Patches submitted
- Java.net, Java Tools Community, and Java
Community Process - Leadership and control across projects
- Sun NetBeans vs. IBM Eclipse
- Conflict resolution
- Mailing lists Slashdot Developer blogs
15Process modeling
- Rich pictures with hyperlinked Use Case scenarios
- Directed and attributed resource flow graph
- Process domain ontology
16Rich Picture
Funds, support, Promote Java/Open source
Sun Microsystems
Download and use free software
Share knowledge and ensure all community issues
are addressed
Ensure that the netbeans community is being run
in a fair and open manner
Configure and maintain CVS
Community Manager
Start new release phase, propose schedule/plan
respond to tech issues, unanswered questions
Release Manager
make decisions for the community, on high level
download new release
The Board
Users
release proposal, release updates, branch for
current release, release post mortem, review
release candidates (2) decide final release
report bugs
grant access
CVS Manager
Mailing Lists
Manage website
Website
Tools
deploy builds
download development builds and test, release
Q-builds
SourceCast
CVS
IssueZilla
decide features for the project and merge
patches/bug fixes, create module web page
Site Administrator
select feature to develop, bug to fix, download
netbeans, commit code
QA Team
Produce Q- builds and ensure quality of the
software
Maintain a project/ module, manage a group of
developers
Contribute to community, meet time constraints
for the release
grant CVS commit privilege to developers
Maintainer
Developers/ Contributors
Link to all Use Cases
Links to all Agents
Link to Tools
17(No Transcript)
18(No Transcript)
19NetBeans
20Process re-enactment
- Generating executable or re-enactable process
specifications from ontology - Low-fidelity process re-enactment support
- We dont try to model everything
- Focus on resource flow patterns
- Accommodate gaps and detect inconsistencies in
process enactment models - Re-enactments are interactive, navigational, and
grounded in artifacts, tools, roles, and resource
dependencies resulting from discovery and modeling
21Formal model of a Netbeans.org process coded in
PML (excerpt)
- ...
- sequence Test
- action Execute automatic test scripts
- requires Test scripts, release binaries
- provides Test results
- tool Automated test suite (xtest, others)
- agent Sun ONE Studio QA team
- script / Executed off-site /
- action Execute manual test scripts
- requires Release binaries
- provides Test results
- tool NetBeans IDE
- agent users, developers, Sun ONE Studio QA
team, Sun ONE Studio developers - script / Executed off-site /
- iteration Update Issuezilla
- action Report issues to Issuezilla
- requires Test results
- provides Issuezilla entry
- tool Web browser
22PML validation analysis
23PML analysis detail (excerpt)
24(No Transcript)
25(No Transcript)
26Discussion
- Patterns of interaction about objects or
artifacts - Discovering and modeling socio-technical and
cultural evolution processes - Validation strategies and tactics
- Process discovery, modeling, and re-enactment
implications - MKIDS Integration
27Patterns of interaction about boundary
objects/artifacts
- Patterns can be detected and include
- Integration of a tool or support for a technology
created by another community that create, update,
or manage shared objects - Defect detection and reduction
- Organizations contribute defect reports/patches
detected in another organization's tool or
technology implementation - Infrastructure evolution planning
- Research contributing to discussions of
future/changes in tools and technologies - Discovery, assessment of effects on ones own
community - These interactions give rise to additional
opportunities for coordination and conflict
28Socio-technical and cultural evolution processes
- New processes under study
- Joining and contributing to a project in progress
- Role-task migration from project periphery to
center - Alliance formation and community development
- Independent and autonomous project communities
can interlink via social networks that manipulate
objects of interaction - Enables possible exponential growth of
interacting and interdependent community as
socio-technical interaction network
29(No Transcript)
30Validation strategies and tactics
- Multi-mode modeling
- Collection and annotation of artifacts
- Rich pictures with hyperlinked Use Case scenarios
- Directed and attributed resource flow graph
- Process domain ontology construction
- Simulated process re-enactment
- Process model language generated from ontology
- PML compiled into re-enactment environment
- Automated PML source validation
- Simulated walkthrough of process
- Integration via ethnographic hypermedia
- Open to independent validation and interactive
traceability
31Discovery, modeling and
re-enactment implications
- Discovering, modeling, and understanding hidden
software processes in large OSSD projects - requires semi-automated process discovery
techniques - must span multi-project ecosystem
- Discovered processes (still) need to be modeled
as narrative, hypermedia, and formal
computational models. - Understanding large, aggregated Internet-based
projects requires process discovery, modeling
tools, re-enactment and validation techniques.
32Where Were Going
33MKIDS Integration
- Integration with USC efforts examined and
feasible - Text analysis, categorization, summarization
- Process taxonomies
- Integration with OSU, Stanford, and CMU efforts
appear feasible - Task analysis
- Process simulation and modeling
- Social network analysis
- Other MKIDS modeling and scheduling efforts might
be possible to integrate
34Conclusions
- We are examining processes within and across
multiple projects spanning multiple
loosely-coupled communities - Multiple project/organizational interaction may
be coordinative or conflictive - Interaction is driven by ongoing synchronization
and stabilization of objects of interaction
across project communities - Project interaction patterns are emerging,
detectable, modeled, and suitable for simulated
re-enactment - Discovering, modeling, validating, and
re-enacting hidden processes within and across
multiple inter-dependent projects is challenging
and important.
35References
- D.C. Atkinson, D.C. Weeks, and J. Noll. The
Design of Evolutionary Process Modeling
Languages, Proc. 11th Asia-Pacific Software
Engineering Conf., Dec. 2004. - D.C. Atkinson and J. Noll. Automated Validation
and Verification of Process Models, Proc. 7th
Intern. IASTED Conf. Software Engineering and
Applications, November 2003. - C. Jensen and W. Scacchi, Discovering, Modeling,
and Reenacting Open Source Software Development
Processes, Institute for Software Research,
Submitted for publication, March 2004. - C. Jensen and W. Scacchi, Process Modeling the
Web Information Infrastructure, Proc. 5th.
Software Process Simulation and Modeling
Workshop, Edinburgh, Scotland, May 2004.
36References
- C. Jensen and W. Scacchi, Data Mining for
Software Process Discovery in Open Source
Software Development Communities, Proc. Workshop
on Mining Software Repositories, 96-100,
Edinburgh, Scotland, May 2004. - C. Jensen and W. Scacchi, Collaboration,
Leadership, Control, and Conflict Negotiation in
the NetBeans.org Community, Proc. 4th. Workshop
on Open Source Software Engineering, 48-52,
Edinburgh, Scotland, May 2004. - W. Scacchi, Socio-Technical Interaction Networks
in Free/Open Source Software Development
Processes, revised version to appear in S.T.
Acuña and N. Juristo (eds.), Peopleware and the
Software Process, World Scientific Press, 2004. - W. Scacchi, C. Jensen, J. Noll and M. Elliott,
Multi-Modal Modeling of Open Source Software
Requirements Processes, submitted for
publication, September 2004.
37Acknowledgements
- Project collaborators
- Darren Atkinson, Santa Clara University
- Margaret Ellliot, Chris Jensen, UCI-ISR
- Mark Ackerman, UMichigan, Ann Arbor
- Les Gasser, UIUC
- Funding support (no endorsement implied)
- National Science Foundation 0083075, 0205679,
0205724, and 0350754.