1 Discovering, Modeling, and Re- enacting Work Processes and Practices in Free/Open Source Software Development Projects Walt Scacchi, Chris Jensen, John.

Slides:



Advertisements
Similar presentations
HP Quality Center Overview.
Advertisements

Chapter 4 Quality Assurance in Context
Validata Release Coordinator Accelerated application delivery through automated end-to-end release management.
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
1 Strategies for Developing and Deploying Free/Open Source Software Walt Scacchi Institute for Software Research School of Information and Computer Science.
Software Process Simulation and Modeling: A Review Walt Scacchi Institute for Software Research UCIrvine
Open Source Software Research at ISR Walt Scacchi Institute for Software Research
INTERNET DATABASE Chapter 9. u Basics of Internet, Web, HTTP, HTML, URLs. u Advantages and disadvantages of Web as a database platform. u Approaches for.
1 Emerging Research Concepts for Very Large-Scale Software Engineering Walt Scacchi Institute for Software Research University of California, Irvine Irvine,
1 Understanding the Requirements for Developing and Designing Open Source Software Walt Scacchi Institute for Software Research and Laboratory for Computer.
Computer Games, Open Source Software, and Computer Supported Work Environments Research Opportunities Walt Scacchi Institute for Software Research Game.
Supporting Software Development in Virtual Enterprises Walt Scacchi
Rich Hypermedia for NB Requirements and Release Process Version 3.3 CSEM Consulting ICS 225 – Spring 2002.
The W3C Web Accessibility Initiative (WAI) Inclusive learning through technology Damien French.
An Approach to Discovering Processes in OSS Projects Chris Jensen Institute for Software Research University of California, Irvine Irvine, CA
I n t e g r i t y - S e r v i c e - E x c e l l e n c e Business & Enterprise Systems Introduction to Hewlett Packard (HP) Application Lifecycle Management.
1 Understanding the Requirements for Developing and Designing Open Source Software Walt Scacchi Institute for Software Research University of California,
(Re)Designing Software Production Architectures Walt Scacchi ATRIUM Laboratory and USC Center for Software Engineering 10.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
1 Understanding Best Practices in Free/Open Source Software Development Walt Scacchi Institute for Software Research School of Information and Computer.
Configuration Management
Simulating an Automated Approach to Discovery and Modeling of Open Source Software Development Processes Chris Jensen and Walt Scacchi Institute for Software.
Opportunities for Game Culture and Technology in Public Libraries Walt Scacchi Institute for Software Research and University of California.
Process and Open Source Software Walt Scacchi Institute for Software Research UC Irvine
Opportunities for Game Culture and Technology in Public Libraries Walt Scacchi Institute for Software Research and University of California.
Project Proposal: Academic Job Market and Application Tracker Website Project designed by: Cengiz Gunay Client: Cengiz Gunay Audience: PhD candidates and.
Patterns of Sustained Collaborative Creativity Across Open Computerization Movements Walt Scacchi Institute for Software Research and Game Culture and.
● Problem statement ● Proposed solution ● Proposed product ● Product Features ● Web Service ● Delegation ● Revocation ● Report Generation ● XACML 3.0.
UML - Development Process 1 Software Development Process Using UML (2)
Geneva, 30 October 2009 Giuseppe Sindoni, Istat, Italy An online system for multi-channel, register-based census data collection.
About Dynamic Sites (Front End / Back End Implementations) by Janssen & Associates Affordable Website Solutions for Individuals and Small Businesses.
Copyright © IBM Corp., All rights reserved; made available under the EPL v1.0 | March 20, 2008 | Short Talk Standards based systems management: An.
Feasibility Study of a Wiki Collaboration Platform for Systematic Review Eileen Erinoff AHRQ Annual Meeting September 15, 2009.
Demystifying the Business Analysis Body of Knowledge Central Iowa IIBA Chapter December 7, 2005.
What is a life cycle model? Framework under which a software product is going to be developed. – Defines the phases that the product under development.
Software Quality Assurance in Neuroinformatics H Jeremy Bockholt NITRC Grantee Meeting.
Enabling Exponential Innovation via Open Source Software Development Walt Scacchi Institute for Software Research and Game Culture and Technology Laboratory.
EMI INFSO-RI SA2 - Quality Assurance Alberto Aimar (CERN) SA2 Leader EMI First EC Review 22 June 2011, Brussels.
Requirements Engineering Requirements Elicitation Process Lecture-8.
1 SEG4912 University of Ottawa by Jason Kealey Software Engineering Capstone Project Tools and Technologies.
InWEnt | Qualified to shape the future1 Internet based Human Resource Development Management Platform Human Resource Development Programme in Natural Disaster.
CHECKPOINTS OF THE PROCESS Three sequences of project checkpoints are used to synchronize stakeholder expectations throughout the lifecycle: 1)Major milestones,
Identifying New Market Opportunities through Process Discovery Walt Scacchi Institute for Software Research and Game Culture and Technology Laboratory.
1 Schema Registries Steven Hughes, Lou Reich, Dan Crichton NASA 21 October 2015.
CURRIKI --An Overview Presented to the Bioscience Interest Group Christine Loew Program Manager
Collaboration, Leadership, Control and Conflict Negotiation in the NetBeans.org Community Chris Jensen and Walt Scacchi Institute for Software Research.
OWL Representing Information Using the Web Ontology Language.
Business Analysis. Business Analysis Concepts Enterprise Analysis ► Identify business opportunities ► Understand the business strategy ► Identify Business.
Website that support online communities 1. Wikis 2. Blogs 3. Forums 4. Social networking sites.
CPSC 871 John D. McGregor Change management Module 2 Session 3.
Process Modeling Across the Web Information Infrastructure Chris Jensen and Walt Scacchi Institute for Software Research School of Information and Computer.
(1) Introduction to Continuous Integration Philip Johnson Collaborative Software Development Laboratory Information and Computer Sciences University of.
An Agile Requirements Approach 1. Step 1: Get Organized  Meet with your team and agree on the basic software processes you will employ.  Decide how.
Multi-Modal Modeling, Analysis, and Validation of Open Source Software Development Processes Walt Scacchi, Chris Jensen, John Noll, and Margaret Elliott.
Objective ICT : Internet of Services, Software & Virtualisation FLOSSEvo some preliminary ideas.
JRA1 Meeting – 09/02/ Software Configuration Management and Integration EGEE is proposed as a project funded by the European Union under contract.
V7 Foundation Series Vignette Education Services.
WEB BASED DSS Aaron Atuhe. KEY CONCEPTS When software vendors propose implementing a Web-Based Decision Support System, they are referring to a computerized.
Samad Paydar WTLab Research Group Ferdowsi University of Mashhad LD2SD: Linked Data Driven Software Development 24 th February.
Developers Users Committers How do I configure this now? Just one more fix and I am done! CVS Download/Use Software Submit problems/ request features Store.
Building Enterprise Applications Using Visual Studio®
Software Project Configuration Management
Understanding Best Practices in Free/Open Source Software Development
Constructing Deploying and Maintaining Enterprise Systems
Health Ingenuity Exchange - HingX
Walt Scacchi Institute for Software Research and
Walt Scacchi Institute for Software Research
Enterprise Program Management Office
TDL Open Source Project (TOP) Input to MTS#70,
Open Source Software Development Processes Version 2.5, 8 June 2002
Presentation transcript:

