A Framework for Teaching Software Development Methods

Size: px
Start display at page:

Download "A Framework for Teaching Software Development Methods"

Transcription

1 Computer Science Education Vol. 15, No. 4, December 2005, pp A Framework for Teaching Software Development Methods Yael Dubinsky* and Orit Hazzan This article presents a study that aims at constructing a teaching framework for software development methods in higher education. The research field is a capstone project-based course, offered by the Technion s Department of Computer Science, in which Extreme Programming is introduced. The research paradigm is an Action Research that involves cycles of data collection, examination, evaluation, and application of results. The research uses several research tools for data gathering, as well as several research methods for data interpretation. The article describes in detail the research background, the research method, and the gradual emergence process of a framework for teaching software development methods. As part of the comprehensive teaching framework, a set of measures is developed to assess, monitor, and improve the teaching and the actual process of software development projects. 1. INTRODUCTION It is a well-known fact that the process of software development is a complicated task, composed of many aspects, such as cognitive, social, and technical ones (Hamlet & Maybee, 2001; Tomayko & Hazzan, 2004). Accordingly, the academia has a significant and non-trivial role in the education of future software engineers toward this multifaceted challenge. The objective of the research described in this paper is to construct a framework for the teaching of software development methods (SDMs) not by means of a lecture, but rather by basing the teaching process on active learning (Revans, 1983/1988), in which the students actually apply an SDM. This work supports recent calls for the integration of software development skills into computer science and software engineering programs (Denning, 1992; Meyer, 2001). The main theoretical contribution of this research is by shaping a teaching framework composed of conceptual principles and teaching practices for projectbased capstone courses in higher education. In addition, since the research subject is strongly related to the software industry in which students are supposed to work, and to the community of customers and users of the software industry, the research has also a practical contribution. Specifically, the application of SDMs in general, while *Corresponding author. Computer Science Department, (adjunct lecturer), Taub Building, Technion Israel Institute of Technology, Haifa 32000, Israel. yael@cs.technion.ac.il ISSN (print)/issn (online)/05/ Ó 2005 Taylor & Francis DOI: /

2 276 Y. Dubinsky and O. Hazzan increasing customer collaboration in particular, is part of the process improvements that occur nowadays in the software industry. The role of academia is to train software engineers who will be able to contribute and lead such processes. Teaching and using SDMs in software engineering courses can partially answer the needs for technical, managerial, and social skills expressed in software development processes. In Hazzan and Dubinsky (2003) we described ten conceptual ideas principles that create the basis for our framework, and examined each of them from both a pedagogical and an organizational viewpoint. Based on these principles, five practices were developed. This article elaborates on this framework, describes its construction process, and presents a detailed description of the five said practices. The second section of this article describes the research background. In the third section, we elaborate on the research approach and describe the research tools and the data analysis methods. After the presentation of the practices, we summarize the article in the fifth section. 2. RESEARCH BACKGROUND 2.1. Research Field: Project-based course One of the advanced courses offered by the Department of Computer Science at the Technion, and taught by the first author for the past seven years, is the project-based capstone course Projects in Operating Systems. Since the summer semester of 2002 the course has been taught in a studio-oriented format. The studio is the basic learning method used in architecture schools. In such studios, students develop projects, closely guided by an academic coach, while performing on-going reflection, both on what is created and on the creation process itself (Kuhn, 1998; Tomayko, 1996). Hazzan (2002) analysed the suitability and implementation of the studiobased teaching approach for software engineering education. Extreme Programming (Beck, 2000; Beck with Andres, 2005) on which we elaborate later, is the development method chosen to be introduced into the studio in that course. Since the summer semester of 2002, the above course format has been applied in the Operating Systems Projects course in 31 projects. The initiative is highly supported by the Department of Computer Science, which, among other things, provides the required resources and equipment as is described in what follows. Each team of 10 to 12 students works on a specific operating system project during the entire semester, in its own studio, which is equipped with computers, tables, and white boards. Each team has an academic coach who guides the development process (but does not manage it!). Attendance of all students at all of the weekly sessions lasting between 2 and 4 hours is compulsory. In these meetings, Extreme Programming is taught and employed. In between sessions, communication is conducted via an electronic forum, which is part of the course web-based environment. Although the new format of the Operating Systems Projects course also includes the teaching of an SDM, the operating systems-related material traditionally taught in the course has remained

3 A Framework for Teaching Software Development Methods 277 unchanged. Furthermore, the introduction of Extreme Programming into the course has been found to enrich the development environment with respect to topics such as customer needs and process management (Dubinsky & Hazzan, 2004) Software Engineering Methods, the Agile Approach, and Extreme Programming The field of software engineering is relatively young. One of its main aims is to provide principles and guidelines for software development processes. The main problems encountered by practitioners in the field, as well as by customers of software products, are bugged software systems and projects that exceed their planned costs, deviate from their estimated schedule and fail to meet their deadlines. In the past 20 years, professionals in the field have tried (in vain) to find a silver bullet (Brooks, 1987) that would solve these main problems for all software projects. So far, and as Brooks specifically noted in his 1987 article, such a solution is not expected to be found. However, increased awareness to these common problems has led many professionals to realize that software development processes should and can be improved. Agile SDMs have emerged over the past decade as a response to the abovementioned unique problems that characterize software development processes (Highsmith, 2002). In general, agile SDMs emphasize customer needs, communication among team members, short releases and heavy testing throughout the entire development process (See the Manifesto for Agile Software Development agilemanifesto.org/). These principles are implemented quite differently by different agile SDMs. Extreme Programming (XP) is one of the agile SDMs and is accepted as the most commonly used of them all. XP emphasizes four values as the backbone principles of the method (Beck, 2000), namely communications, feedback, simplicity, and courage. 1 These values are implemented using 12 practices, which are outlined as follows: XP programmers work at a sustainable pace, on small releases that are divided into frequent small iterations. The customer is always on-site, and helps make the decisions during the planning game of each release and iteration. According to the determined scope, the development work is estimated and divided among the team members, ensuring a balanced workload for each. A metaphor is used to enhance communication between the customer and the team, and among the team members themselves. The team members perform (unit) testing, as well as periodic code refactoring, the goal of which is to obtain a simple design. Continuous integration of the code is performed by adding each small part of code to the system and running the full suite of automated tests. This provides the programmers with immediate feedback and small changes are subsequently performed in the code if needed. The pair programming practice, that is, production of code by two programmers working together, ensures that each line of code is inspected and reviewed by at least two pairs of eyes. During the development process there is a turnover of pairs according to the developers knowledge and needs. The code complies with coding standards determined by the team and is collectively owned by the team. Thus, a greater number of programmers view, simplify, and

4 278 Y. Dubinsky and O. Hazzan inspect the code, in addition to the original pair who wrote it. This in turn increases the teammates commitment to the entire process of software development. As can be observed, XP introduces a new approach into the software development world. More specifically, unlike SDMs that specify development stages, XP outlines specific activities that are to be conducted on a daily basis in the course of software development processes. This unique characteristic of XP, together with its acceptance as the leading agile SDM, led to the decision to introduce it into the Projects in Operating Systems course. A similar approach was applied by other researchers (Allen, Cartwright & Reis, 2003; Melnik & Maurer, 2003), though not within the studio framework. 3. RESEARCH FRAMEWORK 3.1. Research Paradigm Action Research is the research arena in which researchers study the domain within which they work, employing a systematic and criticized process. This research approach is usually adopted in cases in which researchers wish to improve their understanding of an action they perform, identify problems, find solutions to these problems and examine the application of these solutions in order to improve the process undergone in the research field. The origin of this research perspective is Kurt Lewin s work (Lewin, 1946, reproduced in Lewin, 1948), which is based on a spiral set of steps, each of which is composed of a circle of planning, action and factfinding about the result of the action (p. 206). The discussion about Action Research tends to fall into two distinctive camps (Smith, 1996). The British tradition views Action Research as the research approach oriented toward the enhancement of direct practice, and largely associates it with educational research. The second tradition, more accepted in the USA, conceives of Action Research as the systematic collection of information that is designed to bring about social change (Bogdan & Biklen 1992, p. 223). It seems that the research described in this article touches on both traditions. As can be observed, Action Research inspires an inductive research method in which a framework is developed by means of an iterative process, in which the researcher develops a theory while simultaneously testing it and gathering additional data in the course of the research itself. When a study is conducted within the paradigm of Action Research, there is a continuous interplay, which is an integral element of the ongoing research process, between data collection, data analysis, and the application of intermediate results. This research paradigm is appropriate for the research described in this paper for at least two reasons. First, as far as we know, the teaching of SDMs by using an active learning approach is not common. Therefore, an appropriate teaching framework was not available at the time when the first author wished to introduce this approach into her course. When the construction of such a teaching framework was decided on, Action Research seemed perfect to guide this process.

