【EmoGenius Crew - Alpha Sprint Problem Summary Essay 】

EE308FZ Team EmoGenius Crew Assignment 8: Beta Sprint
EmoGenius Crew - Alpha Sprint Problem Summary Essay

Which course does this assignment belong to2301-MUSE Community
Assignment RequirementTeamwork——Beta Sprint
Topical Collection EssayEmoGenius Crew - Beta Sprint Topical Collection of Essays
Other references现代软件工程讲义 11 项目管理 - 事后诸葛亮会议

Vision and objectives

1.What problems does our software aim to solve? Is it defined clearly? Are there clear descriptions of typical users and scenarios?

①.Our software aims to address the following issues:
1).Emotional management: Help users manage their emotions and enhance emotional well-being. For example, through the emotion diary module, users can record their emotional states and gain insights into their emotional fluctuations. This helps users better understand their emotions and make adjustments when needed to improve their emotional health.
2).Emotional communication: Provide a safe platform for users to share their thoughts and emotions with others who have similar emotions, and receive support and comfort. For instance, the emotion forum module offers a targeted platform for emotional exchange and sharing, divided into negative and positive zones based on emotional states. Users can connect with others who share similar emotions, providing mutual support and relief. This creates a safe space for users to communicate and receive emotional support.
3).Mindset adjustment: Through the music player module, users can adjust their mindset by listening to their favorite songs.
4).Emotional conversation: The chatbot module offers users a safe and pressure-free environment to engage in emotional conversations, pour out their emotions, seek advice, or receive support.

②.Regarding typical users and scenarios, we can provide specific descriptions as follows:
1).Typical users:Our software mainly targets individuals who wish to better manage their emotions, seek emotional support, and are willing to adjust their mindset through technological means (currently, the software is primarily designed for university students at our institution). This includes but is not limited to individuals with significant emotional fluctuations, high levels of anxiety or stress, and those with poor social skills or shyness.
2).Typical scenarios:
Emotion diary module: When users experience emotional fluctuations in their daily lives, they can record their emotional states through the emotion diary to gain a better understanding and management of their emotions.
Emotion forum module: When users feel negative or positive emotions, they can enter the forum module, select the corresponding area to share their thoughts with others who have similar emotions and receive support and comfort.
Music player module: When users feel low or need to relax, they can use the music player module to select and play music that suits their mood, thereby adjusting their mindset and enhancing their emotions.
Chatbot module: Users can engage in emotional conversations with the chatbot at any time, whether it is to express their emotions, seek advice, or find support. This module caters to their needs.
In summary, our software clearly defines the problems it aims to solve and provides a specific description of typical users and scenarios.

2.Have we achieved our goals? (How many of the original planned functions have been completed? Were they delivered on time? Have we reached the target number of users?)

Prior to the alpha testing phase, we had planned to design five functional modules: login and registration module, personal center module, emotion diary module, emotion forum module, and chatbot module. Due to the smooth progress of the alpha testing phase, we added three new modules: emotion calendar module, voice changing module, and music player module. Currently, six modules have been completed, while the voice changing and player modules are yet to be resolved.
The Alpha sprint has ended as planned and passed the defense.
During the alpha testing phase, we did not set a specific target for the number of users. How to promote our product is a significant challenge we face.

3.Has the quality of team software engineering improved compared to the previous phase? Where has it improved specifically, to what extent, and how was it measured?

