Learning Processes and Cooperative Development in Software ...

5 downloads 21492 Views 776KB Size Report
joined the project with the aim of learning to develop software systems and ... The use of collaborative work methodologies in software development is a winning.
Learning Processes and Cooperative Development in Software Engineering Mauro Coccoli1, Paolo Maresca2, Lidia Stanganelli1 1

DIST – Department of Communication, Computer and Systems Science University of Genova, Via Opera Pia, 13 - 16145 Genova {mauro.coccoli, lidia.stanganelli}@unige.it 2 DIS – Department of Computer and Systems Engineering University of Naples Federico II, Via Claudio, 21 - 80125 Napoli {paolo.maresca}@unina.it

Abstract. This reports on the state of advancement of the OTRE project, whose first results were presented during the previous workshop of the Italian Eclipse Community. A wide variety of services and products based on ecosystem Eclipse is being developed, through the interactions between teams composed by groups of students, in different Italian universities. They have joined the project with the aim of learning to develop software systems and services, according to the software engineering principles. Keywords: Eclipse, Software Engineering, Cooperative Learning, Teamwork.

1 Introduction The use of collaborative work methodologies in software development is a winning strategy and it can enhance performances and results. Significant empowerments of the whole development process can be achieved through the adoption of collaborative tools, as a support to traditional software engineering techniques [1]. Nevertheless, collaboration and collaborative processes need a strict coordination among people and their relevant activities, which may lead to an overhead in the activity of management. This is further amplified when teams participating to the collaborative work are arranged in geographically distributed groups. From an educational point of view, this reflects in the need of exploiting the so-called Computer Supported Collaborative Learning (CSCL), generally recognized as a powerful mean for teaching [2]. Then, from a merely technical point of view, suited software tools must be chosen, so to enable learners to cope with the problem of collaborative software development. In the present work, the Eclipse Integrated Development Environment (IDE) [3] is the adopted solution. In more details, within the OTRE Project the CSCL techniques are applied in the academic reference scenario of software engineering courses. In addition, the Jazz platform [4] has been adopted, owing to its features. In fact, Jazz is designed to perform the role of an Orchestra Director, so to improve the single developers’ ability and to drive them to work together effectively [5]. Moreover, the Italian Eclipse

Community has been investigating in depth the capabilities of the Jazz platform along the last years, so that a significant know-how has been already acquired and shared among the members and, finally, student can take benefit from the work already done by previous classes. In this reference scenario, the aspects of collaborative software development are being stressed, for an educational use with students of both software engineering and programming courses. This has driven the set-up of well-defined Jazz-based experimental test bed, for the development of collaborative projects. On the one hand, the objectives are: i) to rule the software development process, ii) to make it an observable process and iii) to identify suited software metrics for evaluation purposes. On the other hand, the educational objective is teaching young students a modus operandi by forcing them to perform different roles (e.g., analyst, developer, tester) so to better understand the criticisms of their work and to enable them to be active part of a work-group. This is a challenging idea because the collaborative model is in contrast with traditional university activities, which are usually driven by competition. The mandatory conditions, to be observed by all of the participants, for collaboration to take place are the following: i) they feel part of a team and recognize a task leader, ii) all together, they perceive a common objective, and iii) they experience a good communication. In this respect the teacher role is shifted to act as a facilitator, while learning may happen among peers. In more details, the OTRE activity is based on 8 sub-projects, 8 team leaders, 1 project leader and 1 general project manager and its reference scenario is that of a full-featured on-line conference management system. Besides, a fundamental part of the project is relevant to the production of a good documentation, so that single assets can be re-used and the work experience is duly valued and becomes replicable, as well as best practices. In this vein, the OTRE Project can be an effective playground for practical software engineering. The remainder of the paper is the following. In Section 2, the OTRE project will be described from both the architecture and management points of view, outlining its main features. In Section 3 we will outline the state-of-the-art of the project, by describing the asset management of the organization with special reference to the adopted software solution supporting the development. Section 4 is devoted to the description of the resource management. Finally, in Section 5 the achieved results will be presented as well as some considerations on possible future development.