5 A Framework for Teaching Software Development Methods 279 Second, the Action Research paradigm was deemed suitable for our research because it was possible to apply it in a very natural manner. Specifically, the research field an academic environment consists of semesters of study enabled to establish an iterative process during which our proposed teaching framework was shaped in an inductive process, while the results obtained so far were constantly applied, and the suitability of the developed framework was continually examined and compared to newly gathered data and findings Research Method The research paradigm (Action Research) is applied in our research by the use of a measured-qualitative research method, that is, a qualitative research method accompanied by a set of measures which provides complementary quantitative data with respect to several factors evolved during the research. In what follows we describe the main characteristics of the qualitative research method, along with an explanation regarding its suitability to our research. This analysis is based on Cook and Reichardt, 1979, Strauss, 1987, and Patton, Qualitative research is interpretive. Its objective is to explain situations and processes. Indeed, in our research we aim to describe the process of teaching SDMs. A qualitative researcher feels a relative lack of control. Indeed, at the beginning of this research, we felt that the integration of XP into the course activities might reveal interesting and important findings that, eventually, would help us in the construction of a teaching framework. Although at that time we had neither an initial idea about the teaching framework nor a complete design for the study, the fact that we had adopted the Action Research paradigm for our research helped us to navigate the vague and unclear first steps of the course of research. Qualitative research is inductive. In other words, categories and theories emerge from the data. Indeed, our teaching framework has evolved based on data analysis and is, in fact, still undergoing refinement. Qualitative research is also process oriented and insider centered process. In our case, the first author works in the research field, guides a team of students each semester, works in parallel to three other academic coaches who each guides his/her own team of students. The second author observes studio activities and participates in meeting of the academic coaches, and is also involved in the investigation of human aspects of software engineering (Tomayko & Hazzan, 2004). Both authors conduct XP training sessions for the academic coaches. Our set of measures has evolved naturally in the course environment since one of the roles of the academic coach is to evaluate the work of each student as well as the software product that the team develops. The emerged measures relate to two main categories. The first category is the customer category that deals with meeting the customer s requirements and schedule. The second category is the process category that deals with management aspects of the project such as roles and team work (see later).

6 280 Y. Dubinsky and O. Hazzan The application of the research paradigm (Action Research) using the measuredqualitative research method led us to the establishment of an iterative process that consists of data gathering, data analysis, reflection, refinement of the framework constructed so far, and so on and so forth (data gathering, data analysis etc.). Specifically, the research began with the collection of data in the form of observations conducted in the research field, interviews with students and academic coaches, projects electronic forums and questionnaires. After the analysis of this data, initial findings started to emerge. Based on these preliminary findings, an initial rough and general version of the framework was formulated. At subsequent stages of the study, the framework was cyclically refined through the above-described iterative process. Such iterations reoccurred during our research at various intervals, and had different cycle times. Some iterations were long (a full academic year); other iterations were shorter (one semester); yet, there were even shorter cycles, such as those that were performed when we wished to improve our understanding of a specific topic. The iterations were characterized also in terms of practices. Different iterations were carried out for different practices. From the accumulative interpretations obtained during all iterations of all lengths, a framework was gradually formulated and conclusions were derived. The above process was applied during the past nine semesters (Summer of 2002 through Spring of ) in 31 projects, developed by more than 300 students who worked in teams of 10 to 12 students each Research Tools This section describes the research tools that were used in this research for the purpose of data gathering. Videotapes. Each semester, all of the meetings held by one team were videotaped. The videotapes were viewed during, as well as after, the semester in which the data were gathered. Focus was placed mainly on the discourse that took place during the meetings, in order to find repeated discourse patterns. The videotapes were complemented by the second author s observations of two teams throughout the entire semester period. Student reflections. After each weekly meeting, the students reported their reflections using the web-based tool that was used for course management. These reflections addressed general themes as well as subjects dealt with at the most recent meeting. Electronic forum. In between the weekly meetings, the students complemented their communications using an electronic forum. Analysis of the forum messages revealed the story of the group in general, and the group dynamics and status of the project development in particular. Interviews. In order to improve our understanding of specific issues, whether they emerged from observations, videotapes, or student reflections, open

7 A Framework for Teaching Software Development Methods 281 interviews and semi-structured interviews with students and academic coaches were conducted. Questionnaires. Questionnaires enabled us to examine the responses of a relatively large number of participants. Usually, after the questionnaire results were gathered and analysed, we refined our findings by means of interviews. Questionnaires were also used in some instances in preparation for a retrospective process. Researcher s diary. The academic coach (the first author) kept a researcher s diary, which included personal observations, reflections, thoughts, short notes made on different occasions, etc. The data gathered using these research tools provided a multi-faceted picture of the process of teaching and learning SDMs. It enabled us to see the development environment, hear the voices of the students and academic coaches, and read their reflections and questionnaire answers. In addition, the data were used for the measures required for the assessment of the development process Data Analysis Methods The data gathered using the above research tools were analyzed using common qualitative research methods (see upper part of Table 1) as well as quantitative data analysis that fits our set of measures (see lower part of Table 1). In what follows, we describe each of the data analysis method. Constant comparison is a data analysis method in which the researcher examines the data, codes (transcribes) events and behaviours, and then begins an analysis process Table 1. Data analysis methods and their corresponding research tools Data analysis method Constant comparison Hermeneutical analysis Discourse analysis Narrative analysis Measures of quantitative data Research tools Interviews with students Interviews with academic coaches Observations Questionnaires Questionnaires Electronic text: Electronic forum and students online reflections Videotape of studio sessions Record of academic coaches training Electronic text: Electronic forum Electronic text: Students online reflections Questionnaires Electronic text: Electronic forum and students online reflections

8 282 Y. Dubinsky and O. Hazzan based on the comparison of different pieces of data with the objective of identifying consistencies that may reveal categories. In our research, for example, we transcribed interviews with the course s academic coaches and constantly compared findings that emerged from them in order to reveal categories that later influenced the construction of the Coaching Practice (see Dubinsky & Hazzan, 2003, and later in this article). Hermeneutical analysis is a data analysis method in which the researcher makes sense of a written text while looking for its meaning from the perspective of the people involved in the situation (Manen, 1990). The researcher uses the participants own words to tell their stories and to describe social interactions among them. In our research, for example, we used this method for the analysis of students written reflections, in which they described their perception of their individual role in the software project (see Dubinsky & Hazzan, 2004, and later in this article). Discourse analysis is a linguistic analysis of an ongoing flow of communication (Gee, 1992). The researcher refers to linguistic aspects, while considering the way people conceive a specific topic and the influence this conception has on their behaviour. In our research, for example, we used discourse analysis to study videotapes of studio activities. Results obtained fromthis analysis were used in the construction of the Course Practice. Narrative analysis is the study of the speech or narrative of the individual (Reisman, 1993). Unlike discourse analysis, in which the interaction among individuals is at the focus of the analysis, in narrative analysis the focus is placed on the story as it is told by the individual. This kind of analysis was used in our research in different ways. For example, narrative analysis was used when we examined students personal narratives presented as reflections by using the web-based tool. This kind of analysis was also used in the analysis of videotapes. Narrative analysis is indirectly illustrated later in this article. Measuring analysis provides a way to assess by quantitative means activities that occur during the development process. The measuring is performed after the activities have been conducted by using quantitative data. In our research, quantitative data is gathered from questionnaires, students communication via the course electronic forum and students reflections after each activity Validity and Reliability Ways exist to ensure validity and reliability in qualitative research and quantitative measures (Kirk & Miller, 1986). In what follows, we describe in brief how we ensured validity and reliability in our research. In order to ensure validity, the consistency of our results was checked using several resources (students, academic coaches, and researcher), several research tools and several data analysis methods. Furthermore, the research was repeated 31 times during the past nine semesters, with two to four studios and three to five academic coaches each semester (one of whom is the first author), who worked according to the

9 A Framework for Teaching Software Development Methods 283 same schedule and guidelines. Thus, the teaching framework that emerged was rechecked and re-refined each semester. Reliability is ensured by letting different people analyse the same data. Thus, for example, videotapes were examined by two (and sometimes three) researchers and written material was examined by the two researchers. In some cases, we asked different groups of researchers to analyse written material, and then compared the different analyses obtained. 4. RESEARCH FINDINGS Our research outcome is composed of a comprehensive teaching framework that emerged during the research. Based on conceptual principles, five practices were developed. The practices refer to the teaching activities and enable the academic staff to evaluate the students as well as the development process A Framework for Teaching a Software Development Method The framework for teaching software development methods (SDMs) is based on ten conceptual principles (Hazzan & Dubinsky, 2003). Specifically, Principle I addresses the course structure; Principless II V address the actual teaching of the SDMs; Principles VI IX address the people involved in the educational environment the students and the coaching team; and Principle X is a meta-principle that suggests action over preaching. The ten principles are presented in Table 2. In order to facilitate memorization of the principles, we have given each of them a short nickname. Table 2. Principles of the emerged framework for teaching software development methods Number Category Nickname Single sentence description I Course Project-based Course structure: Project-based team-based course II Teaching Cognition Teaching a software development method: What aspects should be emphasized? III Adjustment Adjustment of the software development method to an academic course framework IV Projection Projection of the software development method s notions into the project development environment V Connectivity The software development method in the context of the world of software development VI People Evaluation An expression of the software development method in student evaluation policy VII Listening Listening to students conceptions, objections, and expressions VIII Reflection Students reflections and progress diaries IX Coaching Coaches conceptions, hesitations, and feedback X Meta Inspiration Inspiring the actual use of the software development method rather than preaching it