1.In the previous phase, our team encountered the following issues:
1).Unclear work allocation leading to duplicated efforts and time wastage.
2).Inadequate coordination between frontend and backend resulting in project delays.
3).Informal and inefficient meetings with frequent delays or cancellations impacting team collaboration.
2.To measure the improvement in team software engineering quality, we implemented the following measures during this sprint phase:
1).Developing detailed work plans for team members and ensuring clarity on assigned tasks and workload. In comparison to the previous phase, we can evaluate individual workloads and completion rates to determine the extent of improvement in work allocation.
2).Establishing a timetable for frontend-backend integration and ensuring both parties adhere to the scheduled timeline. By comparing the progress and quality of frontend-backend integration with the previous phase, we can assess the degree of improvement in integration arrangements.
3).Conducting meetings strictly according to a predetermined schedule and documenting the agenda and outcomes of each meeting. By comparing the punctuality and execution of meeting agendas with the previous phase, we can evaluate the level of improvement in meeting standardization.
Through these measures, we can assess the improvement in team software engineering quality. For example, we may observe enhancements in work allocation efficiency, frontend-backend integration effectiveness, and meeting standardization.
In conclusion, the quality of team software engineering has improved, particularly in areas such as work allocation, frontend-backend integration, and meeting standardization.

4.Is the number of users and the acceptance of important features consistent with our expectations? Are we any closer to our goal?

1).User Volume: Below expectations. Due to our small team size and limited technical resources, acquiring users has proven to be more challenging. In the future, we plan to attract more users through social media promotion, offline marketing, and word-of-mouth communication.
2).User Acceptance of Key Features: Currently, based on feedback from peers, the general evaluation is that the application is user-friendly and can meet the primary needs of emotional recording, which aligns with our expectations. However, we need to collect more user feedback to assess the acceptance of key features. In the future, we intend to understand user satisfaction and feature usage through user surveys, retention rates, and usage duration. If users are dissatisfied with certain key features or encounter issues, we can promptly make repairs and improvements to enhance the user experience.
Overall, user volume has not met expectations, and we still have some distance to cover to reach our target. The acceptance of key features among users, based solely on feedback from peers, aligns with our preliminary expectations but requires further assessment to gradually approach our goal.

5. What are the lessons learned? If history could repeat itself, what improvements would we make?

  1. Plan the UI layout in more detail before designing the UI to avoid UI reset during the development process
  2. The front-end developers introduce the actual development results in detail to the group, especially the difference between the planning plan and the actual development, to ensure that the UI designers can understand the layout issues during development
  3. As a team leader, you should actively ask and check the progress of team members’ development, understand whether team members encounter problems and whether they can solve them independently, and avoid some team members defaulting on their work, which will affect the overall progress.
  4. At the same time, the team leader should actively summarize the code completed by the team members and integrate it into the overall project file to avoid excessive arrears and unintegration, causing confusion in some functions.
  5. Reasonably allocate workload and balance the work of UI group, front-end group and back-end group. The front-end team was overloaded with tasks in this project, which was resolved in the second phase of alpha testing.

Plan

1.Is there sufficient time to plan?

Yes. In this Alpha Sprint, the team leader reasonably planned and specified a detailed work plan and division of labor, dividing the overall sprint process into two phases. In the first stage, the core main functions of the application are completed, and in the second stage, additional functional modules are added and the UI design is improved.

2.How did the team resolve disagreements among colleagues about the plan during the planning phase?

If there are different opinions within the team, everyone will point it out directly in the QQ group or during a meeting and solve the problem in a timely manner.
Disagreement among the UI group is usually achieved by designing multiple versions and voting within the group to select the final solution;
If there are any conflicts of opinion between the front-end and back-end groups, they will be discussed and finally decided by the group leader.

3.Have you completed all the work you originally planned? If there is some unfinished work, why?

In the second phase of the alpha sprint, the music player module and voice changing module were not completed as scheduled.The reasons are twofold:

  1. The person in charge of the module was transferred from the UI team. He does not know much about Android development and lacks experience in Android development.
  2. There are only five days in the second phase. On the last day, you have to focus on testing and preparing for the defense, so there is not enough free time.

4. Have you ever found yourself doing something that in hindsight was unnecessary or of little value?