2 The OTRE Project In a few words, the OTRE project and the related activity can be described as the experiment of realizing a collaborative learning project, built on the Eclipse IDE and tools. During the development of sub-tasks, users are recommended to use collaboration tools, improving the production of artifacts. The whole project is composed by a variety of sub-tasks; some of them are not related, while others are strictly dependent. Even, one task may be propaedeutic to another one. Since the project has a seamless integration with the educational activity carried on by (academic) members of the Italian Eclipse community, the results will be collected, published, shared and discussed in the annual conference and this has to be

considered a part of the educational task. In fact, during the workshop, the teams that have collaborated remotely will have, finally, the opportunity of meeting themselves as well as of comparing their work and results with the ones achieved by the other teams involved in the same project. It sounds like a “peer-to-peer conference in the conference”, which wants to be much more than a student contest. Each team of students will have completed a group of tasks whose outcome was the realization of a working plug-in for the Eclipse IDE, which will also have to be interoperable with the ones developed by the other teams and, possibly, made available world wide, in the Eclipse Marketplace. We also point out that the OTRE project is much more then an educational activity, since it originates in the framework of an innovative academic project sponsored by the Italian branch of IBM, IBM-Italia. Such program is called “Enforcing Team Cooperation (ETC) using rational software tools into software engineering” [7]. At the actual prototypal stage, 6 Universities in Italy are involved in the pilot project. Specifically, the participants are the following: Federico II, Naples; Milan, Bicocca; Alma Mater, Bologna; Bergamo; Genoa and his Savona Campus; Bari and his Taranto Campus. At the moment of writing, the number of students signed-up within the platform is 528. They all (and maybe more) will keep on working along the entire second semester of the on-going academic year. Each University has gone forming developments teams by merging together students from different courses: “Software Engineering” from the Universities of Naples Federico II, Bologna and Milan Bicocca; “Web Design” from the Universities of Genoa and Bari; “Advanced Programming” from the University of Bergamo. Heterogeneous and distributed teams must be composed with students from different cities and with one teacher tutor for each. In addition, for each University, a Champion Student is chosen to support the corresponding teacher, typically a skilled computer engineering or computer science, PhD student. Besides, the Champion Student is the responsible of the local group. For what concerns both software and hardware configurations and resources, one only PhD student has the technical direction for the overall ETC platform, covering the role of administrator. The topics addressed in the project are directed to a re-engineering of the actual Italian Eclipse Community Web site. In a wider vision the objective is that of developing general-purpose services and applications for a variety of specific fields of interest. Such new services have to be analyzed, designed and developed, with the objective of making the relevant Web site the perfect place to repeat the experimentation after the first group of pioneers students and teachers have achieved their first results. Future classes will have the opportunity of participating, by adding further functionality to the system, integrated with the ones already available and exploiting the previous experience. In fact, after the first running phase, the OTRE will represent a repeatable model so that new experiences can be done without the start-up period and with a quick set-up time as well a smooth learning curve. According to the specifications outlined by the teachers, the newly realized Eclipse-IT portal will have to integrate audio and video contents, paying attention to accessibility and making multi-format information available to the visitors. In this present edition of the OTRE project, the activity will be centered on a set of modular components that will be designed and realized to manage events. Proposed services are: a liveconference system (live streaming of the talks given at the conference); news

management; live blogging; interactive boards supporting chat sessions and live discussions; collaborative systems such as wiki for the documentation management (user, developer, and reference manual, documentation, etc.) as well for the organization of the conference agenda and the topics in a barcamp style; discussion boards for exchanging opinions; sharing systems; publication tools addressed to different targets such as scientific community, developer community, generic and specialist press; user data and profiles management; mash-up tools for the data fusion and aggregation; a “chairman” system to manage submissions and review of the contributions for a workshop; a repository and indexing system to archive the work done and to keep track of interactions; content management; advanced search capabilities; semantic description, indexing and search systems with specific handlers for software libraries and for the Eclipse plug-ins in particular. 2.1 Software Architecture The project started in 2010. In its first stage [6] was designed the architectural design of the system OTRE. Given the good results achieved in the first phase of development [6], it was decided to start another activity devoted to detect, represent, promote and exchange experience, skills and knowledge acquired by students. This task involved University of Naples Federico II, the University of Genoa (and his Savona Campus) and the university of Milan Bicocca. A specific task will be the one that picks up, organize and share assets emerging during project. In this case, an asset is any kind of collection of artifacts that provides a reusable solution to a given business problem. The application that is observed is a system that will allow web services to manage a workshop or a conference.

