camm9 / GroupAwesomeProjectProposal

2 stars 0 forks source link

"# GroupAwesomeProjectProposal" Project Proposal - F20.md 2023-09-26 1 / 6 CSIS 3275 - Project Proposal Purpose and Intent The purpose of this project is to provide you with a real-world experience of working in a software team. Students will be applying the knowledge gained in software engineering including various methodologies and tools to their project. The instructor is the Product Manager, the boss. Every student will be required to work on their project and contribute working code and one user story each sprint, project artifacts, documentation software tests, blackbox tests etc. Participating in the programming and documentation tasks will help students study for exams it is to the students benefit to participate as much as you can. Project Participation Requirements As a requirement of this course students must all engage in the class project and use the Git and GitHub tools to contribute and communicate project progress and participation. As a student you are required to contribute one working user story per sprint. Students found not contributing a working user story to the project will be given a ZERO mark for the sprint, furthermore the group respective group will have marks deducted from their over-all total for the user story(ies) that are missing It is my full intention that the project in this class will simulate industry. Students may also under extenuating circumstances be terminated from their group after due process (that means meeting minutes and paper work). Please pick your groups carefully. Project Proposal This proposal is part of the group term project. Students will self-organize to form groups of 3 - 4 (preferably 3) people to complete the project in this course. Students will pick a substantial project to work on and collaborate on. All projects will use the Springboot framework. Common projects with solutions readily available on the internet will not be allowed. Some common projects that are not allowed include the following: Commonly available projects readily available on the web: Student Registration System, Library System Simple Utilities Projects that only require interact with a single user Your project should have: Attempt to solve a real-world problem Web based (You are not limited in the front-end technology that you choose) Project Proposal - F20.md 2023-09-26 2 / 6 Controller and Model Logic written in Java and use Springboot. Multiple Users - The system must support multiple users Integrate with two of the following: Web Service, File System, IoT device. If a group fails to pick a substantial project they will have one assigned to them by the instructor. Project Considerations The project should address the needs of an organization, though it may be influenced by your experience. Be specific about the opportunity you are pursing (think problem/solution). The size and scope of the project should fit one term and the number of members in your group. You will need to impement it, not just design it (there will be lots of programming, testing etc.), Please keep in mind that there are a number of surrounding activities that you will be doing with regards to the project, this is not a coding exercise, it is an engineering one. You will be implementing the core of your project in Java, this means that your business objects and logic must be implemented in using Springboot. Your project needs to have at least as many entities (realworld represented objects) as members on your team that will be defined in this software. Each team member will be responsible for at least one entity object. You must interact with at least two external components to the Java runtime environment such as the file system, web service etc, IOT. You are permitted to use any existing third party components and plugins freely provided they are cited and their licensing is properly adhered to. Please keep in mind you will have to substantiate your choices so please be mindful of why you are cho osing any third-party libraries, extensions or APIs. Your instructor is not your technical support for this project (only for the labs). Part of software engineering in teams is learning how to properly asses how long tasks will take you so you should take that into consideration. Project Schedule The following is an example of Sprint 1 for a fictitious group, groups must assign one new user story to each group member per sprint. Please keep in mind that user stories are general things users can do so granularity is important. Simple CRUD operations for example are to small to be considered user stories however "Manage" would suffice for all CRUD operations as a user story. A good example of a user story might be "Setup and Configure User notifications". A total of 10 points must be distributed among all the user stories for each sprint, more complex and involved user stories should have more points than simpler ones. Your instructor reserves the right to adjust the points distribution.. You must provide the schedule for 3 sprints. Sprint 1 (Example ONLY) Project Proposal - F20.md 2023-09-26 3 / 6 This is one of the most important parts of the project, pay close attention to the sprint schedule and plan as best you can. Sprint # Story Team Member Points 1 Customer Registration Llydia Batiz 2 1 Login Paul Eng 2 1 Manage Customer Profile Sam Hill 3 1 Password Reset John Patmos 3 Each Sprint must total 10 points to be distributed across team members. Each group member must be assigned at least one story. Evaluation of Sprints. You will be showing your work on a lab computer personal computer to your instructor. All stories for a sprint must be demonstrated on a single computer which contains a copy of your git repository. Working in Groups Student Requirements for Each Sprint Each student in the group must integrate their own user story, one new user story for each sprint. Students that do not submit a working user story for their project will receive a mark of ZERO for the entire sprint regardless of the overall progress of the group. In addition the group will not be able to receive full marks for the sprint (the total will be minus the missing user stories). Group participation and Group member termination Groups can terminate students from their groups for lack of capability, competency or capacity. Students can only be terminated from a group if the following conditions are met: This can only be done before the first sprint. The remaining group members are agree that the student(s) should be terminated. The appropriate case for terminating the student has been documented in meeting minutes, on Github etc. There is appropriate documentation that the group members have tried to communicate with members being considered for termination using the agreed upon methods of communication for the group, evidence must be provided that communication has taken place and those offending group members have been given ample time to respond. The Group Termination form must be filled out and submitted prior to the due date of the sprint. The group must have tried to make contact with the group member on several occations using several types of media across several days. Project Proposal - F20.md 2023-09-26 4 / 6 If a student is terminated from a group there two options are: 1) Propose a new project for them to work on their own 2) Apply to work in another group. Groups taking on previously terminated students must adjust their schedule to add additional user stories according to the number of members that have joined the group. Students can transfer out of their group. If a student transfer a group they must have a group to join. The following conditions must be met if a student decides to quit: