Design and Implementation of Subject-based Learning Website Based on Scrum

. From the two points of view of software engineering and teaching strategy, the functional features and key elements on designing of the subject-based learning website are analysed in detail. A design method based on scrum is proposed and implemented of a subject-based learning website for the "Office Automation" course. The method improves the traditional process of scrum, it mainly integrates the designing of self-learning tasks in the form of user stories cards into the product backlogs of functionality requirements of the subject-based learning website, and establishes a scrum committee which contains of high educational experts and college leaders to ensure the agile development of the project. Finally, further researches on how to refine and evaluate the user stories reasonably, how to implement the test automation combined with manual test for agile project, how to manage and coordinate the work arrangements of team members to stimulate them self-driven awareness are expected in the paper.


Introduction
Subject-based learning website refers to the teaching website which is based on "Topic Exploration". It displays knowledge related to the subject of learning, and reconstructs organization on texts, graphics, images, animations and other resources for learning content [1]. Some relevant expansion learning resources and their hyperlinks are also collected or managed in website, and there are functions for conducting online discussions and answering questions for learners according to learning subjects. Subject-based learning website is a learning system for researching which based on network resources essentially, it is also a type of instructional software that integrates learning resources and learning processes. With the help of modern information technology and networks, students' information literacy is improved and students' learning ability is cultivated [2].
Subject-based learning website has become a new situation in the information-based and networked learning platform, and has received extensive attention from educational researchers. Many university teachers take keen interest in using of subject-based learning website to support teaching process. They design of the related course cases to develop the subject-based learning website for courses to aid of classroom teaching or online education. Through searching and reading lots of related documents, there are still some problems on designing and construction of subject-based learning website. For example, many subject-based learning websites are designed even used in participating in teaching competitions and cannot be effectively applied to guide self-learning activities for learners in actual environment. The development and maintenance of subject-based learning websites have been restricted by teacher's ability in information technology application and their enthusiasm for participation in construction of websites are lower [3]. The page design of the subjectbased learning website does not conform to the web standards and using more static pages technology, lack of designing for interaction [4]. Although the layout of some pages of websites are designed brilliant, they could not improve students' interests in self-learning and topic exploration from the perspective of students' cognition and usability of software. Even some subject-based learning websites are developed by software waterfall models, and it is out of line seriously with modern software agile development theory. A subject-based learning website dynamic generation system is designed to implement regional sharing mode of the establishment on websites in [1], but this establishment mode of websites is only for high school and primary school, not for universities. Some development models of instructional software are proposed recently, such as improved development model of RUP for instructional software [5], development model of multi-media instructional software based on CSCW (Computer Support Cooperative Work) [6], prototype development model in multi-media instruction software [7], and so on. But, those development models do not orient one certain type of instructional software, so the development of subject-based learning website in agile method should be researched.
As an agile development mode that is widely used, a design process of subject-based learning website which based on scrum is proposed in this paper. The structure is organized as follows: Section 2 presents the concept on scrum and features on subject-based learning website. Section 3 establishes a method on designing process of subject-based learning website based on scrum and analysis on each design element in the method from both software engineering and teaching design. For an application case, a subject-based learning website of "Office Automation" course in university is designed and implemented based on scrum. Section 4 concludes the paper and further work is put forward.
2 Concept on scrum and key elements on designing of subject-based learning website

Introduction on scrum
Scrum is a simple yet incredibly powerful set of principles and a practice that helps teams deliver products in short cycles, enabling fast feedback, continual improvement, and rapid adaptation to change [8]. Scrum is an agile framework with iterative incremental software development process for completing complex projects.
In the process of scrum, the entire development cycle consists of several small iterations (Sprints). The development time for each sprint is 2 to 4 weeks. In each Sprint, the development team members get a priority list of requirements (user stories or Sprint backlogs) for users. A deliverable software product is developed when iteration for development is finished.
The process of scrum requires development team to focus on how to achieve the most valuable part of the software in the shortest possible time. In accordance with the user's requirements or business value, highpriority product functions should be realized first, developers can quickly monitor the real-time progress of the project, and quickly adjust the development bias. Phased development products could be run online or released which can be seen by users no more than one month(one or two weeks commonly). Transparency, inspection, and adaptation are the main characteristics of scrum, and some essential terms on the process of scrum which is shown in Fig.1 can be also searched in [9].

Functions and key elements on designing of subject-based learning website
Developers need to design learning resources on a certain subject, exploratory tasks and communication activities, and self-exploration is important rather than simple resource acquisition. Programmers, curriculum teachers, educational experts and art designers should be participated in the whole development team.
From the perspective of education, a typical subjectbased learning website usually consists of three functionality modules: resource area, task area, and selfexploration area [4].The sub-systems of the website and main functions on each sub-system are shown as Table 1.
Since the subject-based learning for exploration is carried out in the subject-related learning activities and exploratory tasks, the design of learning activities, especially the design of activity tasks and learning for supporting are important to be focused on during the development of the subject-based learning website. This is different from the implementation of common software in terms of functionality and cannot be ignored by developers. Some key elements to design of the subject-based learning website in [10], which are listed in the following. Table 1. Main functions of sub-systems.

