Statement of Work
    Project Name: Coding Application development
    Client Name: Tahlia Harris
    Service Provider: 24-S2-2-C EduKATE
    Version: 3.0
    Team members:
- Yi Wang: u7776204
- Siyi Liu: u7619315
- Dong-Jhang Wu: u7775048
- Rifang Zhou: u7780442
- Finn McClusky: u7304874
- Wendi SHi: u7773637
- Wenjing Qi: u7727187
Project Overview
EduKATE Innovations is dedicated to bridging the gender gap in STEM education by developing engaging, educational toys for young girls. The company’s first product, a programmable robotic dog, is in the final stages of development. This project involves the development of an app that teaches coding through interactive play and game-like lessons.
Client Vision and Goals               Â
EduKATE Innovations was founded with the mission to inspire and empower young girls in STEM fields through innovative educational products. Our goal is to make STEM education accessible and fun, encouraging young girls to explore coding and robotics from an early age. Our first product, a programmable robotic dog, is designed to engage and educate our audience, setting the foundation for future products like Kate-E the coding doll.
Project Objectives
The client's goal is to develop an application to teach coding, allowing users to                control programmable robotic dogs by coding on this application. This application will provide three different coding languages to meet different levels of experience and learning needs. The main functions include:
1. Picture Block Coding: Ideal for beginners, this visual language uses images to represent coding concepts. Users can create coding logic by dragging and dropping graphical blocks, which helps them understand basic coding principles.
2. Word Block Coding: A step up from picture blocks, this method uses words and phrases to introduce coding syntax. Users create more complex coding logic by combining blocks with text labels, facilitating a transition to text-based coding.
3. Text Coding: For advanced users, this method involves typing out code, providing a more traditional coding experience. Users can write and run code, learning advanced coding skills and gaining experience in a real coding environment.
Additionally, this app needs to have an account management system to protect user details. The main functions will be to track users' progress through lessons and allow them to save their code. The following additional features will be considered after the above:
1. Hardware Software Integration: Ensuring seamless integration between the hardware (robotic dog) and the software (app). This integration will enable users to effectively control and operate the robotic dog using the app.
2. Code Translations: Implementing an integration between the three programming languages offered in the app. This feature will allow the code produced by the user in one language to be translated into the next more complex language, helping users see their progress and understand the relationship between different coding methods (for example, the picture block language to the word block language).
3. Lessons: Developing a series of interactive coding lessons that guide children through the coding languages. These lessons will be structured in a way similar to Duolingo, starting from very simple concepts (like understanding decimals) and progressing to more complex topics (such as using libraries).
Project Milestones
Milestone | Description | Expected date |
1. App framework | Determine the basic structure of the application | Week6 |
2. Basic app demo | Develop the first functional prototype of the application and showcase the core interface. | Week8 |
3. Blocking language (picture block) | Create visual programming blocks for image block programming languages, enabling users to interact with programmable robotic dogs through a visual interface. | Week10 |
Deliverables
- Software Prototype
- Description: Provide an interactive software prototype that showcases the basic functionality and user interface of the application.
- Interface: including main interface navigation, programming language selection, etc.
- User experience: Ensure user-friendly interface, easy navigation, and suitable for users of children's age group.
- Picture Blocking Coding
- Description: Develop a graphical programming language suitable for beginners.
- Function: Allow users to build programming logic by dragging and dropping graphic blocks.
- Educational value: Ensure that graphic blocks clearly express programming concepts such as loops, conditional judgments, etc.
- Scalability: Consider potential programming concepts and features that may be added in the future during design.
- Testing
- Description: Conduct software testing to ensure that all functions work as expected and there are no major defects.
- Test types: including unit testing, integration testing, etc.
- Test report: The provided test report includes test cases, test results, and any discovered issues.
- Documentation
- Description: Provide complete project documentation, such as design documents.
- Design document: Detailed description of software architecture, technology selection, and implementation details.
- User Manual: Provides simple guidance on how to use the application, including programming language tutorials and examples.
- API documentation: If the application provides an API, provide API usage instructions and parameter descriptions.
 6. Timeline