Fig. 1. The OTRE software architecture

The system handling the eclipse workshop event is composed of the following functions (Fig.1): “Control Center” with coordination role; “Media Center” with the

aim of managing media contents (e.g., voice, video, streams) including conferencing tools (e.g., live presentation, Q&A); “Report Center” able to extract documents and whatever will be useful as documentation of event; “Conference Organization Center” with the aim of making available such a useful tools from an organizational point of view. For the sake of brevity, the blocks shown in Fig. 1 will be no further detailed; just some additional information about some strategic components will be given. The interested readers can find a more detailed description in reference [8]. Considering the system functionalities from the users’ point of view, we remark that live-conferencing tools for streaming audio and streaming video of the talk of the conference may be a good choice for a practice community that plans to grow further and continuously; these information will be accessible from both the companies and the students. Connected to these, other cooperative tools are provided, such as live blogging, blackboard and wiki, finalized to support live-report during the conference and post-conference discussion. It is worthwhile to outline that wiki tools could be useful also for collaborative construction of topics for the first call for papers and agenda of the day after, by the Technical Program Committee. For not-attending people, sharing tools, browser for remote viewing of presentations by the various channels through video streaming are available for use. The inclusion of tools to package and sharing web technical articles and essays is also planned, to re-arrange data in order to publish them onto journals or magazines. A more specific resource is represented by a mash-up activity designed to manage conference data (both video and audio) in order to extract and abstract behavior of virtual communities and groups during both the development of the project and the community activities (e.g., conferences, sharing knowledge). Finally, tools for archiving and cataloguing the plug-ins developed by both students and professionals, submitted to the community in the annual workshop will be available. These will own capabilities of semantic content search and classification with plug-in for document management and software libraries management. The project will involve groups of students with different roles predefined and geographically distributed throughout Italy between those universities participating to the experimentation. 2.2 The OTRE Project: Issues Management As already mentioned, the considered track of the OTRE project is composed of 8 sub-projects. In addition, 4 supporting projects have been launched, each with its own specific development process and assets. Each sub-project assigned to a team is supported by documentation and is developed by using Internet collaborative tools. Fig. 2 shows both the projects already completed and the ones released for the testing phase. For each sub-project a process of development is assigned. Details are given in Table 1, in which one can find the explanation of the acronyms of each sub-project, the number of participating students, the assigned priority and the state of the art. As reported, the total amount of students involved is 44 and they are coordinated by 3 graduating students, 1 PhD student, and by 2 teachers assuming in tandem the general manager’s role.

It is worthwhile to describe, albeit briefly, the purpose of the OTRE supporting projects. The project is complex; therefore it is necessary that some groups will serve to support some of the others’ activities. As an example, each group identifies and proposes the functional and nonfunctional requirements for their sub-project, which are discussed and approved during several conference calls.

Fig. 2. The OTRE System

Table 1. Detailed situation of sub-project, people involved and state of advancement Sub-Project SSIN (Single Sign-IN) RC (Reporting Center) AVC (Audio and Video Conference) CST (Conference Sharing Tools) IT (Interaction Tools) MSC (Managing Scientific Contribution) Asset Management (AM) (RE&R) Requirement Elicitation, Engineering & Representation Advanced Asset Management (AAM) (QM) Quality Management Testing (T) SSIN Portal and Services (SSIN P&S) OTRE Portal (OTRE P) Total

Students 2 3 2 3 4 2 7 4 8 3 4 2 3 47

Priority high medium high medium medium medium medium high low high high low high

state testing testing testing testing testing testing ongoing ongoing ongoing ongoing started started started

After the approval, the RE&R group draws up the specification documents and circulates them among the other interested groups. That is, a group of students that

harmonizes the processes of collecting requirements. The QM group has the task of defining test cases, while the T group will actually run them into sub-projects. The group SSIN P&S has the task of developing a Web application that serves to log into the OTRE system and therefore makes available all services provided within single sign-in models. The groups involved in AM and AAM, respectively, describe the projects assets (e.g., requirements and design) and the people assets. The AAM in particular, is dedicated to the construction of metadata for representing the knowledge and the skills acquired by each student. Thus, the network of knowledge allows flowing these capabilities and makes them available for the reuse to other communities, where necessary.