10 284 Y. Dubinsky and O. Hazzan While the ten principles are conceptual ideas on which the framework is based, the five practices are more practical and address the actual implementation of the teaching framework. The first practice is the Course Practice. It presents a detailed course structure constructed in the course of the research. The second is the Role Practice. This practice presents a detailed role scheme that is composed of four groups of roles. One of the students roles is a coach; but it is different than the role of the academic coach. Specifically, while the student-coach is responsible for matters related to the software project development, the academic coach is responsible for the teaching and guidance part, thus assists all role holders. The third practice is the Measurement Practice. It presents measures that help to assess the development process. The fourth practice is the Coaching Practice. The fifth practice is the Evaluation Practice, described below with the details of the evolved grading policy. There are mutual relationships among the practices. Specifically, each practice contributes to the development and formulation of other practices. For example, the Evaluation Practice, which consists of the grading policy, leans on the course schedule and the development measures which are part of the Course and the Measurement Practices respectively, on the role of the student which is part of the Role Practice, and on the academic coaches feedback which is part of the Coaching Practice. In line with the Action Research paradigm, these practices were developed based on the ten principles through an iterative process, and their contribution and fitness to the overall emerging teaching framework was examined throughout the research process. As it turns out, three of the ten principles are fundamental to our research field. These are principles I, III, and X, and they can be found at the basis of each of the above practices. In addition to these fundamental principles, each practice is based on practice-focused principles, according to its context. Table 3 presents the relationship between the practices and the two kinds of principles The Teaching Practices In what follows we delve into the details of the five practices mentioned above The Course Practice. Since an SDM is, by nature, a complex topic, several questions must be addressed when one attempts to teach a specific SDM: What aspects of the SDM should be emphasized? Should all of the SDM ideas be taught? Perhaps only some of them? Which ones? This section addresses these questions from a cognitive perspective. Specifically, we describe a course structure that takes into consideration the cognitive aspect of learning SDMs. The research tools used for the construction of this practice were videotapes of project meetings, student reflections, forum messages, questionnaires, weekly interviews with two students from one project team, and the researcher s diary. In line with the Action Research, the suggested course structure was developed over the nine last semesters, and continues to be further developed. The teaching framework for one semester is composed of one release that is composed of three

11 Table 3. Practices according to the principles they are based upon Practice Fundamental principles Practice-focused principles Course Role Cognition Projection Projection Evaluation Listening Reflection Connectivity Measurement Project-based Evaluation Adjustment Coaching Inspiration Reflection Listening Connectivity Coaching Evaluation A Framework for Teaching Software Development Methods 285 Connectivity Listening Coaching Evaluation Coaching Reflection iterations. The framework is based on the following three working assumptions: a) each project is developed by a team of 12 students who are guided by a coach; b) each team has an XP studio dedicated to the project development; and c) team members meet for mandatory weekly meetings lasting between 2 and 4 hours. The first iteration deals with the topic of the project (in our case, operating systems) and with software engineering issues. It enables the students to study all of the related issues. In this iteration, the team s spirit and atmosphere are created. This aspect is extremely important, since the team members are usually not familiar with each other prior to this course. With respect to the development itself, the purpose of the first iteration is to develop a skeleton for the project so as to enable the performance of additions and improvements during the second and third iterations. By the time of the second iteration, the students are more relaxed, are more familiar with the development method and with their teammates, and most of them invest efforts in order to increase and improve the project outcomes. Most of the meetings are dedicated to development activities. Features and improvements are added to the project in the two remaining iterations. The detailed semester schedule is presented in the Appendix. The purpose of each meeting, along with its main activities, and the XP values and practices on which it is based, are presented. For reasons of space limitation, these descriptions are presented in a very condensed format. As Table 3 indicates, several of the ten conceptual principles have influenced the shape of this practice (specifically, Principles I, II, III, IV, and X). However, for

12 286 Y. Dubinsky and O. Hazzan reasons of space limitation, in what follows, we examine the course structure by focusing only on how it is based on and related to Principle II Cognition, which deals with the cognitive aspect of learning a SDM. The course schedule is constructed according to the following suggested mapping of an SDM s ideas. Such mapping highlights core ideas of an SDM, and for each specific idea, reflects the complexity of teaching it. Specifically, the main ideas of an SDM are mapped along two dimensions: Aspect and Cognitive Awareness. On the Aspect dimension, the SDM s ideas are divided into either a code/technical aspect or a human/social aspect. The second dimension maps the main ideas of the SDM according to the level of cognitive awareness (or cognitive complexity) required to implement each of the ideas throughout the development process. This mapping technique is illustrated using the dozen XP practices. Table 4 presents the two-dimensional mapping of the XP practices based on a cognitive analysis of the different practices. Accordingly, some of the practices are easily understood and, accordingly, they require low cognitive awareness when adopted (e.g., sustainable pace); other XP practices require high cognitive awareness and thus, in most cases, are harder for implementation (e.g., simple design); and yet others require intermediate level of cognitive complexity (e.g., coding standards). As can be seen, the emerged course schedule (see Appendix) is compatible with this mapping. The different practices of XP are introduced gradually so that, on the one hand, they do not overwhelm the students but, on the other hand, they do indeed address all aspects of the SDM. In addition, practices that require high or intermediate cognitive awareness (such as metaphor, refactoring and test driven development) are revisited several times during the semester period. In this way, students can come to an understanding of these practices in stages, based on their current and updated experience in the process of project development. This is consistent with the constructivism perspective, which ascribes the learner s experience a significant role in learning processes (Confrey, 1995; Davis, Maher & Noddings, 1990; Kilpartrick, 1987). Table 4. Mapping of the XP practices Cognitive awareness Code/Technical perspective Human/Social perspective High Refactoring Metaphor Simple design Collective ownership Intermediate Coding standards Pair programming Test driven development Planning game Low Small releases Customer on site Continuous integration Sustainable pace

13 A Framework for Teaching Software Development Methods The role practice. This section deals mainly (but not only) with adjustments to be made in an SDM when it is applied to an academic university software project (see Principle III Adjustment). We illustrate this idea with a student s role scheme for software teams, together with quantitative measures. In Dubinsky and Hazzan (2004) we suggested an extended role scheme for software development teams and described the evolution of this scheme over six (out of nine) semesters. This scheme emerged as a result of the need to adjust the SDM to the academic environment. According to this scheme, all teammates are developers and, in addition, each teammate has a special personal role that addresses one aspect of software project management. Thus, the project management is covered by all teammates. Table 5 presents the suggested role scheme for an academic XP team. As can be seen, some of the roles are XP roles, like coach, tracker, tester, and customer; other roles represent XP practices that thinking our opinion should be emphasized. Various research tools were used in the construction of this practice. First, interviews with students, interviews with coaches, observations, and questionnaires were analysed by means of constant comparison. Second, questionnaires, the electronic forum, students online reflections and tape recordings of training sessions given to the coaches were analysed using hermeneutical analysis and measurement. In what follows, we briefly illustrate data related to the construction of this practice. We limit our illustration to data taken from written online reflections that were analysed using the hermeneutical analysis method. The following data is only small portion of the data that is used for the construction of this practice. In fact, the practice was developed in stages based on the analysis of data gathered using different research tools (see above), which helped us in different stages of the practice construction process. Specifically, feedbacks, such as the ones presented in what follows, when expressed at late stages of the practice formulation, naturally supported the practice formulation. At the same time, when we faced problems with intermediate stages of the practice formulation and implementation, in the spirit of Action Research we looked for ways to solve these problems. When interpreting the written reflections of students, we found that, among other subjects, students expressed their feelings and awareness with respect to their roles. Most of the students reported that they handled this additional responsibility well and benefited from it. For example, one of the Customers wrote: The role gave me a real life feeling, rather than having a predefined task and just performing it. This is very real, a customer with requirements. Satisfaction in being able to gain an overall view of the entire project in addition to the accomplishment of specific development tasks is also expressed. For example, one of the Integrators wrote: I enjoyed seeing that everything was integrated.... This data, as well as additional reflections, indicate that student accountability, as well as commitment and involvement, increased significantly when the Role Practice was used.

14 288 Y. Dubinsky and O. Hazzan Table 5. Roles in an academic XP team Group of roles Role Description Leading Group Coach Coordinates and solves group problems, checks the web forum and responds on a daily basis, leads some development sessions. Tracker Manages the group diary, measures group progress with respect to the estimations and test scores, Methodologist manages and updates the boards. Learns the software development method applied in the course and guides the software process when required, guides and supports the other team members with their role. Customer Group Customer Tells customer stories, makes decisions pertaining to each iteration, provides feedback, defines and develops acceptance tests. Acceptance tester Works with the customer to define and develop acceptance tests, learns the topic of test-driven development and instructs it to the other team members. Maintenance Group Presenter Plans, organizes and presents version presentations, Documenter Installer demos, and time schedule allocations. Plans, organizes and presents the project documentation: process documentation, user guide, and installation instructions. Plans and develops an automated installation kit, supports and instructs other teammates as to the appropriate way to develop software for easy and correct installation. Code Group Designer Maintains current design, works to simplify design, searches for locations in the software that need refactoring and ensures proper execution of such. Code reviewer Unit tester Integrator Establishes and refines group code standards, searches for development tools that can help the team, guides pair programming, guides and supports in the maintaining of the code standards and tools. Learns about unit testing, establishes an automated test suite, guides and supports other team members in the development of unit tests. Establishes an integration environment including source control, publishes rules pertaining to the addition of new code using the test suite, guides and supports other teammates in the integration task.

