{'fraction_non_alphanumeric': 0.018261644184270807, 'fraction_numerical': 0.005726648002036141, 'mean_word_length': 5.096586501163693, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Requirements identification for distributed agile team communication using high level carotene

Received Aug 4, 2019 Revised Dec 11, 2019 Accepted Jun 18, 2020 Communication plays an important role to deliver the correct information. However, the communication became challenging especially for agile software teams, which are in geographical distributed. The problem arise when there are exchanging information using unstructured communication platform, misunderstanding on the information communicated and lack of documentation. The aim of this study is to propose a text classification technique for requirements identification in text messages. In this study, we adopted the cascade and cluster classification concept of Carotene that relies on the hash tag function. It classifies the text messages into requirements types instead of job title. This technique called as high-level carotene (HLC) technique that embedded into the tool to identify the functional requirement and non-functional requirements. The result shows that most of criterias evaluated have achieved more than 85% of effectiveness in identifying both of requirement in text messaging by using this technique.


INTRODUCTION
The replacement of manual work through technologies made the software industries received tremendous job to develop applications that suits to the organizations need. The evolution of demand for quick deliverables requires the businesses to keep changing its direction which led to the emergence of agile development methods. Instead of trying to identify a complete set of requirements before the project begins and eliminate changes, agile methods embrace change by accepting and incorporating it. Agile software development refers to a software development methodologies based on iterative development, where requirements and solutions evolve through collaboration between self-organizing cross-functional teams. The organizations that adopt agile methodology can have team that are co-located and distributed across the oceans. The co-located agile team works in the same location within the same room, besides one another and can have face to face interaction while communication. Meanwhile, the distributed agile team dispersed in cubicles or in separate offices or in different floors, or geographically distributed across the world. In terms of communication, many distributed agile team uses messaging tool to discuss the product requirements or any project information. This method produce large number of data in the messaging features. Since project is tied to the timeline and customer requires fast deliverables, the development team need a suitable tool. By classifying the text messages sentences and stored it into structured board will help them to have an effective platform as reference, better focus and save time. In industry, there are numerous number of text classification techniques such as Carotene and Convolutional Network (ConvNet).

RESEARCH METHOD
In this paper, we study high level carotene text classification concept that does automatic cascade and cluster text classification as our proposed solution of text classification function. This concept relies on training dataset. For this study, we adopted the cascade and cluster classification concept but rely on the hash The user can use its service to identify requirements and organize it into functional requirement (FR) and non funtional requirement (NFR). They also can perform the hash tag function to initiate the text sentences classification process. Once the sentence submitted, the cascade classification split the sentences into words to find the hash tag function. During this process, it tries to detect the hash tag function in the text sentences to identify the requirements. After it detected, the cluster classification will grouped back the splitted words into the sentences. The cluster classification organized the identified requirements by storing them into their respective clusters before it is display for user's view.

The design
In design phase, we perform the process of embedding the HLC classification concept into the AgileCom tool. The cascade and cluster classification implemented at the backend for automatic classification function and the hash tag function labeled at the front end. This technique also known as topic labeling, that is understanding what is the given text is talking about. The combination of cascade and cluster classification used for structuring data by its topic or subject labeling. Figure 1 shows the flow of the classification technique for the text messages in the AgileCom tool.  Figure 1, user start activities by using the hash tag function. All the text messages, automatically classify vertically in the array list during backend processing through cascade classification. The identified same hash tag function in the array list in the cascade classification later automatically grouped into the same cluster using cluster classification. Any text sentences that not contain the hash tag function will automatically eliminated. The hashtag function takes the following code as shown below: 'The hashtag symbol"the first letter of the 2 Requirement Types word' The purpose of code above is to label the text messages sentence into topic function. The classified messages that available in the cluster assigned to the requirements board as functional requirement or non functional requirement. The assigned classified requirements displayed in the requirement board for user references. The codes of classification take the following as shown below: a) Cascade classification: Split (string $pattern): array b) Cluster classification:

Word wrap (string $str) + Match (string $pattern)
The code of cascade classification taken from the existing PHP preg_split. The purpose of cascade classification is to split the sentence into word of cascase of array to identify the word that contain hashtag function by using regular expression pattern. Whereas the code of cluster classification taken from the existing PHP wordwrap and preg_match. The purpose of cluster classification is to find the match of the hashtag function and wrap back the splitted word into sentences using regular expression pattern.  Figure 2 shows the activity diagram of the AgileCom tool. It starts with the user to login into the system and type the text messages in the messaging room. The user can either type normal text messages or use hash tag function in messaging room. Based on Figure 2, if the user chose to use hash tag function, the user can view the classified text messages in the requirements board. For the login alternative, user can directly go to requirements board to view requirements as reference. Lastly, they can logout from the system.

The implementation
We develop AgileCom as a web based application, use HTML and JavaScript for front-end scripting, PHP programming language as server side scripting and PHPMyAdmin as database that uses MySQL scripting. Figure 3 shows the interface for chatting in the messaging room. This process can done by any members in the distributed Agile Team project. Based on Figure 3, business analyst (BA) login into the messaging room and typing the messages to communicate. The user can use the '#FR' or '#NFR' hash tag function to input the message. Once user input the messages the the automatic cascade perform the classification process at server side to find the match for hash tag function in the sentences. The sentence split into an array list of word to detect the '#FR' words vertically. Figure 4 shows the process of cluster classification at server side. As shown in Figure 4, after the hash tag function of '#FR' identified, it wrapped back the split word into the sentences and grouped it in the same cluster. In this case, '#FR' is classify into its cluster of #FR. Figure 5 shows the requirements board interface. Based on Figure 5, the requirement board displays the classified text sentences of functional and non-functional requirement. Figure 6 shows the algorithm of to the HLC technique which is embedded into the AgileCom tool. Based on Figure 6, step 1 describes the user "Start" by login into the system and procees to step 2, which is 'Output "Messages Text Box in Messaging Room"' by displaying the textbox for chatting in the Messaging Room. In step 3, the "Input String" allow user to input text messages. In the step 4, the "Input hash tag function for software requirements types sentences." accept the user input for hash tag function.
Step 5 shows the classification of text messages by HLC technique based on the hash tag function. In step 6, the tool will perform "Output HLC Text Classification" to display the classified software requirements types. Lastly, the users can "Stop" by logout from the system.

