Process Modeling Across the Web Information Infrastructure Chris Jensen and Walt Scacchi Institute for Software Research School of Information and Computer Science University of California, Irvine {cjensen,
ProSim 2003 Discovering and modeling of open source software development processes: Phase1: reference model Phase2: project history: development in context Phase3: process-fragment mining relevancy issues Phase4: multi-technique process modeling, and simulated/remote process re-enactment Phase5: analysis
Sun Microsystems The Board Release Manager MaintainerDevelopers/ Contributors Website Mailing Lists Users Contribute to community, meet time constraints for the release Maintain a project/ module, manage a group of developers Ensure that the netbeans community is being run in a fair and open manner Start new release phase, propose schedule/plan CVS Funds, support, Promote Java/Open source IssueZilla QA Team Produce Q- builds and ensure quality of the software release proposalrelease proposal, release updates, branch for current release, release post mortem, review release candidates (2) & decide final releaserelease updatesbranch for current releaserelease post mortemreview release candidates 2decide final release download development builds and testdownload development builds and test, release Q- builds release Q- builds download new release report bugs select feature to developselect feature to develop, bug to fix, download netbeans, commit codebug to fix download netbeans commit code decide features for the project and merge patches/bug fixesdecide features for the project and merge patches/bug fixes, create module web page create module web page make decisions for the community, on high level grant CVS commit privilege to developers Link to all Use CasesLinks to all Agents CVS Manager Configur e and maintain CVS grant access Site Administrator Manage website deploy builds SourceCast Tools Link to Tools Download and use free software Community Manager Share knowledge and ensure all community issues are addressed respond to tech issues, unanswered questions Rich Picture
ProSim 2004 ProSim 2003 study addresses single case: NetBeans.org Now reporting on what we have since discovered and modeled by examining multiple cases of OSSD processes in interrelated OSSD projects. NetBeans.org, Mozilla.org, Apache.org
ProSim 2004 JCP Open Office W3C Conflict Coordination Conflict Coordination Conflict Coordination Conflict Coordination Conflict
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 tools (e.g. WIKI, CVS, mail list managers) Product infrastructure Plugins, Modules
Direct Interaction Conflict Coordination Conflict Tomcat
Indirect Interaction
Interaction Patterns These appear to be ad hoc, however patterns can be detected and include: Integration of a tool or support for a technology created by another community Defect detection and reduction Organizations contribute defect reports/patches detected in another organization's tool or technology implementation Infrastructure evolution planning Researching contributing to discussions of future/changes in tools and technologies Discovery, assessment of effects on one’s own community These interactions give rise to additional opportunities for coordination and conflict
Conclusions OSSD processes occur within and across multiple projects spanning the Internet infrastructure Multiple project/organizational interaction may be coordinative or conflictive Interaction is driven by ongoing synchronization and stabilization of objects of interaction across the Internet infrastructure Interaction patterns are emerging, detectable, modeled, and suitable for simulated re-enactment Modeling processes within and across multiple dependent projects is new, challenging, and important.
Mozilla Code Development LXR, Gnu, Emacs Communication Bugzilla, IRC, News Server, Mozilla.org CM CVS, Tinderbox, Bonsai Mozilla Tools Provide Resource and Manpower Staff & Staff Associates Drivers Bugzilla Component Owners Developers (Module Owners, Module Peers) Sheriff Build Engineers QA Contacts & Owners Ensure high quality of enhancemen t and bug fixes Provide code enhancements and bug fixes Determine Compilation Problems Ensure Nightly build pass Smoke test Help to prioritize checkin patches Help to assign bugs Help to reveal bugs Communicate with Testers for smoke test Reviewer&Super Reviewers Open Bugzilla Account Research Finding/Report Perform bug triage Run test cases Input Bug Report Close “Tree” Approve Build Close “Tree” Generate Build Approve Build Collaborate and provide Mozilla working environment Contact the hook and Monitor Build Status Develop & manage Mozilla Reviewing patch Fix bugs&errors Coding Check-in CM Review code Acceptance & assignment Ok given to Download Invite testers for smoketest Smoke Test Coordinators Volunteer Testers Open Bugzilla Account Research Finding/Report Perform bug triage Run test cases Input Bug Report
Apache
NetBeans