15 A Framework for Teaching Software Development Methods The measurement practice. In this section we describe how quantitative data is used to derive measures. Three measures are defined and illustrated. An examination of the role activities from the academic coach perspective, defined three main measures (Dubinsky & Hazzan, in press): a) Role Time Measure (RTM): it measures the ratio between development and role performance; that is, the time invested in development tasks relative to the time invested in role activities. b) Role Communication Measure (RCM): it measures the level of communication of a team at each development stage. This measure evolves since each role holder needs to communicate with the other team members in order to perform the individual role more efficiently. c) Role Management Measure (RMM): it measures the level of the project management. Since the role scheme aimed at covering all management aspects, maximal level is obtained when all role holders provide maximum role performance. With respect to RTM, most of the students predicted in the first weeks of the semester a RTM ratio of 70% (development) 30% (role); only few predicted the rations 60% 40% or 80% 20%. However, in practice, when checking students weekly reflections, the RTM semester average turned out to be 80% 20% for all roles. The calculation of the RCM is based on the examination of the electronic forum used by the students. It illustrates how measures can be used as a pedagogical tool. For illustration, we use the electronic forum of one particular project. In this project, 714 messages were sent during the semester, out of them 698 messages were sent by the ten teammates and 16 messages were sent by the academic coach. Since coding load-balance during the actual development is ensured by the planning game, we refer to the number of messages in the electronic forum sent by each student as an indicator for the role portion of students overall contribution to the project. As it turned out, the leading group was the most communicative (49.2%) while the customer group was the least (6.5%). (The maintenance group s portion was 15.2% and the code group 29.1%). Looking into the messages details we observed that, indeed, this measure reflects the project status. Specifically, on the one hand, the students of the customer group did not perform properly as their role required; On the other hand, the coach and the tracker over-performed (the coach sent many responses during some periods, and both the coach and the tracker took control of the continuous integration in order to ensure the project success). As part of RMM, we calculate three averages for each iteration: the weekly average number of original messages, the weekly average number of responses to original messages, and the weekly average total number of messages. Figure 1 shows these averages for the three iterations of the above mentioned project. These averages, however, reflect only a partial picture of the project status. In order to improve our understanding with respect to the project dynamics, we calculate an inner RMM ratio between original messages and responses. As it turns out, iterations

16 290 Y. Dubinsky and O. Hazzan Figure 1. Weekly RMM for each iteration 2 and 3 have almost the same RMM ratio between original messages and responses (41.66/28 ¼ 1.48 for iteration 2 and 21.25/17 ¼ 1.25 for iteration 3), while iteration 1 has a different ratio (29.75/54.25 ¼ 0.55). We conclude, however, that iteration 2 is the most high-managed since it also has a relatively high number of messages in total. This conclusion makes sense since the first iteration launches the project as well as the role scheme, and the last iteration is largely influenced by the stress of the end of the semester. During the second iteration, the students are more experienced with the project method and perform at their best The coaching practice. In order to inspire the way a practice is developed in an Action Research manner, we present one intermediate stage of the construction process of this practice. Prior to the introduction of XP into the course, we held four XP training sessions for the coaches. These sessions were the start of a training programme that included on-going communication and guidance that continued intensively during the first year and continues till today in a less intensive fashion. The first year training programme ended with retrospective interviews with the coaches (Dubinsky & Hazzan, 2003). The objective of the interviews was to learn about the effect of the training sessions on the coaches coaching approaches, to determine the necessity of an additional series of training sessions, and to reflect on the actual process applied by each coach. Two consecutive interviews were performed with each coach at the end of the first year. In the first interview, the coaches started out by completing a questionnaire that was almost identical to a questionnaire they completed prior to the first training programme, one year earlier. Both questionnaires referred to software development projects in general, and did not address any specific SDM. In the questionnaires, the coaches were asked to describe the phases of a software development project and to specify the more important phases in their opinion. In addition, they were requested to describe their role as coaches in the process of guiding students in software development, to rank the main activities performed during software development as they perceive them, to specify the main problems of software development processes, and to suggest solutions to those problems.

17 A Framework for Teaching Software Development Methods 291 After completing feeling in the questionnaire in the first interview, the coaches were asked to describe the implementation of XP in each of their studios, to assess the affect of the XP training, and to mention topics that they felt should be the focus of a second series of training sessions. In the second interview, the coaches were asked to reflect on the two questionnaires they completed (at the beginning and at the end of the first year) and to describe how the use of XP influenced them personally. They were also asked to compare their teaching approach before and after this year, during which they guided students using XP. At the end of the second interview, the coaches were requested to put in writing their reflections on the two interviews. The analysis of these data revealed six categories that describe the teaching framework from the coaches perspective (see Table 6). These six categories were continuously compared and validated by the coaches based on data obtained from questionnaires and interviews. In Dubinsky and Hazzan (2003) we presented the six categories in detail. For demonstration purposes, we focus in what follows on the Customer category and illustrate the gathering of data from interviews that were analysed by using the constant comparison method. As it turns out, within the XP development framework, the awareness to the role of the customer is increased. One of the coaches said: While reflecting [... ] I thought of something new based on the experience of the past year. It is an increased awareness of the customer, and of the human aspect of the development team in general. Indeed, the coaches perceived the customer as playing a key role in their projects. One of the coaches concluded: If a customer joins the project, it changes the coaching significantly. One of the coaches compared two coaching process (with and without a customer): During the summer semester, we had a [real] customer. Moshe was the customer; he entered [the studio]. He really gave feedback. His sentences were in the background even when he was not participating. [... ] The issue of the customer is really important, and this semester it is missing. It is hard for the students to enter the customer s shoes since the scope is not clear. They are in conflict all the time. In line with Principle IX (Coaching) and Principle VII (Listening), this perspective of the coaches, together with additional feedback they provided, guides the construction of the Coaching Practice (still under development). In its future form, Table 6. The teaching framework from the coaches perspective Category Category Name Brief Description I Project Management of resources: time and organizational aspects II Method Practices and tools used in the project III Development Team Development of environment and communication among team members IV Customer Customer requirements and product acceptance V Feelings Inner feelings of people involved in the project VI Coaching Team Support given to coaching team in order to maintain continuous learning and feedback

18 292 Y. Dubinsky and O. Hazzan we anticipate, this practice will present a detailed coaching training plan that will address both on-going guidance, as well as condensed training sessions. Yet, in spirit of the Action Research paradigm, its specific final form is unknown at this point The evaluation practice. The evolution of the practices is interlaced with the evolution of the grading policy used for the evaluation of the students work. In the first XP training, the academic team constructed a grading policy that has been refined several times since then. The grading policy is composed of two main components. The first one is a group component (65%) whose main criterion is the meeting of the customer stories as well as the time estimations given by the students at each of the three iterations. The second ingredient of the grading policy is a personal-individual component (35%) whose main criterion is the personal performance of the student with respect to his or her development tasks as well as with respect to his or her personal role. Table 7 presents the grading policy. 5. SUMMARY This article describes a study during which a comprehensive framework that describes the teaching of software development methods was shaped. The framework is based on ten conceptual principles that address teaching and learning processes, students and academic coaches, as well as the development process itself. The framework consists of practices that provide practical guidelines of how to teach software development methods in capstone project-base course. The importance of software developing according to a specific software development method is obvious. The innovation of our research, however, is the construction of a comprehensive and detailed teaching framework that can be implemented in academic courses in higher education that use any software development method. The future Table 7. The grading policy Group component (65%) Individual component (35%) 60% - 50% - Answer the customer stories and P Weekly reflection meeting the schedule according to the team P Pair programming experience time estimations: P Test-Driven-Development exercise P (10%) for iteration 1 P Weekly presence P (25%) for iteration 2 P (25%) for iteration 3 25% - Performance of a personal role: 25% - P Actual implementation Project documentation P Further development and enhancement 15% - Group evaluation of the academic coach 25% - Personal evaluation of the academic coach

19 A Framework for Teaching Software Development Methods 293 implication of such a teaching framework is expressed in its potential implementation in different courses that deal with different subject matters of software development and in different university environments. NOTE 1. In the second edition, a fifth value respect is introduced (Beck with Andres, 2005). REFERENCES Allen, E., Cartwright, R., & Reis, C. (2003). Production programming in the classroom. Proceedings of the 34th SIGCSE Technical Symposium on Computer Science Education (pp ). New York: ACM Press. Beck, K. (2000). Extreme Programming Explained: Embrace change. Boston, MA: Addison-Wesley. Beck, K., & Andres, C. (2005) Extreme Programming Explained: Embrace change (2nd ed.). Boston, MA: Addison-Wesley. Bogdan, R.C., & Biklen, S.K. (1992). Qualitative Research for Education. Boston: Allyn and Bacon. Brooks, F.P. (1987). No silver bullet: Essence and accidents of software engineering. Computer, 20(4), Confrey J. (1995). A theory of intellectual development. The Learning of Mathematics, 15(2), Cook T.D., & Reichardt, C.S. (1979). Beyond Qualitative versus Quantitative Methods. Qualitative and Quantitative Methods in Evaluation Research. London: Sage Publications. Davis, R.B., Maher, C.A., & Noddings, N. (Eds.) (1990). Constructivist views on the teaching and learning of mathematics (The National Council of Teachers of Mathematics, Inc. Monograph No. 4). Journal for Research in Mathematics Education Monograph 4. Denning, P. J. (1992). Educating a new engineer. Communications of the ACM, 35(12), Dubinsky, Y., & Hazzan, O. (2003). Extreme programming as a framework for student-project coaching in computer science capstone courses. IEEE International Conference on Software Science, Technology & Engineering (pp ). Piscataway, NJ: IEEE Publishing. Dubinsky, Y., & Hazzan, O. (2004). Roles in agile software development teams. In J. Eckstein & H. Baumeister (Eds), 5th International Conference on extreme Programming and Agile Processes in Software Engineering (pp ). Berlin: Springer-Verlag. Dubinsky Y., & Hazzan, O. (in press). Using a role scheme to derive software project metrics. Journal of Systems Architecture. Gee, J.P. (1992). Discourse analysis. In M. LeCompte, W.L. Millroy, & J. Preissle. The Handbook of Qualitative Research in Education. San Diego, CA: Academic Press. Hamlet, D., & Maybee, J. (2001). The Engineering of Software. Boston, MA: Addison-Wesley. Hazzan, O. (2002). The reflective practitioner perspective in software engineering education. The Journal of Systems and Software, 63(3), Hazzan O., & Dubinsky, Y. (2003). Teaching a software development methodology: The case of Extreme Programming. In P. Knoke, A. Moreno, & M. Ryan. 16th International Conference on SE Education and Training (pp ). Piscataway, NJ: IEEE Publishing. Highsmith, J. (2002). Agile Software Developments Ecosystems. Boston, MA: Addison-Wesley. Kilpatrick, J. (1987). What constructivism might be in mathematics education. In J.C. Bergeron, N. Herscovics & C. Kieran (Eds.), 11th International Conference for the Psychology of Mathematics Education (PME11) Vol. I (pp. 3 27). Montréal: University of Montréal. Kirk, J., & Miller, M.L. (1986). Reliability and Validity in Qualitative Research. Beverly Hills, CA: Sage Publications.