During the UI design process, often due to the failure to fully understand the latest tensions in front-end development, the UI produced cannot meet the latest interface requirements, which ultimately wastes manpower and time on redoing; the UI design team members fail to fully unify the drawings. wind, resulting in the eventual reworking and supplementation of the UI interface
In the initial development stage of the front-end and back-end, the communication protocol was wrongly selected: At first, the front-end chose to use the MQTT communication protocol, but the back-end server could not make callbacks through MQTT, so the front-end was completely modified to the HTTP protocol.

5.Does each task have clearly defined and measured deliverables?

No, the degree of task completion in the development process is not clear enough.

6.Did the entire project go according to plan? Did anything unexpected happen to the project? Are there any risks that were not estimated at the time, and why were they not estimated?

In the first phase of Alpha Sprint, the entire process went according to plan. However, in the second stage, due to the lack of Android development experience of the person in charge of the relevant modules, the two modules were not completed on time. Due to lack of development experience, many problems were difficult to solve, resulting in project delays and incomplete completion.

7. Is there any buffer zone left in the plan? Does the buffer zone have any role?

A buffer zone was left, and the last day of the project was the buffer time. Some people carried out testing, and some people checked for omissions and filled in the gaps. Many bugs that had not been discovered before were modified and improved.

8. What changes will be made to future plans?

  1. Set up the buffer reasonably and extend the buffer appropriately during this beta sprint.
  2. Accelerate the progress of front-end and back-end development to avoid running out of time to test project results at the end

9.What have we learned? If history could repeat itself, what improvements would we make?

1.In this team development, we can learn the following points:

  1. Anticipate the problems you may encounter in advance: During the development process, you need to imagine the problems you may encounter in advance and take countermeasures. For example, during the development process, we anticipate that we will encounter technical difficulties in advance, allocate research time in advance and work with other team members to overcome them; if we anticipate that we will encounter time constraints, we can plan a reasonable timetable and consider strengthening teamwork. .
  2. Make a detailed plan: In order to ensure the smooth progress of team development, a detailed plan needs to be made and strictly implemented. For example, we set daily work goals, weekly work plans and milestones, etc., in order to fully understand the development progress and the work quality of team members.
  3. Strengthen communication and collaboration: Team development requires strengthening communication and collaboration in order to coordinate various tasks and solve problems. We promote teamwork and communication through regular meetings, interactive exchanges and shared resources.
    2.If history repeated itself, we would make the following improvements:
  4. Adequate early project preparation: Before starting team development, clearly define the project goals, clarify the requirements and scope. Through adequate early preparation, you can avoid delays and conflicts caused by demand changes or poor communication in the future.
  5. When formulating a detailed project plan, possible risks and problems must be taken into consideration, and a certain buffer time must be reserved.
  6. Set reasonable checkpoints: Set reasonable checkpoints in the project plan to monitor and evaluate the progress of the project. This ensures that the project progresses as expected and that problems are identified and resolved in a timely manner.
    Through the above improvements, we can better plan and manage the team development process, improve the execution efficiency and quality of the project, and achieve the expected goals.

Change Management

1. Is every relevant employee informed of the changes in a timely manner?

Yes. If there is news of changes, or additional requirements or additions, the team leader will notify and @ in the corresponding group or the main group

2.How do we determine “delayed” and “must-have” features?

It is usually decided by collective discussion. If there are major differences, it will be decided jointly by the core developers of the corresponding function. Core functions “must be implemented”; for additional functions that are “icing on the cake”, they can be “postponed” if there are really difficulties.

3. Are the export conditions of the project clearly defined?

The front-end interface is consistent with the prototype design.
The function is consistent with the definition in the requirements specification.

4.Can contingency plans be developed for possible changes?

Yes, we will have concentrated programming time every day. When someone encounters an unsolvable problem, they will raise it directly. The team leader will provide corresponding suggestions or replace the work with another person in charge.

5.Are employees able to handle unexpected work requests effectively?

Where there is an atmosphere of teamwork and employees are flexible and adaptable, they are often able to handle unexpected work requests effectively.

6.What have we learned? If history could repeat itself, what improvements would we make?