Sub-system Description of main function
Resource

Design of topics for self-learning
Topics for self-learning should be based on chapters and sections of a textbook for students. And it also can be designed for appropriate extension of the content of the textbook, to form a topic which is comprehensive [10].

Design of learning task
Learning task on exploration must be clear to students. For a larger task, it could be broken into many subtasks.
The goal of task design should be diversified, to have different goals and its evaluation criterion [10].

Design of learning tool
Exploration on learning is more dependent on students' inquiry and collaborative communication, and it can't be departed from the support of learning tools [10]. Learning tools, especially including the tools for searching information (such as Google, Baidu, etc.), cooperative learning tools(such as WiKi, BBS, QQ, MSN, etc.), task statement tools(such as Word, Excel, PowerPoint) should be designed to integrate into the web pages according to the purpose and content of the exploration on learning for students. It is more convenient to students to use these learning tools to complete the process of accessing to information resource, express their own thoughts and communicate with others.

Design of evaluation
During the development of subject-based learning website, appropriate evaluation on learning activities is need to designed according to the goal, task and the related activities on learning, because it plays an important role to control quality for implementation on learning process [10]. Learning process evaluation and result evaluation are included in evaluation, and the evaluation is constituted with self-evaluation, mutual evaluation between students and evaluation for teachers [4]. Score ratio is suggested to be set up according to the actual situation.

Design and implementation based on scrum 3.1 Background of the project
In order to train and improve the ability of non-computer professional students to work with office daily, the college of computer engineering develops a subjectbased learning website for the "Office Automation" course. Students access to the website to acquire knowledge of the course by tasks exploration process independently. The website can be running on the Win/7/8/10 platform. Scrum method is used to complete the website development process. The time of whole development cycle is within three months, and the project team consists of one product owner, one system analyst, three coders and one art designer.

Determine the role of Scrum
Before the design of the subject-based learning website based on scrum method, it is necessary to determine the role of each project member first. Scrum role consists of a product owner, a scrum master and a scrum team. Product business is focused by the product owner. Dean of the college plays a role of the product owner in this project. He is responsible for determining the functions of the website and confirms the required standards, specifying the release date and delivery content of the website for users. As a system analyst, the author is in charge of the whole scrum process and revises the development plan. The project team is responsible for the development of software products under the scrum regulations process. Each member of the project is dedicated to different technical aspects on website development and has a certain level of expressiveness to achieve sprint's goals.

Construction on improved process of scrum
Based on the actual development environment and the characteristics on software project, many experts and researchers complete the optimization for scrum, and many optimized frameworks are constructed under the guidance of agile principle. In this paper, we reference the optimized framework of scrum in [11] (shown as Figure 1), and put it into application of the subject-based learning website for the "Office Automation" course.
In this process, a scrum committee of high educational experts and college leaders is established. The main responsibility of the scrum committee is to let the scrum team understand the necessity of agile development and provide sufficient resources for scrum team, such as fund getting, making time for development, and so on. Reasonable development goals are also be set by scrum committee, they forecast and deal with problems which may be encountered during the development. Additionally, three types of scrum meeting are also marked in the scrum framework. Through rapid gathering and analysis of requirements for users, the sprint session creates a list on tasks for each user story and determines the working hours for each user scenario. Generally, the total duration of each task should be less than 8 hours. The user story needs to be as detailed as possible. Daily standup meetings are hosted by scrum master. The purpose is to let each member reporting on his work, specifying what he did yesterday, what he will do today, what difficulties he encountered in the process, and what help is need [11]. Retrospective meeting will need to improve the items (such as the system environment, finishing the later documents, etc.) according to the amount of time which is required to specify the task to scrum team numbers. Of course, these improvement tasks and the new sprint can be carried out at the same time, but the factor of estimation on the sprint's time should be taken into account and supervised by the scrum master.
(Note: There is no sprint review meeting in this framework of scrum. In fact, scrum team will send the developed functions to product owner every day in the form of email. Of course, for the changing requirements, it can be placed on especially the functions with UI page to the product owner the next sprint after the negotiation on product owner and scrum team.)

Requirement analysis
The subject-based learning website for the "Office Automation" course is to focusing on daily office operations, students are required to exploration and learning in the way of communication and collaboration, and use related office tools to complete the tasks on various office electronic works in life, such as postcard, certificate, resume, greeting card, book cover, poster, bookmark, payroll receipt, annual production reports of enterprise, exquisite slide, and so on.
Three sub-systems of "resource area", "task area" and "self-exploration area" are composed of the first version of subject-based learning website for the course of "Office Automation". As the functionality requirement for the web, the functional description of each subsystem is shown as Table 1 below. By the way, nonfunctionality requirement are also important. For example, the website is based on SSH (Struts-Spring-Hibernate) architecture, HTML for page layout, and so on.