Week 1: Team Formation and Initial Discussion
- Task:Â Form the team and have an initial discussion about the project.
- Deliverables:
- Confirm team members.
- Initial project discussion notes.
Week 2: Technology Learning and Client Requirements Review
- Task: Learn about the relevant technologies and review the client's requirements document.
- Deliverables:
- Summary report of technology learning.
- Understanding and review of the client's requirements document.
Week 3: Technology Research and Decision Making
- Task:Â Conduct in-depth research on the technologies to be used and make decisions.
- Deliverables:
- Technology research report.
- Document of technology selection decisions.
Week 4: Familiarization with Development Framework and Initial Design
- Task:Â Get familiar with the development framework and create an initial design.
- Deliverables:
- Documentation of the development framework.
- Preliminary design of the framework.
Weeks 5-6: Functional App Prototype Development
- Task:Â Develop a functional app prototype.
- Deliverables:
- Functional app prototype.
Weeks 7-10: Development of Graphical Programming Coding and Further App Development
- Task: Develop the graphical programming language and continue with further app development.
- Deliverables:
- Development of the graphical programming language.
- Demo of the graphical programming game.
- Continued development based on feedback and requirement
- Basic Test Report
 7. Technical and Other Constraints
- Purpose and target user group:Â The software should be designed specifically for young girls, combining visual appeal and appropriateness, while providing structured and progressive programming teaching content to facilitate the learning process and stimulate interest in the STEM field.
- Security: Due to the involvement of user account management, software needs to ensure the security and confidentiality of user data.
- Cross platform compatibility:Â The software may need to run on different operating systems, such as Windows, macOS, and Linux.
- User interface design:Â The UI/UX design of software needs to attract the target user group while providing an intuitive and easy-to-use interface.
- Maintainability: Software needs to be easy to maintain.
- Budget constraints:Â Projects may be constrained by budget and time frames, which may affect the development process and the functionality of the final product.
- Third party service and API dependencies:Â If your software relies on external services or APIs, please consider the availability, stability, and cost of these services.
 8. Resources, Risks, and Potential Costs
Resources
Development Tool
 Frontend Development:
- Flutter SDK for cross-platform mobile app development.
- Android Studio or Visual Studio Code with Flutter and Dart plugins for coding and debugging.
   Backend Development:
- Python 3.x with frameworks and libraries for backend services (like Django, Flask).
   Graphical Programming Design Elements:
- A collection of assets for creating and managing graphical programming design elements, which are visual coding components used in the app to teach coding concepts.
    Project Management Tools
- Trello for task assignment, progress tracking, and organizing work visually.
Communication Platform
- Slack for team communication and collaboration.
Documentation Tools
- Google Docs for creating, sharing, and collaboratively editing project documents.
Version Control
- Git with GitHub as the remote repository for version control and collaborative development.
Risks
Communication Risk
- Description:Â Poor communication among team members can lead to misunderstandings and errors.
- Strategy:Â Establish clear communication channels and protocols, and hold regular team meetings.
Skill and Experience Deficiency
- Description:Â The team may lack the specific skills or experience required to complete the project.
- Strategy:Â Conduct skill assessments and set time for learning or consulting with external experts when necessary
   Paid Services Cost Risk
- Description:Â During the project, reliance on paid third-party services like databases or cloud resources could lead to budget overruns or additional costs due to price changes, impacting the overall budget.
- Strategy: Conduct a detailed cost forecast, regularly monitor expenses, communicate any cost changes with the client in advance, and consider alternative solutions.
   Workload and Stress Risk
