Sprint Review and Reflection - Henrrrrrry/ART-x3-25s1 GitHub Wiki
Sprint 1
Sprint Overview:
During Sprint 1, our team established the foundation for the SpotlightTrack project by completing essential initial deliverables and conducting necessary research. We successfully created product vison, user stories, personas, and scenarios that will guide our development process. Additionally, we learned about MicroPython and OpenMV camera functionality to prepare for technical implementation.
Key Accomplishments:
We successfully completed initial documentation, initialized the OpenMV camera module, and set up the virtual machine environment. Additionally, we began implementing human body detection and tracking functionality, laying the groundwork for future development. These accomplishments helped us align with our Sprint Goal and prepare for more advanced technical integration in upcoming sprints.
Technical Progress:
We made initial attempts to work with the OpenMV hardware and discovered that the default model in OpenMV tracks human faces rather than full bodies. This presents a challenge that we'll need to address by either training a new model or connecting to alternative models that can track full body movements. Additionally, we identified a code persistence issue where code doesn't remain when the hardware is disconnected. The team has begun exploring TensorFlow options and worked on XML transfer to cascade for potential model implementation. These technical investigations will inform our approach in Sprint 2.
Stakeholder Feedback and Response:
1. Tutor Feedback:
After meeting with our tutor, we received valuable advice regarding our project documentation:
- Regarding our scenario, the tutor suggested we should address potential privacy concerns by:
- Explaining why a person might be uncomfortable with cameras/spotlights tracking them
- Including some form of privacy notification in the system design
- The tutor recommended splitting our last user story into two separate stories for better clarity and implementation tracking.
- We were advised to add team responsibility information to our wiki to make project roles and accountabilities more transparent.
These suggestions have been incorporated into our planning for Sprint 2, with specific tasks created to address privacy considerations and improve our user stories.
2. Client Feedback:
Our client, Sui Jackson, provided positive feedback on our progress during Sprint 1. He was particularly impressed with our scenario development and product vision, noting that they effectively captured the artistic intent of the installation.
Sui suggested we refine our stakeholder analysis to focus more on artistic applications, which better suits the creative nature of the project. He also helped us understand the technical limitations of our hardware, which will be valuable for our implementation planning.
The client expressed enthusiasm about our team's grasp of the project goals and appreciated our detailed documentation of the user experience. We plan to maintain close collaboration with him to ensure our final product matches his artistic vision.
Sprint Retrospective:
1. Start (What to Begin):
-
Strengthen Technical Development
- Schedule more targeted technical meetings focused on resolving specific OpenMV camera issues
- Clearly assign research tasks to make final decisions on tracking model selection
- Establish clear timelines and milestones for each technical task
-
Improve Documentation and Communication
- Add detailed team responsibility information to the Wiki, making project roles and responsibilities more transparent
- Break down the last user story into smaller, more explicit parts
- Develop privacy notification mechanisms and related documentation to address concerns raised by our mentor
-
Optimize Task Management
- Implement a more rigorous dependency tracking system to ensure tasks are completed in the correct order
- Create more detailed weekly progress checkpoints to identify and resolve blockers promptly
2. Stop (What to Cease):
-
Avoid Technical Direction Uncertainty
- Stop exploring multiple technical paths simultaneously without making decisions
- Avoid starting new development work without clear solutions
-
Reduce Scattered Research
- Focus research efforts and avoid exploring multiple unrelated areas simultaneously
- Stop conducting personal technical investigations without clear documentation and sharing
-
Overcome Documentation Over-generalization
- Stop creating overly general user stories; ensure each story is specific enough to be implemented and tested
3. Continue (What to Maintain):
-
Maintain Active Client Communication
- Continue working closely with Sui Jackson to ensure the work aligns with his artistic vision
- Maintain regular feedback loops to keep the client informed of our progress
-
Technical Exploration and Learning
- Continue deepening knowledge of MicroPython and OpenMV camera capabilities
- Maintain exploration of TensorFlow options and XML cascade implementations
-
Team Collaboration and Documentation
- Continue refining product vision, user stories, personas, and scenarios
- Maintain good communication and knowledge sharing between team members
4. Next Steps Action Plan:
The team will create and assign corresponding issues in GitLab based on the priorities identified in this retrospective meeting. We will focus particularly on tracking model selection, resolving code persistence issues, and implementing privacy notification mechanisms as key tasks. Each issue will include clear completion criteria, deadlines, and assignees, with progress tracked in daily stand-ups. Through more granular task breakdown and dependency management, we will ensure a smoother and more efficient workflow in Sprint 2, delivering the working prototype as planned.
Adjustments for Next Sprint:
- Accelerate code development with more focused technical sessions
- Make a definitive decision on tracking model selection
- Implement solution for code persistence issue
- Create a working prototype of the basic tracking functionality
- Establish clearer task dependencies to improve workflow
Sprint 2
Sprint Overview:
During Sprint 2, our team focused on advancing the technical implementation of the SpotlightTrack project based on the foundation established in Sprint 1. We made significant progress in developing the human body detection and tracking capabilities while also addressing the feedback received from our tutor and client. Despite facing some challenges with motor control integration, we successfully implemented key features that move us closer to our project goals.
Key Accomplishments:
We completed one planned milestone as expected, implementing a robust detection system that supports both full-body and half-body tracking. We optimized our camera algorithms to improve tracking accuracy and responsiveness. Additionally, we refined our documentation based on stakeholder feedback, adding detailed team responsibility information to the wiki and addressing privacy considerations in our scenarios. While we made progress on most planned tasks, we encountered difficulties with controlling motors through the servo shield, which we've documented and rescheduled for Sprint 3.
Technical Progress:
Our team made substantial advancements in camera algorithm development, successfully implementing detection systems that track both full-body and upper-body movement. We resolved the code persistence issue identified in Sprint 1 by storing our code in appropriate folders within the hardware, allowing us to maintain our work between sessions. The motor control implementation remains a significant challenge, as we discovered that controlling the power via the compiler required additional details and possibly external hardware support that we had not initially anticipated.
We've explored multiple approaches to resolve the servo motor power and control complexity, including testing different pin configurations and direct power connections. This task has proven more complex than originally estimated, but our investigations have helped clarify the requirements for Sprint 3.
Stakeholder Feedback and Response:
1. Tutor Feedback:
Our tutor reviewed our Sprint 2 progress and provided constructive feedback:
1.Regarding how to conduct effective testing, the tutor pointed out that we should classify and group different samples. Specifically, we should group actions of walking into the center of the camera from different angles into groups of 1-10, for example. Then observe the recognition accuracy and reaction speed of the algorithm for the portrait each time. Then generate a comprehensive score to evaluate the algorithm each time.
2.The tutor is very concerned about the communication between us and the client. He believes that whenever we encounter software and hardware related problems, we should contact the client in time to ensure that the problem is solved in time and to ensure that the project does not deviate from the initial concept. We have incorporated this feedback into our planning for Sprint 3, with a stronger emphasis on technical implementation and more granular task division for complex features.
2. Client Feedback:
During our Sprint 2 review with Sui Jackson, he expressed satisfaction with our progress on the detection and tracking algorithms. He was particularly impressed with the ability to detect both full-body and upper-body movement, noting that this flexibility would enhance the artistic application of the installation.
The client understood the challenges we faced with motor control implementation and provided valuable suggestions for alternative approaches we might explore in Sprint 3. He emphasized that smooth movement would be critical to the artistic quality of the final installation.
Sui continues to be enthusiastic about our team's understanding of the project vision and technical approach. He reinforced that the focus should remain on artistic applications rather than broader technical capabilities, which aligns with our revised stakeholder analysis.
Sprint Retrospective:
1. Start (What to Begin):
-
Prioritize Hardware Integration
- Dedicate more focused time to resolving the servo motor control issues
- Consider alternative hardware approaches if current methods remain problematic
- Schedule specific technical sessions focused solely on hardware challenges
-
Enhance Testing Procedures
- Implement more systematic testing for the detection algorithms under various conditions
- Create test scenarios that more closely mimic real-world installation environments
- Document test results more thoroughly to inform future refinements
-
Accelerate Implementation Timeline
- Move from research and exploration to committed implementation approaches
- Set more specific daily goals within the weekly workflow
- Increase pair programming sessions for complex technical challenges
2. Stop (What to Cease):
-
Reduce Hardware Configuration Experimentation Without Documentation
- Stop trying multiple hardware configurations without systematic recording of results
- Avoid making hardware changes without team awareness
-
Minimize Scope Expansion
- Resist adding new features before core functionality is working reliably
- Maintain focus on the essential tracking and movement requirements
-
Eliminate Parallel Technical Paths
- Stop pursuing multiple technical solutions simultaneously
- Make definitive decisions on technical approaches before implementation
3. Continue (What to Maintain):
-
Maintain Strong Team Communication
- Continue our effective start-of-day meetings and collaborative problem-solving
- Keep documentation updated to reflect current understanding and progress
-
Preserve Learning Culture
- Continue dedicating time to understand the technologies being used
- Maintain knowledge sharing between camera algorithm and motor control teams
-
Sustain Client Engagement
- Continue regular updates and demonstrations for our client
- Keep artistic vision and user experience as central guiding principles
4. Next Steps Action Plan:
For Sprint 3, we will reorganize our approach to the motor control challenge by researching alternative power supply methods and creating a more structured testing protocol. We will also complete the integration of our detection algorithms with the visual feedback system. Each team member has clear assignments based on our technical expertise, with deadlines that allow for testing and refinement before the sprint conclusion. We have created more detailed subtasks for complex items to better track progress and identify blockers early.
Adjustments for Next Sprint:
- Make servo motor control our highest technical priority
- Adopt a structured hardware testing framework
- Initiate end-to-end system integration testing
- Improve task granularity and accountability
- Reinforce the link between technical development and artistic vision
Sprint 3
Sprint Overview:
During Sprint 3, our team concentrated on completing system integration and preparing for final project demonstration. Building on the technical groundwork laid in previous sprints, we successfully brought together the camera tracking module, motor control system, and detection algorithms to form a fully functional prototype. This sprint marked the transition from individual component development to holistic system performance, ensuring the project met both functional and experiential requirements.
Key Accomplishments:
We completed all planned development tasks for Sprint 3. These included implementing smooth and responsive motor rotation, achieving accurate human tracking that kept subjects centered in the frame, and synchronizing the tracking logic with motor control. The fallback strategy for upper-body detection was validated in real-world lighting conditions, and performance tuning significantly reduced latency and false positives.
In parallel with technical progress, we finalized our project poster and demonstration video and prepared for the client pitch. Previous challenges such as motor control failures were resolved through hardware upgrades and refined signal logic. The system now operates reliably and as intended, with all modules—camera, motor, detection—communicating in real time.
Technical Progress:
Integration of hardware and software systems was a core focus of this sprint. The servo motors are now powered with a stable configuration, allowing for certain angle rotation, smooth speed regulation, and automatic stopping. The OpenMV-based detection algorithm is able to track human motion and prioritize center alignment of video frames.
We also optimized inter-module communication latency to ensure that camera recognition results can be immediately translated into actual motor movements. By the end of Sprint 3, the system had reached a level where it could confidently demonstrate without human intervention or corrective input.
Stakeholder Feedback and Response:
1. Tutor Feedback:
Our tutor emphasized the importance of testing consistency and encouraged us to evaluate algorithm responsiveness across grouped actions—such as people walking into frame from various angles. We addressed this by conducting controlled tests under variable lighting and movement scenarios and compiling test observations to validate tracking performance. The tutor also reiterated the need for timely client communication, prompting us to maintain regular updates and check-ins throughout the sprint.
2. Client Feedback:
During the Sprint 3 check-in, the client was highly satisfied with the system's ability to maintain smooth, responsive tracking. He appreciated the improved motor movement and noted that the fallback detection logic provided flexibility for different installation environments. The client reaffirmed the importance of focusing on artistic application and minimal technical overhead during setup—goals we were able to align with due to our simplified calibration and control process.
Sprint Retrospective:
1. Start (What to Begin):
-
Allocate more structured time to system testing under varying spatial.
-
Begin preparing post-project documentation, including maintenance guides and user support materials.
-
Finalize fallback responses for error handling during long runtime sessions.
2. Stop (What to Cease):
-
Avoid further hardware reconfiguration unless strictly necessary, as the current setup is now stable.
-
Stop spending time on feature expansion outside core artistic functionality.
-
Cease redundant debugging efforts by improving module logging and error traceability.