RESULTS AND DISCUSSION
In this study, we distributed survey to seven respondents through email and mostly using instant messaging applications such as WhatsApp to the targeted respondent. Figure 7 shows the background of repondents. As shown in Figure 7, the total of 57.1 % of the respondents work as Software Developer and the remaining of 14.3% work as Project manager, Business Analyst and Other types of position related to Software Engineering field. The user background achieved our target because we focus on the respondents who work in software development team. For example, to adopt the real environment, we require higher number of developers only 1 business analyst and 1 project manager in a project team.

Figure7. The evaluation result on respondents background
To ensure that our study is meaningfull, we provide a questionnaire "Do you have work experience in Distributed Agile Team". The objective of this questionnaire is to ensure only those who are experience in Agile environment and distributed geographically understand the constraint and challenges in distributed communication team. The result shows that all of seven respondents have experience working in distributed agile methodology team. In term of years the working experience in distributed agile team, five of respondents or 71.4% have 4 to 7 years experience whereas only two of respondents have 1 to 3 years experience. Most of seven respondents using messaging tool in their daily work and have experience facing communication issues with their team members that distributed at different places. However, six of respondents agreed that they have face difficulties to communicate with other team in different location while one disagreed. The result also shows that approximate 85.7% or 6 respondents agreed that the classification of message data into FR and NFR would be able to avoid requirement misunderstanding during messages communication while one respondent disagreed. Table 1 shows the evaluation results summary of the effectiveness of the technique and tool. The purpose of this evaluation is to obtain valuable feedback of our design, method and implementation. The questions in Table 1 is to measure the effectiveness of the HLC technique embedded in the AgileCom tool. From the result of question 1 until 4, 100% of the user agrees that they are aware on the importance of requirements types' classification during the software development process. This is because they have to communicate to each other to clarify the requirements. They usually used messages application to 255 chat about it. However, the size of text messages data they sent during chatting with one another is huge. It is difficult for them to find the FR and NFR sentences when they need to refer to the information again. They have to scroll the interface multiple times to allocate the data. With this technique, it is able to eliminate this problem and improve the team's productivity. Apart from that, the technique also helps them to expedite the understanding of their communicated software requirements type's data easily because it identifies and classifies the text messages into FR and NFR. This helps to discard the requirements freeze that allow them proceed to development phase faster. They also agree that it support proper text sentences classification process since it is able to to identify and categorize the raw text messages into FR and NFR in the chat conversation. The categorized text sentences of FR and NFR value stored at the Requirements Board able to help organizing their requirements data. For question 5, approximate 85.7% or six users agrees that this technique allow the agile team to move to development phase faster, maximize the value delivered during sprints because they manage to meet the timeline but able to produce a quality product. Based on question 6, approximate 85.7% or six users also agree it is able to improve their communication management because working in global agile team is difficult and time consuming. By having one centralized communication platform with focus of requirements identification of FR and NFR, they had less worry on the messiness of their unstructured way of communication.
Based on our pre survey, approximate 85.7% or six of respondents face difficulties to communicate with other team in different location. All of respondents also agreed having experience in wrong software requirements delivered during messaging communication. In order to eliminate the above problem, we evaluate the suitability of communication using HLC technique in the Agilecom Tool. We also evaluate the successful of this technique in classifying FR and NFR to avoid wrong software requirement. Table 2 shows the summary of suitability evaluation. Based on Table 2, all of the respondents agreed that Agilecom tool is suitable practice by distributed agile team in different location. The result also shows that six of the respondent or 85.7% are strongly agreed the technique and tool succesful in delivering the right software requirements during messages once they obtained it from the Product Owner. This is to ensure that they can plan the sprint correctly and reduce requirements freeze duration. However, they did not focus on the communication management due to the development of the product is more important for them to achieve the timeline for product release. In overall, we conclude that hash tag and HLC technique able to answer to the problem highlighted.

CONCLUSION
In this study, we proposed the HLC technique that does automatic cascade and clustering text classification based on the hash tag function to identify requirements types during text messages communication. Due to the classification of text messages to the FR and NFR, it is able to reduce the misunderstanding in communicating the types of requirements between the distributed agile team members. Although there are many other available communication platform as mentioned by the user like Trello and WhatsApp but only AgileCom have the technique that solely focus on classifying the requirements types into FR and NFR. As we believe, the user also agrees this technique can overcome the problem highlighted earlier. The users now have structured text messages tool that function as organizer that provide service to identify and organize text messages. This process contributed uniquely only for agile team usage, which makes it new in agile, team communication management area. The algorithm and system design stated in section 2 describe the novel technical contribution to this work. By using web-based application, the requirement is accessible at any time with different location. The technique also able to improve their communication and requirements management that crucial to deliver quality output and increase team productivity, where six respondents (85.7%) agreed.