- Description:Â Excessive workload may cause team members to become fatigued and stressed.
- Strategy:Â Allocate tasks reasonably and ensure a balance between work and rest.
Conflict and Discord Risk
- Description:Â Conflicts within the team can affect team morale and productivity.
- Strategy:Â Establish a conflict resolution mechanism and promote open and respectful communication.
Cultural and Diversity Risk
- Description:Â Differences in team culture or a lack of diversity may affect team collaboration.
- Strategy:Â Foster an inclusive culture and celebrate diversity.
Holidays and Non-Working Days
- Description: Team members' holidays or non-working days may affect project progress.
- Strategy: Account for holiday arrangements in the project plan and encourage team members to complete tasks in advance.
Client Unable to Attend In-Person Meetings
- Description:Â Clients may miss meetings due to scheduling conflicts, travel restrictions, health issues, or other emergencies.
- Strategy:Â Schedule meetings well in advance and offer multiple timing options for the client to choose from. Prepare for online meetings as an alternative to ensure uninterrupted communication.
Potential Costs
Cost Item | Description | Amount | Responsible Party |
Software Licenses | Licenses for any third-party tools or libraries used in development | 200$ | Project Team and EduKATE Innovations |
Design Services and app development | UX/UI design work for the app's interface and function | 100$ | Project Team |
9. Stakeholder Analysis
Stakeholder Identification
- Client:Â Expects an app to provide a stimulating educational experience that empowers young girls to participate with STEM through a series of interactive lessons and games, and the app could connect with a robotic dog to enable programming implementation. This app should support multiple coding assistants, ranging from basic picture block coding for beginners to more advanced text coding, and finally could use python directly, ensuring a gradual and accessible learning curve for young users.
- Team members:Â Expect to focus on deepening understanding of complete project execution. Aim to enhance the skills across various stages of software development, from initial framework design to implementation and testing. Through the whole project, members could train their technical abilities and enrich professional experience, preparing for future challenges about their careers.
- End user:Â Parents and kids are the last consumers. Parents want a product that is safe, affordable, easy to use, instructive, and from a reputable company. Kids want the product to be engaging, interactive, and able to help them feel like they've made progress with their coding abilities over time. The product should have a user-friendly interface, extensive user assistance, and learning materials that are gradually directed in order to satisfy these demands.
- Shadow Team:Â As a peer review body for the main team, provide new perspectives and constructive feedback to improve project quality. The shadow team also takes advantage of this opportunity to develop critical analysis and project management skills, ensuring comprehensive review during project execution and contributing to the success of the project.
- Tutor/Course Convener:The tutor is responsible for providing professional guidance and supervising the progress of the project, which has a direct impact on the quality and direction of the project; The course coordinator is responsible for the overall planning and management of the course, and plays a decisive role in the evaluation criteria and submission requirements of the project.
10. Project Progress and Future Plan
Current Progress
As of the end of the current semester, the project has achieved the following milestones:
- Milestone 1: App framework
- Milestone 2: Basic app demo
- Partially Completed Milestone:
- Milestone 3: Picture Block Coding
- Completed UI for all operations
- Implemented virtual dog icon movement on the interface
- Ensured code functionality without errors
- UI design meets client requirements
Incomplete Tasks (Current Semester)
The following tasks were planned but not completed in the current semester:
- Implementation of some code logic (e.g., if-else structures)
- Integration with the robotic dog
- No formal testing conducted
Reasons for Incompletion
The team faced challenges due to prioritization of higher-impact features, timing issues with hardware availability, limited experience in software-hardware integration, and a focus on front-end development, which hindered formal testing.
Next Semester Plan
The plan for the upcoming semester includes:
- Complete Picture Block Coding:
- Implement all code logic
- Finalize robotic dog interaction
- Develop Word Block Coding:
- Design and implement interface
- Implement basic functionality and logic
- Conduct Comprehensive Testing
- Prepare Documentation:
- Finalize design documents
- Write user manual
  11. Client Approval
     Client Signature: Tahlia Harris
    Date: 04/08/24                  
Â
  12. Team Members Approval
- Siyi Liu
- Yi Wang
- Dong-Jhang, Wu
- Wengjing Qi
- Wenhui Shi
- Finn McClusky
- Rifang Zhou