20 294 Y. Dubinsky and O. Hazzan Kuhn, S. (1998). The software design studio: An exploration. IEEE Software, 15(2), Lewin, K. (1948). Resolving Social Conflicts; Selected papers on group dynamics. G.W. Lewin (Ed.). New York: Harper & Row. Manen, M.V. (1990). Researching Lived Experience. New York: State University of New York Press. Melnik, G., & Maurer, F. (2003). Introducing agile methods in learning environments: Lessons learned. Proceedings of the XP/Agile Universe Conference (pp ). Berlin: Springer-Verlag. Meyer, B. (2001). Software engineering in the academy. Computer, 34(5), Patton, M.Q. (1990). Qualitative Evaluation and Research Methods (2nd ed.). Newbury Park, CA: Sage Publications. Reisman, C.K. (1993). Narrative Analysis. Newbury Park, CA: Sage. Revans, R. (1988). The ABC of Action Learning. London: Lemos & Crane (Original work published 1983). Smith, M.K. (1996). Action research: A guide to reading. Retrieved 28 January 2005, from Strauss, A.L. (1987). Qualitative Analysis for Social Scientists. New York: Cambridge University Press. Tomayko, J.E. (1996). Carnegie-Mellon s software development studio: A five-year retrospective. SEI Conference on Software Engineering Education. Daytona Beach, Florida. Tomayko J., & Hazzan, O. (2004). Human Aspects of Software Engineering. Hingham, MA: Charles River Media. APPENDIX: THE COURSE SCHEDULE Week Number Purpose of meeting Main activities (academic coach and students) XP Values and practices 1 Opening of course and Introduce the studio environment Communication getting acquainted Create a team Introduce the project subject and gather relevant materials Present student XP roles 2 Planning game of Assign student XP roles On-site customer Iteration 1: Phase I Play customer: Develop customer Planning game stories and make customer Metaphor decisions Courage 3 Planning game of Design Planning game Iteration 1: Phase II Write development tasks Simple design Small releases 4 Coding and testing Estimate time for the development tasks Balance students development work loads Teach/learn unit testing Sustainable pace Pair programming Testing (continued )

Human Aspects of Software Engineering: The Case of Extreme Programming

Human Aspects of Software Engineering: The Case of Extreme Programming 1 Human Aspects of Software Engineering: The Case of Extreme Programming Orit Hazzan 1 and Jim Tomayko 2 1 Department of Education in Technology and Science, Technion - IIT, Haifa 32000, Israel oritha@tx.technion.ac.il

More information

Teaching a Software Development Methodology: The Case of Extreme Programming

Teaching a Software Development Methodology: The Case of Extreme Programming 1 Teaching a Software Development Methodology: The Case of Extreme Programming Orit Hazzan Department of Education in Technology and Science oritha@tx.technion.ac.il Technion Israel Institute of Technology

More information

Construction of a Professional Perception in the "Methods of Teaching Computer Science" Course

Construction of a Professional Perception in the Methods of Teaching Computer Science Course Construction of a Professional Perception in the "Methods of Teaching Computer Science" Course Orit Hazzan and Tami Lapidot Department of Education in Technology and Science Technion Israel Institute of

More information

Preface. Overview and Goals

Preface. Overview and Goals Preface Overview and Goals The agile approach for software development has been applied more and more extensively since the mid nineties of the 20th century. Though there are only about ten years of accumulated

More information

The Agile approach Extreme Programming (XP) Implementing XP into a software project Introducing HCI design into agile software development Summary

The Agile approach Extreme Programming (XP) Implementing XP into a software project Introducing HCI design into agile software development Summary ! " # $%&' ()**+ % The Agile approach Extreme Programming (XP) Implementing XP into a software project Introducing HCI design into agile software development Summary , 75% of the enterprise software products

More information

Governance of an Agile Software Project

Governance of an Agile Software Project Governance of an Agile Software Project David Talby Hebrew University of Jerusalem davidt@cs.huji.ac.il Abstract Effective governance of agile software teams is challenging but required to enable wide

More information

Social Perspective of Software Development Methods: The Case of the Prisoner Dilemma and Extreme Programming

Social Perspective of Software Development Methods: The Case of the Prisoner Dilemma and Extreme Programming Social Perspective of Software Development Methods: The Case of the Prisoner Dilemma and Extreme Programming Orit Hazzan 1 and Yael Dubinsky 2 1 Department of Education in Technology & Science Technion

More information

SYSTEM ANALYSIS AND DESIGN IN A LARGE-SCALE SOFTWARE PROJECT: THE CASE OF TRANSITION TO AGILE DEVELOPMENT

SYSTEM ANALYSIS AND DESIGN IN A LARGE-SCALE SOFTWARE PROJECT: THE CASE OF TRANSITION TO AGILE DEVELOPMENT SYSTEM ANALYSIS AND DESIGN IN A LARGE-SCALE SOFTWARE PROJECT: THE CASE OF TRANSITION TO AGILE DEVELOPMENT Yael Dubinsky Department of Computer Science (adjunct lecturer), Technion Israel Institute of Technology

More information

Abstraction in Computer Science & Software Engineering: A Pedagogical Perspective

Abstraction in Computer Science & Software Engineering: A Pedagogical Perspective Orit Hazzan's Column Abstraction in Computer Science & Software Engineering: A Pedagogical Perspective This column is coauthored with Jeff Kramer, Department of Computing, Imperial College, London ABSTRACT

More information

An Agile Constructionist Mentoring Methodology for Software Projects in the High School 1

An Agile Constructionist Mentoring Methodology for Software Projects in the High School 1 An Agile Constructionist Mentoring Methodology for Software Projects in the High School 1 Orni Meerbaum Salant and Orit Hazzan Department of Education in Technology and Science Technion Israel Institute

More information

Agile Methodologies and Its Processes

Agile Methodologies and Its Processes International Journal of Computational Engineering Research Vol, 03 Issue, 9 Agile Methodologies and Its Processes 1, Akanksha, 2, Akansha Rakheja, 3, Latika Kapur, 4, Kanika Ahuja 1,2,3,, Information

More information

SOFTWARE DEVELOPMENT METHODOLOGIES, TRENDS, AND IMPLICATIONS

SOFTWARE DEVELOPMENT METHODOLOGIES, TRENDS, AND IMPLICATIONS SOFTWARE DEVELOPMENT METHODOLOGIES, TRENDS, AND IMPLICATIONS Xihui Zhang University of North Alabama xzhang6@una.edu Hua Dai University of Wisconsin-La Crosse dai.hua@uwlax.edu Tao Hu King College thu@king.edu

More information

Investigation of Adherence Degree of Agile Requirements Engineering Practices in Non-Agile Software Development Organizations

Investigation of Adherence Degree of Agile Requirements Engineering Practices in Non-Agile Software Development Organizations Investigation of Adherence Degree of Agile Requirements Engineering Practices in Non-Agile Software Development Organizations Mennatallah H. Ibrahim Department of Computers and Information Sciences Institute

More information

C. Wohlin and B. Regnell, "Achieving Industrial Relevance in Software Engineering Education", Proceedings Conference on Software Engineering

C. Wohlin and B. Regnell, Achieving Industrial Relevance in Software Engineering Education, Proceedings Conference on Software Engineering C. Wohlin and B. Regnell, "Achieving Industrial Relevance in Software Engineering Education", Proceedings Conference on Software Engineering Education & Training, pp. 16-25, New Orleans, Lousiana, USA,

More information

AGILE PRACTICES: A COGNITIVE LEARNING PERSPECTIVE

AGILE PRACTICES: A COGNITIVE LEARNING PERSPECTIVE AGILE PRACTICES: A COGNITIVE LEARNING PERSPECTIVE Mazni Omar 1 and Sharifah Lailee Syed Abdullah 2 1 Universiti Utara Malaysia, Malaysia, mazni@uum.edu.my 2 Universiti Teknologi MARA, shlailee@perlis.uitm.edu.my

More information

Job Satisfaction and Motivation in a Large Agile Team

Job Satisfaction and Motivation in a Large Agile Team Job Satisfaction and Motivation in a Large Agile Team Bjørnar Tessem 1, and Frank Maurer 2 1 Department of Information Science and Media Studies, University of Bergen, NO-5020 Bergen, Norway bjornar.tessem@uib.no

More information

Cloud Computing: A Comparison Between Educational Technology Experts' and Information Professionals' Perspectives

Cloud Computing: A Comparison Between Educational Technology Experts' and Information Professionals' Perspectives Noa Aharony 1 Cloud Computing: A Comparison Between Educational Technology Experts' and Information Professionals' Perspectives Noa Aharony Department of Information Science, Bar-Ilan University Noa.aharony@biu.ac.il

More information

