Web Collaboration for Software Engineering


Published on

My presentation for my master thesis. Main contents are:

- Research on CSCW, Groupware, Social Software and Software Engineering
- Analysis of 47 Software Engineering tools
- Web prototype developed in Ruby on Rails
- Experiment for testing the prototype

It's in English.

Published in: Education, Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Web Collaboration for Software Engineering

  1. 1. Web collaboration for software engineering<br />Tiago Mourão Teixeira<br />Supervisor: Ademar Aguiar, Co-supervisor: Nuno Flores<br />MIEIC - 17 July 2009<br />
  2. 2. Presentation outline<br />Collaboration: What and why?<br />Background on collaboration research areas<br />Collaborative Software<br />Software Engineering Tools<br />Problem Statement and Solution<br />Prototype and Experiment<br />Conclusions and Future Research<br />2<br />
  3. 3. Collaboration: what is?<br />+<br />Collaboration is a process where two or more parties<br />work together towards a common goal.<br />3<br />
  4. 4. Collaboration: why?<br />Social nature<br />Complexity<br />Dimension<br />4<br />
  5. 5. Background on collaboration research areas<br />Groupware<br />Computer-Supported Collaborative Work (CSCW)<br />Collaboration in Software Engineering<br />5<br />
  6. 6. Groupware<br />Original definition: <br />“intentional group processes plus software to support them” (Peter and Trudy Johnson-Lenz)<br />Main goal<br />Use computers to assist groups in:<br />Communicating<br />Collaborating<br />Coordinating<br />6<br />
  7. 7. cscw<br />Definition:<br />“ CSCW examines the possibilities and effects of technological support for humans involved in collaborative group communication and work processes” (J. M. Bowers and S.D. Benford)<br />Interdisciplinary field<br />7<br />
  8. 8. Groupware vs. cscw<br />CSCW<br />Groupware<br />8<br />
  9. 9. cscw classification<br />9<br />
  10. 10. Categories of collaboration<br />Unstructured communication<br />Coordination (E-mail, IM, …)<br />Meetings and conversations in workplace<br />Structured communication<br />Formal and semi-formal artifacts<br /> (Reports, Diagrams, ...)<br />Each artifact has its own model<br />Collaboration in software engineering<br />10<br />
  11. 11. Collaboration in software engineering<br />11<br />
  12. 12. Collaborative software: asynchronous and different place cscw<br />12<br />
  13. 13. Collaborative software: asynchronous and different place cscw<br />13<br />
  14. 14. Collaborative software: asynchronous and same place cscw<br />14<br />
  15. 15. Collaborative software: synchronous and different place cscw<br />15<br />
  16. 16. Collaborative software: synchronous and same place cscw<br />16<br />
  17. 17. Collaborative software: social software<br />17<br />
  18. 18. Collaborative software: social software<br />18<br />
  19. 19. Software engineering tools<br />47 tools distributed among 6 areas:<br />19<br />
  20. 20. Software engineering tools: Criteria<br />Collaboration<br />Awareness<br />Communication<br />Collective Knowledge<br />Integration<br />Other characteristics<br />Context awareness<br />20<br />
  21. 21. Software engineering tools: open issues<br />E-mail<br />Depended on external services<br />Used primarily for notification purposes<br />Group calendars<br />Lack in the Engineering Management area<br />21<br />
  22. 22. Software engineering tools: open issues<br />Lack of features popular in the Web<br />22<br />
  23. 23. Software engineering tools: open issues<br />Inexistence of:<br />Online whiteboard<br />Usages: draft of a diagram (Design)<br />Recommender<br />Screen sharing<br />Social bookmarking<br />Social cataloging<br />Lack of:<br />23<br />
  24. 24. Problem statement<br />Two gaps in the state of the art<br />Need for better web-based tools covering a project’s life cycle<br />Few studies on the impact of integrating collaboration features in those tools, by designing and conducting an experiment<br />24<br />
  25. 25. Problem statement<br />Uniqueness of the problem<br />Collaboration tools <br />Lack of support for the life-cycle of a project<br />The majority provided support by integration with other tools<br />Studies<br />Measured the effects of collaboration in the workplace<br />Lack of features integrated in web-based tools<br />Didn’t monitor the life-cycle of a project<br />However…<br />25<br />
  26. 26. Solution <br />First gap:<br />Integrate collaboration features as plugins into a web-based tool (Redmine) and cover the life-cycle of a project<br />Second gap:<br />Design and conduct an experiment for assessing the prototype’s effectiveness.<br />26<br />
  27. 27. Prototype<br />Features integrated as plugins into Redmine, a project management web application<br />27<br />
  28. 28. Prototype<br />Features analyzed according to four criteria:<br />Time<br />Value<br />Innovation<br />Preference<br />28<br />
  29. 29. Prototype<br />Recommendations<br />29<br />
  30. 30. Prototype <br />Social networking<br />30<br />
  31. 31. Prototype<br />Architectural patterns: 3-tier and MVC<br />31<br />
  32. 32. Prototype<br />Logical architecture<br />32<br />
  33. 33. Prototype<br />Physical architecture<br />33<br />
  34. 34. Experiment<br />Experimental Group<br />Control Group<br />34<br />
  35. 35. Experiment<br />Subjects must be:<br />Familiar of collaborative software.<br />Have participated at least in one Software Engineering project.<br />Be willing perform teamwork.<br />Attributes of interest:<br />Task completion time.<br />Tools used.<br />9 tasks for developing game Pong in Scratch, an interactive programming language.<br />Experiment wasn’t conducted due to the subjects’ unavailability.<br />35<br />
  36. 36. Conclusions<br />Objectives were in its majority successfully achieved<br />Relevant achievements<br />Depth and broadness of the research<br />Degree of integration between plugins<br />High number of implemented requirements<br />36<br />
  37. 37. Conclusions<br />Contributions<br />Research multiple areas and use them to prioritize the features<br />Innovation:<br />Prototype<br />Recommendations, Social bookmarking and Social cataloging plugins<br />Experiment<br />37<br />
  38. 38. Conclusions <br />Future Research<br />Conduct the experiment<br />Resolve the identified open issues<br />Fields of study<br />Integration between web and desktop-based tools<br />Effective support for Global Software Development<br />Migration of tools to the web<br />Prototype’s future developments<br />E-mail with tags<br />E-mail and feeds notifications of “watched” users’ actions<br />Recommendations based on implicit data collection<br />The prototype only provides generic support<br />38<br />
  39. 39. Discussion<br />Thank you!<br />39<br />