1 Discovering, 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

2 Context 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

3 Context Discover, model, (re-)enact, and repair processes Discover process context, participant roles, tools, resources, interdependencies within and across projects over the Web Why? –Enterprises don’t know their processes –Process improvement, optimization, redesign –Process interdiction w/ competitive advantage

4 Overview – Process discovery – Process modeling – Process re-enactment – Discussion – Conclusions

5 Process 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

6 Annotated chat transcript Hello (Outsider Critique-1 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 ? We should avoid using non ‑ free software at all cost, am I wrong ? (Extreme belief in free software (BIFS)-1) Anyone awake in here ? Outsider Critique-1)

7 Current 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.

8 NetBeans.org Community Ecosystem JCP Open Office W3C Conflict Coordination Conflict Coordination Conflict Coordination Conflict Coordination Conflict

9 Boundary 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

10 Direct Interaction Conflict Coordination Conflict Tomcat

11 Intra-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--collaboration breakdowns lead to product failures

12 Intra-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.

13 Indirect process interactions across projects 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, Tomcat integration into NetBeans, compliance with W3C standards, Apache Ant integration into NetBeans NetBeans workarounds for Mozilla shortcuts NetBeans and Mozilla developers collaborate on spell-checking module, NetBeans adopts Mozilla super review process Apache releases new version of Tomcat

14 Inter-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

15 Process modeling Rich pictures with hyperlinked Use Case scenarios Directed and attributed resource flow graph Process domain ontology

16 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

17

18

19 NetBeans

20 Process re-enactment Generating executable or re-enactable process specifications from ontology “Low-fidelity” process re-enactment support –We don’t 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

21 Formal 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 } agent { users, developers, Sun ONE Studio QA team, Sun ONE Studio developers } script { Navigate to Issuezilla Query Issuezilla Enter issue } } …

22 PML validation analysis

23 PML analysis detail (excerpt)

24

25

26 Discussion 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

27 Patterns 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 one’s own community These interactions give rise to additional opportunities for coordination and conflict

28 Socio-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

30 Validation 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

31 Discovery, 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.

32 Where We’re Going

33 MKIDS 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

34 Conclusions 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.

35 References D.C. Atkinson, D.C. Weeks, and J. Noll. The Design of Evolutionary Process Modeling Languages, Proc. 11 th Asia-Pacific Software Engineering Conf., Dec D.C. Atkinson and J. Noll. Automated Validation and Verification of Process Models, Proc. 7 th Intern. IASTED Conf. Software Engineering and Applications, November C. Jensen and W. Scacchi, Discovering, Modeling, and Reenacting Open Source Software Development Processes, Institute for Software Research, Submitted for publication, March C. Jensen and W. Scacchi, Process Modeling the Web Information Infrastructure, Proc. 5th. Software Process Simulation and Modeling Workshop, Edinburgh, Scotland, May 2004.

36 References C. Jensen and W. Scacchi, Data Mining for Software Process Discovery in Open Source Software Development Communities, Proc. Workshop on Mining Software Repositories, , Edinburgh, Scotland, May 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 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, W. Scacchi, C. Jensen, J. Noll and M. Elliott, Multi-Modal Modeling of Open Source Software Requirements Processes, submitted for publication, September 2004.

37 Acknowledgements 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 # , # , # , and #