Using Simulation to teach project management skills. Dr. Alain April, ÉTS Montréal alain.april@etsmtl.ca

Using Simulation to teach project management skills. Dr. Alain April, ÉTS Montréal alain.april@etsmtl.ca Using Simulation to teach project management skills Dr. Alain April, ÉTS Montréal alain.april@etsmtl.ca Agenda of the workshop 1 The software project management theory overview (40 minutes) 2 Why use SDLC

More information

Extreme Programming: Strengths and Weaknesses

Extreme Programming: Strengths and Weaknesses The International Arab Conference on Information Technology (ACIT 2013) Extreme Programming: Strengths and Weaknesses Ahmad dalalah Prep. Year Deanship University of Hail, SA a.dalalah@uoh.edu.sa Abstract:

More information

Comparative Study of Agile Methods and Their Comparison with Heavyweight Methods in Indian Organizations

Comparative Study of Agile Methods and Their Comparison with Heavyweight Methods in Indian Organizations International Journal of Recent Research and Review, Vol. VI, June 2013 Comparative Study of Agile Methods and Their Comparison with Heavyweight Methods in Indian Organizations Uma Kumari 1, Abhay Upadhyaya

More information

AGILE SOFTWARE DEVELOPMENT A TECHNIQUE

AGILE SOFTWARE DEVELOPMENT A TECHNIQUE AGILE SOFTWARE DEVELOPMENT A TECHNIQUE Saurav Tiwari 1,Aasheesh Goel 2,Rajeev Sharma 3 1,2 Research Scholar,MCADept.,SRM University,NCRCampus,Modinagar 3 Asst. Prof.,MCADept.,SRM University,NCR Campus

More information

Story Card Based Agile Software Development

Story Card Based Agile Software Development Story Card Based Agile Software Development Chetankumar Patel, and Muthu Ramachandran Leeds Metropolitan University, UK c.patel@leedsmet.ac.uk Abstract The use of story cards for user stories in many Extreme

More information

International Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research)

International Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research) International Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research) International Journal of Engineering, Business and Enterprise

More information

(Refer Slide Time: 01:52)

(Refer Slide Time: 01:52) Software Engineering Prof. N. L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture - 2 Introduction to Software Engineering Challenges, Process Models etc (Part 2) This

More information

Comparative Analysis of Different Agile Methodologies

Comparative Analysis of Different Agile Methodologies Comparative Analysis of Different Agile Methodologies Shelly M. Phil (CS), Department of Computer Science, Punjabi University, Patiala-147002, Punjab, India Abstract: Today s business, political and economic

More information

Introduction to Agile Software Development

Introduction to Agile Software Development Introduction to Agile Software Development Word Association Write down the first word or phrase that pops in your head when you hear: Extreme Programming (XP) Team (or Personal) Software Process (TSP/PSP)

More information

How To Teach Computer Science In High School

How To Teach Computer Science In High School Methods of Teaching a Computer Science Course for Prospective Teachers Tami Lapidot and Orit Hazzan Department of Education in Technology and Science Technion Israel Institute of Technology Haifa, 32000

More information

The Role of Information Technology Studies in Software Product Quality Improvement

The Role of Information Technology Studies in Software Product Quality Improvement The Role of Information Technology Studies in Software Product Quality Improvement RUDITE CEVERE, Dr.sc.comp., Professor Faculty of Information Technologies SANDRA SPROGE, Dr.sc.ing., Head of Department

More information

To answer the secondary question, if hands-on activities would increase student interest and comprehension, several hands-on activities were used:

To answer the secondary question, if hands-on activities would increase student interest and comprehension, several hands-on activities were used: 1 The Effect of an Overarching Topic on Student Performance in Algebra II Christine Consoletti and David Collins J.E.B. Stuart High School Fairfax County (VA) Public Schools June 2003 Question Does an

More information

Web Applications Development and Software Process Improvement in Small Software Firms: a Review

Web Applications Development and Software Process Improvement in Small Software Firms: a Review Web Applications Development and Software Process Improvement in Small Software Firms: a Review Haroon Tarawneh Al-balqa Applied University haroon@teacher.com Sattam Allahawiah Al-balqa Applied University

More information

An Ideal Process Model for Agile Methods

An Ideal Process Model for Agile Methods An Ideal Process Model for Agile Methods Marcello Visconti 1 and Curtis R. Cook 2 1 Departamento de Informática, Universidad Técnica Federico Santa María, Valparaíso, CHILE visconti@inf.utfsm.cl 2 Computer

More information

Comparing Agile Software Processes Based on the Software Development Project Requirements

Comparing Agile Software Processes Based on the Software Development Project Requirements CIMCA 2008, IAWTIC 2008, and ISE 2008 Comparing Agile Software Processes Based on the Software Development Project Requirements Malik Qasaimeh, Hossein Mehrfard, Abdelwahab Hamou-Lhadj Department of Electrical

More information

Agile processes. Extreme Programming, an agile software development process. Extreme Programming. Risk: The Basic Problem

Agile processes. Extreme Programming, an agile software development process. Extreme Programming. Risk: The Basic Problem Agile processes Extreme Programming, an agile software development process Perdita Stevens School of Informatics University of Edinburgh What the spiral models were reaching towards was that software development

More information

XP & Scrum. extreme Programming. XP Roles, cont!d. XP Roles. Functional Tests. project stays on course. about the stories

XP & Scrum. extreme Programming. XP Roles, cont!d. XP Roles. Functional Tests. project stays on course. about the stories XP & Scrum Beatrice Åkerblom beatrice@dsv.su.se extreme Programming XP Roles XP Roles, cont!d! Customer ~ Writes User Stories and specifies Functional Tests ~ Sets priorities, explains stories ~ May or

More information

A STATISTICS COURSE FOR ELEMENTARY AND MIDDLE SCHOOL TEACHERS. Gary Kader and Mike Perry Appalachian State University USA

A STATISTICS COURSE FOR ELEMENTARY AND MIDDLE SCHOOL TEACHERS. Gary Kader and Mike Perry Appalachian State University USA A STATISTICS COURSE FOR ELEMENTARY AND MIDDLE SCHOOL TEACHERS Gary Kader and Mike Perry Appalachian State University USA This paper will describe a content-pedagogy course designed to prepare elementary

More information

Software Development Process Selection Approaches

Software Development Process Selection Approaches The Journal of Applied Science Vol. 11 No. Vol. 2:45-50 11 No. 2 [2012] ISSN 1513-7805 Printed in Thailand Review Article Software Development Process Selection Approaches Phongphan Danphitsanuphan Department

More information

Neglecting Agile Principles and Practices: A Case Study

Neglecting Agile Principles and Practices: A Case Study Neglecting Agile Principles and Practices: A Case Study Patrícia Vilain Departament de Informatics and Statistics (INE) Federal University of Santa Catarina Florianópolis, Brazil vilain@inf.ufsc.br Alexandre

More information

Agile Software Development Methodologies and Its Quality Assurance

Agile Software Development Methodologies and Its Quality Assurance Agile Software Development Methodologies and Its Quality Assurance Aslin Jenila.P.S Assistant Professor, Hindustan University, Chennai Abstract: Agility, with regard to software development, can be expressed

More information

C. Wohlin, "Is Prior Knowledge of a Programming Language Important for Software Quality?", Proceedings 1st International Symposium on Empirical

C. Wohlin, Is Prior Knowledge of a Programming Language Important for Software Quality?, Proceedings 1st International Symposium on Empirical C. Wohlin, "Is Prior Knowledge of a Programming Language Important for Software Quality?", Proceedings 1st International Symposium on Empirical Software Engineering, pp. 27-36, Nara, Japan, October 2002.

More information

Extreme Programming In Global Software Development

Extreme Programming In Global Software Development Extreme Programming In Global Software Development Xiaohu Yang, Bin Xu, Zhijun He College of Computer Science & Technology Zhejiang Univ. 310027 Hangzhou, P. R. China {yangxh, xb, hezj}@zju.edu.cn Srinivasa

More information

Usage of Agile Methodologies in Implementing Software Projects in IT Companies in the Republic of Macedonia

Usage of Agile Methodologies in Implementing Software Projects in IT Companies in the Republic of Macedonia Usage of Agile Methodologies in Implementing Software Projects in IT Companies in the Republic of Macedonia Vesna Budinoska Ltd Nextsense, Skopje, R. Macedonia vesna.budinoska@gmail.com Dejan Gjorgjevikj

More information

Xtreme RUP. Ne t BJECTIVES. Lightening Up the Rational Unified Process. 2/9/2001 Copyright 2001 Net Objectives 1. Agenda

Xtreme RUP. Ne t BJECTIVES. Lightening Up the Rational Unified Process. 2/9/2001 Copyright 2001 Net Objectives 1. Agenda Xtreme RUP by Ne t BJECTIVES Lightening Up the Rational Unified Process 2/9/2001 Copyright 2001 Net Objectives 1 RUP Overview Agenda Typical RUP Challenges Xtreme Programming Paradigm Document driven or

More information

Alternative Online Pedagogical Models With Identical Contents: A Comparison of Two University-Level Course

Alternative Online Pedagogical Models With Identical Contents: A Comparison of Two University-Level Course The Journal of Interactive Online Learning Volume 2, Number 1, Summer 2003 www.ncolr.org ISSN: 1541-4914 Alternative Online Pedagogical Models With Identical Contents: A Comparison of Two University-Level

More information

Soft Skills Requirements in Software Architecture s Job: An Exploratory Study

