Skip to content

Customer Milestone 1 ‐ Project Deliverable

aasimdag edited this page Mar 19, 2024 · 26 revisions

Introduction

This is the first milestone report of the Group 7 of bounswe2024. This group of CMPE352 Introduction to Software Engineering Course intends to build a software which semantically browses for any painting existing in exhibitions or museums as well as enabling users to create their own paintings and interact with each other with their art talent. The contributed members of this project are:

1. Executive Summary

1.1) Summary of project and overall status

This project is a social media platform that will make finding the paintings and sharing art works with others easier. It’s main domain is paintings and the project not only uses wikidata as main data source but also gives users a platform to share their paintings with each other. So main objective is connecting everyone with every painting.

One of the core values of the project is availability for everyone. The aim is to make every painting findable and make the searching easier for art enthusiasts. So we decided to develop a social media platform that users can share their art works, which also includes all the paintings’ informations around the world. By doing so, we want to reveal the true value of seeing that anybody can paint and share their talents with others.

In order to achieve this, we will develop an app which is open to both guest users who are looking for any art piece that they saw in museums and registered users who wants to share their art. The app will allow users to semantically search and browse informations related to any art work by their names, genres, artists, even locations! The registered users also will be able to post their works with users and link them with related paintings.

For us, some students who respect the effort put into any work of art, there should be better niche platforms to inspire people. Everyone should be able to search and see every painting that ever created and value the exertion. So here we are to solve this!

1.2) The status of deliverables

Deliverable Progress Link
Communication Plan Delivered and Completed Communication Plan
Project Plan Delivered and Completed Project Plan
Requirements Delivered and Completed Requirements
Mock-ups and Scenarios Delivered and Completed Mock-ups Scenarios
Research Delivered and Completed Sample Research
Meeting Notes Delivered and Completed Meeting Notes
Milestone Report Delivered and Completed Milestone Report
Issues Delivered and Completed Issues

1.3) Decisions and Choices

Communication Environment: We decided a communication environment first. Whatsapp seemed to be an appropriate to communicate, but then we decide on Discord. We take our meetings on Discord (and occasionaly Google Meet). We continued using WhatsApp for practical aims like discuss the PS contents.

Project Planning: By Suzan Hoca's suggestion, we used Project Libre for the project plan.

Meeting Time and Period: By using https://www.when2meet.com/, we decide the regular meeting time as Sundays at 22.00 and period as per week.

App:

  • Topic: We brainstormed for the topic. At the meeting we decided that our app provides a platform to inform users with paintings from exhibitions and museums in detailed way. Besides, our platform is going to give opportunity for users sharing their paintings.
  • Name: We suggested few names for the app. By a poll sent from WhatsApp, we decided the name.

1.4) Challenges as a Group

Our group has faced several challenges and difficulties since the beginning of the semester. The first difficulty was convincing some people to create their personal Wiki pages, followed by finding an available time slot for weekly meetings for all members, which hasn't solved for a couple of weeks. In order to overcome the time slot problem, a poll in when2meet is created; as a result, Sunday evenings are chosen to be the weekly meeting day.
The most severe challenge was the lack of effort by the considerable amount of members in the group. Many contributing members had to work not only for their responsibilities determined on Meetings, but also the responsiblities determined on Meetings of the lacking members, which approximately doubled their duties.
Although at first determining a domain seems difficult, our group selected it in a meeting within half-an-hour as Paintings. Therefore, this was not a difficulty or a challenge for our group even though it was hard for many groups.

2. The Project Plan

The project plan is created in Project Libre software which demonstrates key tasks and milestones of our project. Project Libre software is used for this purpose. Obviously, this plan might be revised as needed in the future. All milestones and known or estimated tasks may be found in that Project Plan.

3. The Effort Table of Members