Design and implementation
The scrum project requires continuous refinement of user requirements during the project process. Limited by the user's cognitive ability, in the first version for website's Product Backlog, not all tasks and requirements are listed in detail, but selecting the most significant and essential features of the website that ensure the first spring can be started successful.
In one spring, a list on some product backlogs for the first version is shown as Table 2. For the elements on Table 3, "Priority" refers to the importance on development, and the value is often indicated by a number. "Type" refers to the types of the user story during the development of the project, new requirement or bug or product optimization is the three options for selecting. "Status" refers to the development status on the project, not started or developing or completed is the three options for selecting in order to express the business requirement clearly.
As the progress on the spring, user stories in product backlog list will be changed, readjusted, increased, decreased, and modified constantly. After each round of sprint iteration development, the status on user stories in the list of the product backlog will be updated [9].
As we mentioned above, the design of learning activities, especially the design of activity tasks and learning for supporting are also important during the development by course teachers and educational experts. Teachers should combine the teaching targets on the course with the localized teaching environment which are based on the analysis of students' cognitive characteristics, and acquire requirements for users in the form of recording user story cards. A self-learning task can be designed as a question, or a case, or a project that can be fully integrated with the relevant course learning content and can be extended on the time and space dimensions of learning activities. The contents of the task must be familiar with most of the learners and are taken great interests by learners. The difficulty in process on learning task cannot be too hard or too easy. The template of the user story card is shown in Table 3.
Finally, scrum committee and product owner should communicate directly with the whole project team. For the main deliverables for input or output in scrum, a product list needs to be described exhaustively as it shown in Figure 1. Regarding the sprint list, the product should be breakdown as far as possible within 8 hours before estimating the working hours. Something that requires time and non-estimated tasks is also estimated, such as stand-up meetings, time for code reviewing, and so on [11]. As the scrum manager, the author for this paper sends the burn down chart to the team members every day by e-mail, to train the habit of the team members on focusing on burn down graph every day gradually and ensure them to know the overall progress of the sprint.  Table 3. Template of user story card.

User story card of self-learning task
Task id //The id of the self-learning task.
Task name // The name of the self-learning task.
Priority //Importance on designing of the task.

Description
//Describe the requirements and specifications that need to be completed for the self-learning task.
Estimation //The amount of work required to design this task. Evaluation criterion //The evaluation criteria after completion of this task. Related content on the course //The content on the course that need to be known by learners to explore and complete this task.

Link resources
//Relevant learning and tool resources to provide learners for referencing to complete this task.

Application and achievements
During the development process of scrum project, functions of system are distributed over several iterations to complete the requirements for users, and the system is deliverable when iteration is over. The latter iterative development is based on the previous iterative development, and completes or expands the functions that implemented in the previous iteration [12]. Tasks with higher priority are focused on in each iteration only, and some new requirements for users will be added during this iteration. Of course, it is necessary to reprioritize the requirements and specify the product tasks for the next iteration after the previous iteration is completed.
The iterative development process is broken into four iterations, product backlogs should be listed in each spring and the time for iteration is within fifteen days. The first iterative development was mainly focused on the core requirements of the web, such as functions in Table 2. Requirements are expanded and the problems of the previous iteration should be solved in second iteration. The designing of the certain self-learning tasks were completed from the perspective of teaching target and cognition on learners. In the same analogy, the main content of the third iteration is the development of various learning tools and task evaluation systems that learners need to complete the exploration tasks. Some of the non-functionality requirements of the web will be focused on in the fourth iteration of development, such as the aesthetics of the pages on the web, usability, compatibility with the hardware platform, and so on. Through each iterative development, requirements for users are achieved gradually and the quality of the software can be assured.
With the scrum-based approach on developing the subject-based learning website for the first version, the website is completed successfully within two months. Starting from the construction of the scrum team, the development process is managed iteratively. The all kinds of scrum meetings are continued to follow-up and improve the development process during the four iterative cycles. Modification and adjustment could be done after reviewing in iteration of the project progress by scrum team. While the project is completed, reflection on project's participation is enhanced by team members, and they have more space for their own advantages and learning. At the same time, team members are also collaborated more closely.

Further researches
Some research on designing of a subject-based learning website based on scrum has been done in this paper, but development process in agile method is a changeable and uncertain job, and further researches should be explored.
Firstly, how to design the self-learning tasks to form a series of user stories from the content of the course in according with cognitive abilities for learners. How to refine and evaluate the user stories reasonably which makes the requirements for users more clearly by developers. Secondly, how to carry on test automation for agile projects. At present, although automated testing method is the best choice for applying agile testing, performance testing can also be done by certain automated testing tools [13]. However, the usability, human-computer interaction, key business selection, load mode, etc. cannot be completed by automated testing tools. It requires manual design and designing of various test scenarios. Thirdly, being a scrum master, how to manage the scrum process with the resistance of team members, and how to coordinate the work arrangements of team members to stimulate self-driven awareness are also further researches in the future.