Uploaded by tongduytung2910885

2023 Spring - CSDS393 - Software Development Project Milestones

advertisement
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
Download