Fig. 3. OTRE Main Use Case diagram

The diagram shown in Fig. 3 represents the main use-case diagram of the project. It is the result of a collaborative process, obtained at the end of the discussion and the acceptance of requirements by all (groups, general manager and team manager). In a subproject each feature designed to be incorporated from time to time (incremental development with iterative enhancement), also being a prerequisite for some other feature was necessary to assign a priority to the various subprojects. The Table 1 shows the sub-projects and their priorities. State of art is: there are 6 sub-projects completed in the testing phase, others are ongoing and others just started.

3 OTRE State of the Art

Fig. 4. Screenshot of the OTRE-P: OTRE portal access (italian version)

As already mentioned in Section 2, the OTRE project is at a stage of advanced development. Below we will discuss those applications that have been developed and are now in the testing phase. Since OTRE represents an abstract system that contains many heterogeneous applications, a portal was built, hosting the sub-projects and the service projects. To begin, Fig. 4 shows the OTRE-P portal. OTRE-P contains not only OTRE applications, but permits to manage the connection with some ETC tools that are used in the OTRE project, such as RAM and RQM, which are discussed below because these two tools of ETC are important for OTRE. Also OTRE-P maintains a wiki and a forum for group of developing of project, which consists of 47 students, 3 undergraduates and 1 PhD.

Fig. 5. Screenshot showing the Single Sign-IN Portal & Service (SSIN S&P)

SSIN P&S is the first tool and sub-project of OTRE. It is the service for the single sign in, for applications inside OTRE. The same SSIN P&S will be used to interact with IBM-Rational applications inside ETC project. Fig. 5 shows the application that uses CAS for SSIN. Through this application, each OTRE project user engaged a single portal access and doesn’t need to make any other access to use other OTRE applications. One important subprojects of OTRE, is the management of work submission or the MSC project (Managing Scientific Contribution), which is made using a customized version of Alfresco, see Fig. 6, the submission and works refereeing can be customized, at the moment only changing Alfresco.

Fig. 6. Screenshot of the OTRE-MSC for managing scientific contribution

In the near future we plan to define some primitives to enable semi-automatic modification of the OTRE-MSC application. Another project integrated into OTRE is AVC (Audio and Video Conference). This project has two perspectives: supply and use. In the former case, the director enters the application, he/she chooses a specific room, then connects and transmits the work (see Fig. 7). In the latter case, the user logs in and selects the conference room where user accesses virtually, and in this way assists the work. Separate discussion is needed for the two tools Rational Asset Manager and Rational Quality Manager content, in OTRE-P website. In the next paragraph will discuss project asset and how these have been important, also for the cultural maturation of the student team. With regard to RQM, the projects were followed by a students group who have engineered the requirements. The project name is (RE&R) Requirement Elicitation, Engineering & Representation. The same group has defined the test case of functional and non-functional specific, for which it was necessary to use Rational Quality Manager for the definition and tracking of test cases. Another group of students will have the task of testing whole OTRE project at the end of its development.

Fig. 7. OTRE-AVC: perspective of spectator

4 Resource Management The OTRE organizations accumulate artifacts while developing their projects, including: software artifacts such as requirements, code, and documentation, skill, ability, and so on. The idea is to collect, store and share assets developed within the OTRE Project. An asset is a collection of artifacts that provides a reusable solution to a specific problem. We observed that using assets foster reusing, thus reducing time, effort and risk of software development. Students tend to share a certified asset in order to solve problems. Moreover, an asset is associated with a specific set of metadata that classifies and describes the asset’s content, while providing some of the asset's packaging. As an example of asset we can consider: i) ii) iii) iv)

test case, business requirement, functional requirement, risk management plan.

For the management activity to be carried-on with a professional flavor, the Eclipse platform hosting the OTRE project has been enhanced with the Rational Asset Manager (RAM), provided by IBM. More in details, the Rational Asset Manager can be described as a collaborative, development-time asset management repository,

enabling teams to identify and manage the design, development, and utilization of software and other reusable, business-related assets. The RAM has tools that allow users to search, organize, and download assets. Other features enable communication among users, provide governance, and obtain statistics. In Rational Asset Manager, asset metadata conforms to the Reusable Asset Specification (RAS), a standard for organizing software artifacts into reusable assets. Rational Asset Manager has two client types, an Eclipse client and a Web client. The Eclipse client enables software practitioners to search, browse, download, and update assets within the same integrated development environment as their other software development tools. The Eclipse client functionalities are the following: • • • •