We learned important skills and practices including:

  1. Change identification: Learned how to effectively identify change requests in software projects, including feature additions, defect repairs, requirement adjustments, etc.
  2. Change evaluation and priority determination: Learned how to evaluate and determine the priority of changes, and decide the order of change processing based on the scope of impact, urgency and value to ensure effective use of resources and reasonable arrangement of project progress.
    If history repeated itself, we would make the following improvements:
    Strengthen change communication and collaboration: During the change management process, strengthen communication and collaboration within and outside the team, including change-related information sharing, coordination and cooperation among team members, etc., to ensure the smooth implementation and follow-up of the change.

Team roles, management, and cooperation

1.How is each role of the team determined? Is everyone using their talents fully?

  1. During the group establishment stage, the team leader confirmed details such as each member’s relevant development experience, usual working hours, and willingness to work on this project.
  2. After the team leader has a general understanding of the members, he will conduct a general discussion and arrangement of our division of labor during our collective meeting to ensure that each member agrees with his division of labor and understands his specific tasks.
  3. In the daily sprint meeting, the team leader will integrate the current progress of each part and allocate personnel reasonably to ensure that the progress is progressed as a whole and will not get stuck due to a certain part.

2.Do team members help each other?

Yes. The relationship within the group is harmonious and they actively participate in making suggestions or solving problems when they encounter them.
For example, in the UI interface design, they will share templates and make suggestions with each other; when the front-end team is busy with paperwork and team work, they actively help the team leader complete the corresponding work; when training the deep learning model, the team actively looks for data sets, and spends one night Together they can accomplish what one person would need to work alone for a day.

3. When problems arise in project management and cooperation, how do team members solve the problems?

First, there will be a discussion within the team; if it still cannot be resolved, the team leader will be asked for his opinion or timely communication and resolution will be carried out during the sprint meeting of the day.

Design and implementation

1.When was the design work completed and by whom? Is it the right time and the right person?

In the design work, from the initial establishment of the project team to the prototype design stage, the team leader carries out functional design. Finally, the team members think and discuss together to supplement and imagine the functions.
The project design work is far away from the sprint time, so the time and personnel are reasonable, and after the design is completed, the team members have enough time to learn relevant development knowledge.
The project team leader has two Android development experiences, so he is a suitable candidate.

2.Has the design work encountered any ambiguous situations? How did the team resolve them?

The team basically completes online or offline discussions. Everyone actively discusses related issues, expresses personal attitudes, and votes to make decisions. In the end, if the decision is still uncertain, the team leader makes the final decision.

3.Which function generates the most bugs and why?

The emotional communication forum module generates the most bugs. Because this part uses complex functions such as front-end and back-end interaction, sentiment analysis, and database processing at the same time, it is equivalent to the integration of functional technologies of other modules. Therefore, most bugs are encountered during the development process.

4.How is the code review (Code Review) conducted? Is the code specification strictly implemented?

The front-end and back-end team leaders complete the code specification requirements before the start of the alpha sprint. Team members are required to read the code specifications by themselves before development, and then start the code writing work. Then the team members cross-check and review again when the team leader merges.

Testing and Release

1.Does the team have a testing plan? Why not?

Yes, our team developed a detailed testing plan before the start of the Alpha Sprint and on the eighth day. The team conducted a more complete test on the tenth day.

2.Have formal acceptance tests been conducted?

Some functions are not yet complete and have not yet undergone formal acceptance testing.

3.Does the team have testing tools to help with testing?

The backend uses postman for testing; the frontend uses Android Studio for debugging and testing.

4.How does the team measure and track software performance? What about Stress Test? Judging from the actual running results of the software, are these tests useful? What improvements should be made?

Our team is involved in these during the alpha sprint, and we will make corresponding plans for the next phase of the sprint.

5. What unexpected issues were discovered during the release process?

The function runs well on the emulator of Android studio, but problems such as crashing and running failure always occur when running on the real machine.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值