# Person Action
1 Asım Dağ Designed a template to take the meeting notes (#8). Edited and maintained the first meetings notes. Created my personal wikipage (#5), added necessary links. Made a research about the use and development of Application Programming Interface (API) (#22). With the whole team, we decided on ‘Paintings’ for our projects domain. After that we made some analyzing about domain related applications (#24) The most time consuming event was Identifying the requirements and preparing a list of elicitation questions. I both participated in requirements listings (#25) and preparing some questions to customer (#23). Had a meeting with customer (Teaching Assistant) and asked the questions. After that, edited the requirements according to the feedbacks. Contributed in meetings about finding and improving scenarios (#29)
2 Deniz Bilge Akkoç I attended all of the meetings and contributed to plannings. I edited the readme #11. In the planning part, found the domain idea and conducted a wikidata research with all of the team members in the meeting. Got the mockup page designing and scenario editing #27 with Abdulsamet Alan
3 Eren Pakelgil Created my personal wikipage according to the personal wikipage template (#5) Created home wikipage and filled necessary sections (#2) Documented Awesome Python repository for our favorite repositories wikipage (#9) Made research about Linked Data and documented it with Mustafa Ocak (#20) Analyzed the related software to our domain with Mert Cengiz and Asım Dağ (#24) Prepared some questions for the elicitation phase (#23) Prepared 5 user scenarios (#29).
4 Hanaa Zaqout Joined all group meetings Created my personal page#25 Created wikidata issue as my first issue #21 Created requirements issue #25 Contributed to requirements and glossary content #25 Documented requirements to the wiki#25 Contributed to elicitation questions content discussion #23 Created Wikidata page #21 Filled my effort in Milestone report #28.
5 Mert Cengiz Conducted a Git Research with Deniz Bilge Akkoç and a SPARQL Research with Oğuz Hekim according to the issues #3 and #19, respectively, and made tutorials about them. Initiated, organized, and attended all meetings. Analyzed the related software to our domain and wrote a report about it with Asım Dağ and Eren Pakelgil according to the issue #24. Also, determined the non-functional requirements of the application and contributed to the creation of a clarification list with related subgoup members according to the issues #25 and #23
6 Mustafa Ocak Created my personal wikipage, added new issue labels, and documented a repository I liked according to issues #5, #7, and #9. Following that, I created an Issue Contribution Guideline as per issue #10. I also created a Wiki Page for Linked Data with Eren Pakelgil, #20. Created requirements template , created/contributed to the question list about the content of our application and determined the System Requirements of the Application, in issues #23 and #25. I take the notes in the QA session with the course assistant.
7 Oğuz Hekim Created a template for personal wikipages (#4). Created my own personal wikipage according to that template (#5). Created new issue labels (#7). Documented PublicAPIs repository for our favourite repositories section (#9). Created tables and boards using Github's Project feature to organize our issues better (#16). Made research about SPARQL and documented it on wiki (#19). Prepared project plan and uploaded it to wiki (#26). Contributed to user requirements, elaborated some of the requirements in the search section and contributed to arranging overall structure of the document (#25).
8 Abdulsamet Alan Created my personal wikipage (#5). Created communication plan for our group (#1). Documented Jenkins repository for our favourite repositories section (#12). Added estimated duration to Contributions part of the Personel Effort section (#15). I have updated the repository description. Added labels, project description, and github pages link (#18). Started to update the sidebar.md (#6). Contributed to elicitations (#23), scenarios (#29) and mockups. (#27). Still working on Planning Issue Template (#13) and Coding Issue Template (#14).
9 Dağlar Eren Tekşen Created my personal wiki page. Wrote some parts in the milestone report.

4. Evaluation of Tools and Processes

4.1 Tools

4.1.1) Github

Github is the platform that where every information regarding to our group and the project. All plans, researches, personal pages, templates, and the meeting notes are put on Github but nowhere else (Their draft might be stored on Discord). Responsibilities of the contributing group members are stored in Github Issues. Moreover, our Project is available for our Project.

4.1.2) Discord

Discord is the main meeting platform of Group 7. Apart from the General CMPE352 Discord server, a group-specific server is created in order to separate unrelated topics discussed alogside the group. During meetings, pages for suggestions, or any unavailability of speaking and hearing are written in their separate channels. Additionally, drafts of Agenda Items and Action Items are also stored on Discord.

4.1.3) Whatsapp

Whatsapp is the secondary platform used for urgent issues such as determining the meeting hours on Sundays and caaling for members to meetings. As Whatsapp is not suitable for long-term plans, it is not preferred that much.

4.1.4) Google Meet

In two meetings, Google Meet is used instead of Discord as some of the attending members do not have Discord on their mobile devices and they were unable to reach their personal computers. Although Google Meet has a one-hour-limit on meetings, its screen sharing feature are more fluent than Discord. Moreover, the button opening camera is more reachable in Google Meet.

4.1.5) Project Libre

This tool is used to make the Project Plan only as suggested by the Instructor (Suzan Üsküdarlı). Due to the fact that this tool is designed

4.1.6) when2meet

Finding an avaliable slot for our weekly meetings was a huge problem for our communication. Therefore, we decided to create a poll on when2meet and set our weekly meetings on Sundays. This was the only usage of this platform.

4.2 Processes

4.2.1) Team Meetings

All meeting notes are available in our Wiki. Up until now, we held 2 types of meetings:

  • Weekly meetings that's held on Sunday according to the outcome of the poll created on when2meet
  • Improvised meetings that's held dynamically and based on the specific need of a task

Weekly meetings were held with the agenda of making a general evaluation of our repo, developing steps of the action plan if there is a weekly assignment given, discussing the latest informations gathered from the Instructor and assistants, dividing the tasks amongst group members and creating the issues related to these tasks. Even though the meeting day was fixed to Sunday, meeting hours were determined according to the outcome of polls held on our Whatsapp group in order to maximize participation. In Weekly Meeting #3, we divided the group into 3 subgroups each assigned to tasks that belongs to Milestone 1 in order to speed up our progress. General decisions such as specifying domain and creating communication plan were made in these weekly meetings. All of the group members were expected to join weekly meetings.

Improvised meetings on the other hand didn't require the participation of all group members but rather the members of the related subgroup. Direct progress and actions were part of these meetings and since it's subject to the completion of a subtask from beginning to the end, they generally lasted longer than weekly meetings. Some of the agendas of these meetings were domain analysis and examination of software systems related to our domain, specification of requirements, preparation and review of elicitation questions, generating scenarios and drawing mockup diagrams related to them.
Improvised meetings

4.2.2) Separation of Responsibilities

The total workload is separated amongst group members at weekly meetings and each task assigned to a member along with its deadline is noted in the action items of that specific meeting. We give huge importance to dividing the workload evenly. The assignee of that task is expected to open an issue related to the task after the meeting. We discuss the appropriate labels to be selected for each issue during the meeting. We also divide workload in subgroup meetings. The deadlines of these tasks are set to the deadline of the milestone if there is one, otherwise it's determined according to the estimated duration and effort.

Clone this wiki locally