Soft Skills Requirements in Software Architecture s Job: An Exploratory Study Soft Skills Requirements in Software Architecture s Job: An Exploratory Study 1 Faheem Ahmed, 1 Piers Campbell, 1 Azam Beg, 2 Luiz Fernando Capretz 1 Faculty of Information Technology, United Arab Emirates

More information

Applying Agile Methods in Rapidly Changing Environments

Applying Agile Methods in Rapidly Changing Environments Applying Agile Methods in Changing Environments 7/23/2002 1 Applying Agile Methods in Rapidly Changing Environments Peter Kutschera IBM Unternehmensberatung GmbH Am Fichtenberg 1, D-71803 Herrenberg Steffen

More information

Agile Software Engineering, a proposed extension for in-house software development

Agile Software Engineering, a proposed extension for in-house software development Journal of Information & Communication Technology Vol. 5, No. 2, (Fall 2011) 61-73 Agile Software Engineering, a proposed extension for in-house software development Muhammad Misbahuddin * Institute of

More information

Using Distributed Scrum for Supporting Online Collaborative Learning - A Qualitative Descriptive Study of Students Perceptions

Using Distributed Scrum for Supporting Online Collaborative Learning - A Qualitative Descriptive Study of Students Perceptions Using Distributed Scrum for Supporting Online Collaborative Learning - A Qualitative Descriptive Study of Students Perceptions Jörgen Söderback, Stefan Hrastinski, Lena-Maria Öberg Abstract One purpose

More information

THE MSDM MANAGEMENT PRACTICUM 2015/2016

THE MSDM MANAGEMENT PRACTICUM 2015/2016 American University School of International Service International Development Program Master of Science in Development Management THE MSDM MANAGEMENT PRACTICUM 2015/2016 Practicum Supervisor: David Hirschmann

More information

15 Methods of Data Analysis in Qualitative Research

15 Methods of Data Analysis in Qualitative Research 15 Methods of Data Analysis in Qualitative Research Compiled by Donald Ratcliff 1. Typology - a classification system, taken from patterns, themes, or other kinds of groups of data. (Patton pp. 393,398)

More information

The Agile Manifesto is based on 12 principles:

The Agile Manifesto is based on 12 principles: The Agile Manifesto is based on 12 principles: Customer satisfaction by rapid delivery of a useful product solution Welcome changing requirements, even late in development Working products are delivered

More information

Analyzing Qualitative Data

Analyzing Qualitative Data Analyzing Qualitative Data The purpose of coding qualitative data is to take an overwhelmingly large amount of words or artifacts and organize them into manageable chunks. Following the steps in this outline

More information

Agile Models. Software Engineering 2004-2005. Marco Scotto (Marco.Scotto@unibz.it) Software Engineering

Agile Models. Software Engineering 2004-2005. Marco Scotto (Marco.Scotto@unibz.it) Software Engineering Agile Models 2004-2005 Marco Scotto (Marco.Scotto@unibz.it) Content Introduction Tame projects & wicked projects Win-Win Spiral software development model XP software development process Enforcing the

More information

INTERNATIONAL JOURNAL OF ADVANCES IN COMPUTING AND INFORMATION TECHNOLOGY An International online open access peer reviewed journal

INTERNATIONAL JOURNAL OF ADVANCES IN COMPUTING AND INFORMATION TECHNOLOGY An International online open access peer reviewed journal INTERNATIONAL JOURNAL OF ADVANCES IN COMPUTING AND INFORMATION TECHNOLOGY An International online open access peer reviewed journal Research Article ISSN 2277 9140 ABSTRACT Analysis and tabular comparison

More information

Cognitive Area Program Requirements 10/4/12 1

Cognitive Area Program Requirements 10/4/12 1 THE OHIO STATE UNIVERSITY, DEPARTMENT OF PSYCHOLOGY Cognitive Area Program The guiding principle in the Cognitive Area graduate training program is to involve students from their very first year in the

More information

In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is:

In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is: In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is: The period of time that starts when a software product is conceived and ends when the product is no longer

More information

Software Development with Agile Methods

Software Development with Agile Methods Case Study Software Development with Agile Methods Introduction: Web application development is a much studied, heavily practiced activity. That is, capturing and validating user requirements, estimating

More information

HND degree top-up students perceptions of their experience at the University of Worcester: how can future students experiences be improved?

HND degree top-up students perceptions of their experience at the University of Worcester: how can future students experiences be improved? HND degree top-up students perceptions of their experience at the University of Worcester: how can future students experiences be improved? Lerverne Barber and Dr Nick Breeze University of Worcester (l.barber@worc.ac.uk

More information

Characteristics of Effective and Sustainable Teaching Development Programs for Quality Teaching in Higher Education

Characteristics of Effective and Sustainable Teaching Development Programs for Quality Teaching in Higher Education Characteristics of Effective and Sustainable Teaching Development Programs for Quality Teaching in Higher Education This presentation will address the following conference aim/question: What are the contextual

More information

Teaching universal design: an empirical research in interior architecture

Teaching universal design: an empirical research in interior architecture Available online at www.sciencedirect.com Procedia Social and Behavioral Sciences 15 (2011) 3185 3192 WCES-2011 Teaching universal design: an empirical research in interior architecture Yasemin Afacan

More information

A Guide to Curriculum Development: Purposes, Practices, Procedures

A Guide to Curriculum Development: Purposes, Practices, Procedures A Guide to Curriculum Development: Purposes, Practices, Procedures The purpose of this guide is to provide some general instructions to school districts as staff begin to develop or revise their curriculum

More information

Building Online Learning Communities: Factors Supporting Collaborative Knowledge-Building. Joe Wheaton, Associate Professor The Ohio State University

Building Online Learning Communities: Factors Supporting Collaborative Knowledge-Building. Joe Wheaton, Associate Professor The Ohio State University For more resources click here -> Building Online Learning Communities: Factors Supporting Collaborative Knowledge-Building Joe Wheaton, Associate Professor David Stein, Associate Professor Jennifer Calvin,

More information

Curriculum Development: Deductive Models

Curriculum Development: Deductive Models SCHOOLING VOLUME 2, NUMBER 1, 2011 Curriculum Development: Deductive Models Fred C. Lunenburg Sam Houston State University ABSTRACT Three models are presented in this article: Tyler s behavioral model,

More information

INCORPORATING SERVICE LEARNING INTO COMPUTER SCIENCE COURSES *

INCORPORATING SERVICE LEARNING INTO COMPUTER SCIENCE COURSES * INCORPORATING SERVICE LEARNING INTO COMPUTER SCIENCE COURSES * Joo Tan, John Phillips Department of Mathematics and Computer Science Mansfield University of Pennsylvania Mansfield, PA 16933 570 662-4553

More information

EAPRIL Best Research and Practice Award

EAPRIL Best Research and Practice Award EAPRIL Best Research and Practice Award GENERAL PROJECT INFORMATION 1. Title of project Schools as Sustainable Learning Organizations: Research Based Practice Process of Becoming a Sustainable Learning

More information

Usage of SCRUM Practices within a Global Company

Usage of SCRUM Practices within a Global Company 2008 IEEE International Conference on Global Software Engineering Usage of SCRUM Practices within a Global Company Mauricio Cristal mauricio.cristal@gmail.com Daniel Wildt FACENSA, Brazil daniel@facensa.com.br

More information

Teaching Students with Special Needs: Inclusion Strategies for the Classroom Teacher

Teaching Students with Special Needs: Inclusion Strategies for the Classroom Teacher Quality Educational Programs, Inc. 1891 North Gaffey Street #228 San Pedro CA 90731 800-486-8650 Teaching Students with Special Needs: Inclusion Strategies for the Classroom Teacher A Distance Learning

More information

Extreme Programming, an agile software development process

Extreme Programming, an agile software development process Extreme Programming, an agile software development process Nigel Goddard School of Informatics University of Edinburgh Recall: Waterfall and Spiral Models Waterfall: Spiral: Split project into controlled

More information

Making Architectural Design Phase Obsolete TDD as a Design Method

Making Architectural Design Phase Obsolete TDD as a Design Method HUT / SoberIT 2004 Spring T-76.650 SQA in Agile Software Development 1 Making Architectural Design Phase Obsolete TDD as a Design Method Marc Josefsson T-76.650 Seminar course on SQA in Agile Software

More information

Practical Experiences of Agility in the Telecom Industry

Practical Experiences of Agility in the Telecom Industry Practical Experiences of Agility in the Telecom Industry Jari Vanhanen 1, Jouni Jartti 2, and Tuomo Kähkönen 2 1 Helsinki University of Technology, Software Business and Engineering Institute, P.O. Box

More information

Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution

Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution Software Life Cycle Main issues: Discussion of different life cycle models Maintenance or evolution Not this life cycle SE, Software Lifecycle, Hans van Vliet, 2008 2 Introduction software development

More information

A reflective teaching practice experience: a case study

A reflective teaching practice experience: a case study A reflective teaching practice experience: a case study Bertha Paredes Zepeda Hilda Hidalgo Avilés Universidad Autónoma del Estado de Hidalgo Abstract This paper aims to share an experience of how students,

More information

WHAT MAKES AGILE DEVELOPMENT DIFFERENT?: A CASE STUDY OF

WHAT MAKES AGILE DEVELOPMENT DIFFERENT?: A CASE STUDY OF WHAT MAKES AGILE DEVELOPMENT DIFFERENT?: A CASE STUDY OF AGILE IN PRACTICE. Lewis Chasalow Virginia Commonwealth University chasalowlc@vcu.edu ABSTRACT Agile development methods have been described by

More information

Bottlenecks in Agile Software Development Identified Using Theory of Constraints (TOC) Principles

Bottlenecks in Agile Software Development Identified Using Theory of Constraints (TOC) Principles Master thesis in Applied Information Technology REPORT NO. 2008:014 ISSN: 1651-4769 Department of Applied Information Technology or Department of Computer Science Bottlenecks in Agile Software Development

More information

Agile Software Development

Agile Software Development E Learning Volume 5 Number 1 2008 www.wwwords.co.uk/elea Agile Software Development SOLY MATHEW BIJU University of Wollongong in Dubai, United Arab Emirates ABSTRACT Many software development firms are

More information

Alternative Development Methodologies

Alternative Development Methodologies Alternative Development Methodologies The Software Development Process described in the course notes and lecture is a generalized process that been in use for decades. Over this time, scholars in the IT

More information

Software Development Life Cycle (SDLC)

Software Development Life Cycle (SDLC) Software Development Life Cycle (SDLC) Supriyo Bhattacharjee MOF Capability Maturity Model (CMM) A bench-mark for measuring the maturity of an organization s software process CMM defines 5 levels of process

More information

A Software Project Management Innovation (SPM) Methodology: A Novel Method for Agile Software Development

A Software Project Management Innovation (SPM) Methodology: A Novel Method for Agile Software Development Third 21st CAF Conference at Harvard, in Boston, USA. September 2015, Vol. 6, Nr. 1 ISSN: 2330-1236 A Software Project Management Innovation (SPM) Methodology: A vel Method for Agile Software Development

More information

CHALLENGES AND WEAKNESSES OF AGILE METHOD IN ENTERPRISE ARCHITECTURE

CHALLENGES AND WEAKNESSES OF AGILE METHOD IN ENTERPRISE ARCHITECTURE CHALLENGES AND WEAKNESSES OF AGILE METHOD IN ENTERPRISE ARCHITECTURE Zahra Askarinejad Amiri 1 1 Department of Computer Engineering, Staffordshire University ABSTRACT zahra.askarinejad@gmail.com As Information

More information

What Does Large Mean? Copyright 2003 by N. Josuttis and J. Eckstein 3. Why is Large an Issue?

What Does Large Mean? Copyright 2003 by N. Josuttis and J. Eckstein 3. Why is Large an Issue? Skalierung von agilen Prozessen Ein Erfahrungsbericht OOP 2003 Jutta Eckstein Nicolai Josuttis This Talk is About Agility Large Experience Success Copyright 2003 by N. Josuttis and J. Eckstein 2 1 What

More information

Annual Goals for Math & Computer Science

Annual Goals for Math & Computer Science Annual Goals for Math & Computer Science 2010-2011 Gather student learning outcomes assessment data for the computer science major and begin to consider the implications of these data Goal - Gather student

More information

Agile processes. Extreme Programming, an agile software development process

Agile processes. Extreme Programming, an agile software development process Agile processes Extreme Programming, an agile software development process Nigel Goddard School of Informatics University of Edinburgh What the spiral models were reaching towards was that software development

More information

School Psychology Program Goals, Objectives, & Competencies

School Psychology Program Goals, Objectives, & Competencies RUTGERS SCHOOL PSYCHOLOGY PROGRAM PRACTICUM HANDBOOK Introduction School Psychology is a general practice and health service provider specialty of professional psychology that is concerned with the science

More information

How To Understand The Limitations Of An Agile Software Development

How To Understand The Limitations Of An Agile Software Development A Cynical View on Agile Software Development from the Perspective of a new Small-Scale Software Industry Apoorva Mishra Computer Science & Engineering C.S.I.T, Durg, India Deepty Dubey Computer Science

More information

Learning about the influence of certain strategies and communication structures in the organizational effectiveness

Learning about the influence of certain strategies and communication structures in the organizational effectiveness Learning about the influence of certain strategies and communication structures in the organizational effectiveness Ricardo Barros 1, Catalina Ramírez 2, Katherine Stradaioli 3 1 Universidad de los Andes,

More information

University of Southern California

University of Southern California University of Southern California Price School of Public Policy Master of Health Administration residency guidebook USC Price School of Public Policy, Graduate Programs in Health Administration 650 Childs

More information

COMP 354 Introduction to Software Engineering

COMP 354 Introduction to Software Engineering COMP 354 Introduction to Software Engineering Greg Butler Office: EV 3.219 Computer Science and Software Engineering Concordia University, Montreal, Canada Email: gregb@cs.concordia.ca Winter 2015 Course

More information

Software Development Under Stringent Hardware Constraints: Do Agile Methods Have a Chance?

Software Development Under Stringent Hardware Constraints: Do Agile Methods Have a Chance? Software Development Under Stringent Hardware Constraints: Do Agile Methods Have a Chance? Jussi Ronkainen, Pekka Abrahamsson VTT Technical Research Centre of Finland P.O. Box 1100 FIN-90570 Oulu, Finland

More information

Case Based Scenarios: Evidence Based Teaching Learning Strategy in Nursing Education Pharmacology Course

Case Based Scenarios: Evidence Based Teaching Learning Strategy in Nursing Education Pharmacology Course International Journal of Nursing December 2014, Vol. 1, No. 2, pp. 147-154 ISSN 2373-7662 (Print) 2373-7670 (Online) Copyright The Author(s). 2014. All Rights Reserved. Published by American Research Institute

More information

Agile Software Project Management with Scrum

Agile Software Project Management with Scrum Agile Software Project Management with Scrum Viljan Mahnic, Slavko Drnovscek University of Ljubljana, Faculty of Computer and Information Science Trzaska 25, SI-1000 Ljubljana, Slovenia viljan.mahnic@fri.uni-lj.si,

More information

Designing a Discussion: Teacher as Designer

Designing a Discussion: Teacher as Designer Designing a Discussion: Teacher as Designer Margret A. Hjalmarson Purdue University For whole-class discussions, teachers need methods for orchestrating them with their students. This

More information

Extreme Programming and Rational Unified Process Contrasts or Synonyms?

Extreme Programming and Rational Unified Process Contrasts or Synonyms? Extreme Programming and Rational Unified Process Contrasts or Synonyms? Per Runeson and Peter Greberg Lund University, Sweden per.runeson@telecom.lth.se Abstract The agile movement has received much attention

More information

Ingegneria del Software Corso di Laurea in Informatica per il Management. Agile software development

Ingegneria del Software Corso di Laurea in Informatica per il Management. Agile software development Ingegneria del Software Corso di Laurea in Informatica per il Management Agile software development Davide Rossi Dipartimento di Informatica Università di Bologna The problem Efficiency: too much effort

More information

REFLECTING ON EXPERIENCES OF THE TEACHER INDUCTION SCHEME

REFLECTING ON EXPERIENCES OF THE TEACHER INDUCTION SCHEME REFLECTING ON EXPERIENCES OF THE TEACHER INDUCTION SCHEME September 2005 Myra A Pearson, Depute Registrar (Education) Dr Dean Robson, Professional Officer First Published 2005 The General Teaching Council

More information

STUDENT PERCEPTIONS OF INSTRUCTOR INTERACTION IN THE ONLINE ENVIRONMENT

STUDENT PERCEPTIONS OF INSTRUCTOR INTERACTION IN THE ONLINE ENVIRONMENT STUDENT PERCEPTIONS OF INSTRUCTOR INTERACTION IN THE ONLINE ENVIRONMENT Michelle Kilburn, Ed.D. Southeast Missouri State University Assistant Professor, Criminal Justice & Sociology mkilburn@semo.edu Abstract

More information

PROCESS OF MOVING FROM WATERFALL TO AGILE PROJECT MANAGEMENT MODEL

PROCESS OF MOVING FROM WATERFALL TO AGILE PROJECT MANAGEMENT MODEL PROCESS OF MOVING FROM WATERFALL TO AGILE PROJECT MANAGEMENT MODEL Sanja Vukićević 1, Dražen Drašković 2 1 Faculty of Organizational Sciences, University of Belgrade, vukicevicsanja@yahoo.com 2 Faculty

More information

On Project Management Scheduling where Human Resource is a Critical Variable 1

On Project Management Scheduling where Human Resource is a Critical Variable 1 On Project Management Scheduling where Human Resource is a Critical Variable 1 Valentina Plekhanova Macquarie University, School of Mathematics, Physics, Computing and Electronics, Sydney, NSW 2109, Australia

More information

Table of Contents. CHAPTER 1 Web-Based Systems 1. CHAPTER 2 Web Engineering 12. CHAPTER 3 A Web Engineering Process 24

Table of Contents. CHAPTER 1 Web-Based Systems 1. CHAPTER 2 Web Engineering 12. CHAPTER 3 A Web Engineering Process 24 Table of Contents CHAPTER 1 Web-Based Systems 1 The Web 1 Web Applications 2 Let s Introduce a Case Study 3 Are WebApps Really Computer Software? 4 Are the Attributes of WebApps Different from the Attributes

More information

Striving for Success: Teacher Perspectives of a Vertical Team Initiative

Striving for Success: Teacher Perspectives of a Vertical Team Initiative VOLUME 16 NUMBER 3, 2006 Striving for Success: Teacher Perspectives of a Vertical Team Initiative Dr. Lisa Bertrand Educational Administration and Counseling Southeast Missouri State University Dr. Ruth

More information

Effective Teaching Approaches in Diploma of Business Course

Effective Teaching Approaches in Diploma of Business Course Abstract: Effective Teaching Approaches in Diploma of Business Course Tsen Tzee Mui Curtin University Sarawak Malaysia tsentm@curtin.edu.my Dr Beena Giridharan Curtin University Sarawak Malaysia beena@curtin.edu.my

More information