Submit and classify assets Search, download, and rate assets Use assets Integrate with either CVS or ClearCase SCM adapter plug-ins

Fig. 8 shows the Eclipse asset manager client platform adopted in the OTRE project. The upper side shows risk management software development plan followed by developing teams (e.g., Universities of Naples and Genoa here) and produced by a student team at Milan Bicocca. Other assets are available for use (see asset windows in the lower side of Fig. 8) and students can rate each one. It is the authors’ opinion that the use of assets fosters knowledge sharing by enforcing team intelligence, maximizing value from non-software assets. In fact, knowledge sharing capture best practices, proven business processes and associated artifacts.

Fig. 8. Screenshot of the Eclipse Client Asset Manager

5 Conclusions and Future Work In this paper, the outline of a running project has been presented, focusing on the disparate activity required to manage collaborative software development projects. The adopted solution is the Rational Asset Manager, part of the Jazz software ecosystem. Further results from the activity of the students (and their supervising teachers) will be soon available and will allow evaluating the effectiveness of the presented approach. At the present moment, 6 out of the 8 sub-projects have already reached the testing phase. Remaining tasks are at an advanced level of development, yet not released. Besides the aforementioned 8 sub-projects, 4 other jobs have been launched, so-called service components, based on the requirements emerged during the development of the main tasks. Such components are devoted to store, manage, and share the knowledge acquired in the whole project. Skills and abilities, are contained in specific assets, duly described, and accessible over the network to other developers, participating to the Eclipse open community at large. A general framework for the development of team-working skills has been presented, based on the Eclipse and Jazz framework and tools. Such a test-bed can be considered as a learning tool itself and it can be re-used in many different applications, even different from the software engineering we have been referring to along the whole paper. As a significant example, consider the Public Institutions and large Organizations. In such organizations, cooperating to reach a common objective can be a critical point to achieve results and meet the milestones. The availability of a framework enabling users to cooperate through advanced software systems can greatly empower such scenarios and interesting perspectives can be considered in many other fields.

6 Acknowledgement Authors wish to thank IBM for allowing the use of software from their Academic Initiative Program and for their helpful support. Also, authors wish to thank the Eclipse Foundation for their support to the Italian Eclipse Community.

Bibliography 1. 2. 3.

Booch, G., Brown, A.: Collaborative Development Environments. Advances in Computers, 59, Academic Press (2003) Williams, S., Roberts, T.S.: Computer Supported Collaborative Learning: Strengths and Weaknesses. In: Proc. of the 2002 Int. Conf. on Computers in Education, pp. 328--331 (2002) IBM, Eclipse, http://www.research.ibm.com/eclipse

4. 5. 6. 7.

8.

Cheng, L., Hupfer, S., Ross, S., Patterson, J.: Jazzing up Eclipse with Collaborative Tools. In: Proc. of the 2003 OOPSLA Workshop on Eclipse Technology Exchange, pp. 45--49, Anaheim, CA (2003) Frost, R.: Jazz and the eclipse way of collaboration. IEEE Software, vol. 24(6), pp. 114-117 (2007) Coccoli, M., Maresca, P., Stanganelli, L.: Enforcing Team Cooperation Using Rational Software Tools into Software Engineering Academic Projects. In: Eclipse-IT 2010, Ed. M. Coccoli, pp. 90--103, De Ferrari, Genova University Press, Genova (2011) Coccoli, M., Maresca, P., Stanganelli, L.: Enforcing Team Cooperation: an example of Computer Supported Collaborative Learning in Software Engineering. In: Proc. of the 16th International Conference on Distributed Multimedia Systems, International Workshop on Distance Education Technologies, DMS-DET 2010 (Chicago, IL, U.S.A., Oct. 14-16, 2010), pp. 189--192 (2010) Coccoli, M., Maresca, P., Stanganelli, L.: Computer Supported Collaborative Learning in Software Engineering. In: Proc. of the 16th IEEE Global Engineering Education Conference - Learning Environments and Ecosystems in Engineering Education, IEEE EDUCON 2011 (Amman, Jordan, Apr. 4-6, 2011), pp. 990--995 (2011)