Software Development Project Milestones CSDS 393 Spring 2023 The objective of the final project is to develop an application using the software engineering concepts, processes, and frameworks discussed during class. The final project is a group project (five or six students per team). The scope, features, and technology used to implement the application are to be defined by the team itself. The project should have at least three features implemented using Agile Scrum. Teams should aspire to release a feature each sprint starting with Sprint 3. It is also encouraged for the teams to implement a prototype of the application in the early sprints of the project to reduce project risks. Sprints Schedule Sprint 1 - 2/6 to 2/17 Sprint 2 - 2/20 to 3/3 Sprint 3 - 3/6 to 3/24 Sprint 4 - 3/27 to 4/7 Sprint 5 - 4/10 to 4/21 Project Assignments: ● Team Name and Members List due Friday 2/3 EOD Please provide your team’s name, a team member list, and the name of the team leader. Once teams are submitted, the team member list will not be modified, even if the number of members drops below the minimum number of students per team due to team members dropping the course. I encourage you to validate with your teammates their commitment to the course before adding them to your team. I also encourage you to balance your team’s skills, making sure to include members that have complementary development experience. ● Project Features due Monday 2/6 EOD Please provide an executive project proposal, which should include a table of contents, the team name, and a description of the three features to be implemented for the project. A feature is a larger set of functionality than a user story that can typically be released to customers independently of other features. Please support your feature descriptions by adding a detailed explanation of what is expected of each feature, wireframes, or any other information that clarifies the expected outcome of your project features. After this report is submitted, I will either approve or reject the project proposal; in the case of being rejected, the team will have one week to meet with me, refine the project proposal, and resubmit it. Other milestones and deadlines will not be delayed due to failed project proposals. 1 ● Scrum Team Formation, Process, and Norms Monday 2/20 EOD Submit an interim report that includes a table of contents, the project features, a detailed definition of the Agile Software Development Process used by the team, including team norms, the team’s name, team members, team roles, and a rotation schedule (if applicable). As part of this report, please configure a Github repository and a Scrum board using Github projects to version and track the project development of your application. Please create a backlog of user stories, and assign them to their respective sprints. Assign user story points to all user stories, and calculate the team’s capacity and velocity. Please document the highlights of all the activities that your team performed as part of this report. ● Interim progress reports (due Mondays 3/6, 3/27, 4/10 EOD) The interim reports are draft versions of the final project report. The interim reports should contain the following: ● Table of contents. ● Team name and team members. ● Project Features. ● Scrum Team Formation, Process, and Norms. ● Link to the team’s Github repository. ● A brief description of the project’s progress. Different ways to document this could include: ○ A list of features or user stories completed and released since the last interim report. ○ a list of features and user stories that have not been completed (delayed) but were expected to be completed according to the project plan. ○ Project risks. ○ Historical burndown chart, historical cumulative flow, historical team velocity, active blockers, and risks. ● Include documentation that demonstrates that the released functionality is working as expected. This can be automated test results, or temporarily manual test results. ● Provide highlights of the outcomes of all the ceremonies and events held as part of your Agile Software Development Process. ● A draft version of the architecture and design specification. ● A draft version of the DevOps pipeline (CI/CD and testing). ● A draft version of the test suite using an automated unit test framework and code coverage measurement. ● Tech-debt and known bugs. ● Draft version of the user manual. ● Any other important content related to concepts discussed during class. As part of the interim reports, focus only on completing the draft sections that relate to the concepts discussed during class; for example, if we haven’t discussed software 2 architecture during class yet, you can wait until it is discussed during class to provide your draft section. Please be aware that the objective of the interim reports is to present a draft version of your final project report that I can then use to provide you with feedback for your team to align and improve your final report, resulting in a better overall grade for your team. The interim reports are not graded individually; instead, the final grade is based on the completion of the application, the final project report, and the final project presentation; this accounts for 40% of the final grade. ● Project Report due Monday 4/24 EOD. Please combine the information presented in the Project Features Report, the Scrum Team Formation, Process, and Norms Report, and the Interim Reports into a single, consistent document. Only the points below will be evaluated for the final project report grade. Submit a technical report that includes the final version of: ● Table of contents ● Team name and team members ● Link and access to the team’s Github repository and project. ● Project Features. ● Scrum Team Formation, Process, and Norms. ● A detailed specification of the Agile Software Development Process used by the team to complete the project, including the following: ○ Features implemented and user stories completed. ○ Historical burndown chart and historical cumulative flow per sprint and for the entire project. Please capture the highlights and describe what the charts present. ○ Provide highlights of the outcomes of all the ceremonies and events held as part of your Agile Software Development Process. ● Architecture and design specifications. ● DevOps pipeline specification (CI/CD and testing) including test suite using an automated unit test framework and code coverage measurement. ● Tech-debt and known bugs. ● Basic user’s manual. ● Any other important content related to concepts discussed during class and presented as part of the interim reports. ● Project Presentation due before last class session Thursday 4/27. Prepare, submit, and present a brief 15-minute executive presentation where your team displays all of your team’s application features. As part of your presentation, please include highlights of your application architecture, design, CI/CD pipelines, and test suite. Consider this presentation a sales-pitch. Please also make sure to demo your application effectively. 3 All teams should be ready to present on Thursday 4/27, but the presentation slot will be randomly assigned and teams will be notified either 4/27 (last class session) or 5/11 (final exam session 3:30-6:30 pm). I will collect the presentations submitted via Canvas (ppt or pptx) and have them ready for the teams to present. I will not receive presentation files via email. Teams should submit their presentations via the corresponding Canvas assignment before the due date. All students should attend both sessions. Important notes and recommendations: The teams are responsible for meeting each of these deadlines and strategically organizing the work required to complete the application, the reports, presentations, and other artifacts required by the project. Please do not assume that there will be further announcements about due dates. The objective of the team should be to advance through the required work at a consistent burndown rate. Leaving or completing most of the work toward the end of the course will result in a reduced project grade due to bad project execution. One important recommendation is to evaluate and create user stories or a project plan for all the documentation, presentations, and artifacts that are required to be submitted during the last class of the course and organize the work, not leaving all this work for the last week. Failure to present a working application at the final presentation week will result in a grade penalty. Each team member must participate equally in all activities required for the project, including designing, architecting, coding, testing, and organizing work. The team leader is responsible for maintaining and ensuring that this rule applies throughout the entire project. If the majority of members of a team feel that another member is not doing their fair share of work on the project or is otherwise behaving irresponsibly, they should first discuss the problem with that individual. If this does not rectify the problem, they should report it to me promptly, early enough in the semester so that there is time to fix the problem. Members that do not participate in the project or the creation of reports should not be added to the list of team members submitted as part of the reports or presentations. Members that do not participate in the final project will receive a grade penalty. I will monitor the Github projects consistently; the progress reported in the interim reports should match the information presented in the Github project and in the Github repository source code and releases. Please submit all reports and presentations before the due dates using their respective Canvas assignments. This final project accounts for 40% of the final grade for this course. Interim reports are not graded individually; instead, the final grade corresponds to the overall performance of the team completing the web application, the project report, which is based on the interim reports, and the project presentation. I will manage this grading offline based on your team's performance. Assignments delivered after their due dates will result in failed assignments that will not be reviewed or graded. 4 Failed assignments will result in a reduced project grade. I will not receive assignments, reports, or presentations via email. Interim reports not submitted on-time will not be reviewed, and the team will miss the opportunity to get valuable report feedback. This will also impact the overall grade of the team. Students are not required to and should not expend money to complete this project. The project should be completed using student-trials, open source tools, and other free resources. If you have any questions about resources that you can use please review the links in Canvas or reach-out to me directly. It is the responsibility of the students to comply with all the licenses and other legal requirements as defined by the software services or products used. Please follow the university policies and do not submit plagiarized content; do not copy and paste from other teams, and do not share reports either. Canvas will validate each report for plagiarized content. Reports marked by Canvas as plagiarized will not be graded, and this will result in a reduced project grade. In the event that you have any questions related to the project scope, objectives, or instructions in this document, please schedule a meeting using the office hours or send me an email. Note: I reserve the right to alter the dates, assignments, grading, and/or policies of this document in accordance with the university and the department policy. I will make all changes either verbally or in writing during class periods and will also be announced via Canvas. It is the sole responsibility of the student to keep up to date with all adjustments made to this document. 5