CS 250 Final Project Guidelines and Rubric
Overview
As a computer scientist, you will work collaboratively with a team of people who, together, move a project forward to completion. The software
development life cycle (SDLC) can take many forms, from a waterfall methodology through various types of agile approaches. In any of these, you need
to understand not only your role in the process but those of the others involved and how all the roles rely on each other to create a quality project. You
have had the opportunity during your course to experiment in various roles and found that communication and responsibility are key.
For your final project, you will compile a project retrospective. Throughout the course, you have taken on various roles as a software development
consultant to a travel company. Based on your experiences with this scenario, you will summarize, analyze, and draw conclusions about the project, the
SDLC, and your personal and professional goals in the computer science field.
The project is divided into five checkpoints, which will be submitted at various points throughout the course to scaffold learning and ensure quality final
submissions. These milestones will be submitted in Modules Two, Three, Four, and Five. The final product will be submitted in Module Seven.
In this assignment, you will demonstrate your mastery of the following course outcomes:
•
•
•
•
•
Determine the impact of the roles common to current software development methodologies on the software design process
Apply the phases of the software development life cycle to agile development methodologies in relation to efficient completion of software
design projects
Employ appropriate organizational methods in tracking the progress of software development projects
Demonstrate clear communication approaches relative to the roles and stages of the software design process
Apply the various roles and stages of the software design process to personal and professional goals in the computer science industry
Prompt
As would normally happen at the end of a sprint or a release, the scrum master will put together a project retrospective. For this final project, imagine
your entire course to have been a “project” that you will now summarize, analyze, and draw conclusions on.
1
Specifically, the following critical elements must be addressed:
I.
Discuss your experiences in the different roles you took on throughout the course.
A. Explain the various roles you practiced during the project and how they progressed the project. Be sure to use specific examples from
your experiences.
B. Discuss how those roles would have been different in a waterfall development approach rather than the agile approach you used. For
instance, you might discuss how a particular problem in development would have proceeded differently.
C. Explain what factors you would consider when choosing a waterfall approach or an agile approach, using your course experience to
back up your explanation.
D. Specify the organizational tools and principles that helped you be successful in your different roles.
E. Provide a sample of your communications to your team that illustrates any of your various roles. Be sure to explain why your example
was effective in its context and how it encouraged collaboration among team members.
II.
Discuss the phases of the software design life cycle in relation to completing your project.
A. Describe the agile software development methodology you used in your project, being sure to reference how each of the artifacts you
produced was helpful to the process.
B. Detail how the agile process you used helped each of the user stories come to completion.
C. Describe how the agile methodology supported project completion when the project was interrupted and changed direction.
D. Describe the organizational tools and principles that helped your team be successful in the different phases. Be sure to reference the
scrum ceremonies in relation to the effectiveness of the tools.
E. Provide a sample of your communications to your team that illustrates how the various phases work together toward completion of a
project. Be sure to explain why your examples were effective in their context and how they encouraged collaboration among team
members.
III.
Discuss how your experiences completing this project have influenced your future in the computer science industry.
A. Explain the professional roles you saw yourself practicing in the computer science industry before your experiences in this class.
B. Describe how this previous view of yourself in the industry has changed due to the experiences in class. For instance, you may have
experienced a large shift in interest or you may have confirmed your previous path.
C. Describe the organizational tools and principles you would like to gain more experience with in the future to support your aspirations.
D. Provide a sample of your communications to your team that you believe exemplifies who you would like to be in this industry. Be sure
to explain how it exemplifies you and how it encourages collaboration among team members.
E. Detail your personal and professional goals going forward in the computer science industry and how you would like to pursue them.
2
Checkpoints
Checkpoint One: Scrum Ceremonies
In Module Two, you will develop the documents associated with the scrum ceremonies including the project charter and the agenda for the daily standup
meeting. This checkpoint will be graded with the Scrum Ceremonies Rubric.
Checkpoint Two: User Stories
In Module Three, you will develop three user stories based on the video interactions. This checkpoint will be graded with the User Stories Rubric.
Checkpoint Three: Simple ListView Control
In Module Three, to continue your exploration of the Java language and the Eclipse environment, you will make additional changes to an existing working
program. This checkpoint will be graded with the Simple ListView Control Rubric.
Checkpoint Four: Test Cases
In Module Four, you will develop a test case for each user story submitted in Module Three. This checkpoint will be graded with the Test Cases Rubric.
Checkpoint Five: Revised Test Cases
In Module Four, you will go back to your initial test cases and revise them based on the wireframe provided by the product owner. This checkpoint is nongraded but necessary for the completion of the product application checkpoint.
Checkpoint Six: Product Application
In Module Five, acting in the role of developer and using the code provided as your starting point, you will make the changes based on the new information
provided by the product owner. This checkpoint will be graded with the Product Application Rubric.
Final Submission: Project Retrospective
In Module Seven, you will submit your final project. It should be a complete, polished artifact containing all of the critical elements of the final product. It should
reflect the incorporation of feedback gained throughout the course. This submission will be graded with the Final Project Rubric.
3
Checkpoint
Deliverables
Deliverable
Module Due
Grading
Two
Graded separately; Scrum Ceremonies Rubric
One
Scrum Ceremonies
Two
User Stories
Three
Graded separately; User Stories Rubric
Three
Simple ListView Control
Three
Graded separately; Simple ListView Control
Four
Test Cases
Four
Graded separately; Test Cases Rubric
Five
Revised Test Cases
Four
Non-graded
Six
Product Application
Five
Graded separately; Product Application Rubric
Seven
Graded separately; Final Project Rubric
Final Submission: Project Retrospective
Final Project Rubric
Guidelines for Submission: Your retrospective should be 5 to 7 pages in length with double spacing, 12-point Times New Roman font, and APA formatting.
Critical Elements
Roles: Various Roles
Roles: Waterfall
Roles: Waterfall or Agile
Exemplary (100%)
Meets “Proficient” criteria and
the details and examples chosen
illustrate an in-depth grasp of
the various roles and impacts on
project progression
Meets “Proficient” criteria and
details that differentiate the
waterfall approach illustrate a
comprehensive grasp of both
agile and waterfall approaches
Meets “Proficient” criteria and
details and examples chosen
illustrate a comprehensive grasp
of both waterfall and agile
approaches
Proficient (85%)
Explains various roles practiced
during project and how they
progressed the project, using
specific examples from course
experience
Discusses how roles would have
been different in a waterfall
development approach
Explains factors to consider
when choosing a waterfall or
agile approach, backed up by
course experience
4
Needs Improvement (55%)
Explains various roles practiced
during project and how they
progressed the project but is
cursory or contains inaccuracies
Not Evident (0%)
Does not explain various roles
practiced during project and
how they progressed the project
Value
6.33
Discusses how roles would have
been different in a waterfall
development approach but
discussion is cursory or contains
inaccuracies
Explains factors to consider
when choosing a waterfall or
agile approach but is cursory or
contains inaccuracies
Does not discuss how roles
would have been different in a
waterfall development approach
6.33
Does not explain factors to
consider when choosing a
waterfall or agile approach
6.33
Roles: Organizational
Tools
Roles: Communication
Phases: Methodology
Phases: Completion
Phases: Interrupted
Phases: Organizational
Tools
Meets “Proficient” criteria and
details illustrate a
comprehensive grasp of the
connection between tools and
principles and success
Meets “Proficient” criteria and
the combination of sample and
explanation reveals an advanced
facility with team
communication
Specifies organizational tools
and principles that aided success
in the different roles
Explains how a sample
communication effectively
illustrates a role and encourages
team collaboration
Meets “Proficient” criteria and
the combination of artifacts and
description reveals a
comprehensive grasp of agile
methodology
Meets “Proficient” criteria and
details illustrate a
comprehensive grasp of agile
methodology
Meets “Proficient” criteria and
details illustrate a
comprehensive grasp of agile
methodology
Describes the agile software
development methodology used
in project, referencing how
artifacts produced helped
process
Details how the agile process
used helped user stories come
to completion
Meets “Proficient” criteria and
details of scrum ceremonies
reveal a comprehensive grasp of
the connection between tools
and principles and success
Describes organizational tools
and principles that aided success
in the phases, referencing the
scrum ceremonies
Describes how agile
methodology supported project
completion when project was
interrupted or changed
5
Specifies organizational tools
and principles that aided success
in the different roles but
information is cursory or
contains inaccuracies
Explains how a sample
communication effectively
illustrates a role and encourages
team collaboration but is
cursory or explanation does not
accurately explain the
communication
Describes the agile software
development methodology used
in project but is cursory or
contains inaccuracies
Does not specify organizational
tools and principles that aided
success in the different roles
6.33
Does not explain how a sample
communication effectively
illustrates a role and encourages
team collaboration
6.33
Does not describe the agile
software development
methodology used in project
6.33
Details how the agile process
used helped user stories come
to completion but is cursory or
contains inaccuracies
Describes how agile
methodology supported project
completion when project was
interrupted or changed but is
cursory or contains inaccuracies
Describes organizational tools
and principles that aided success
in the phases but is cursory or
contains inaccuracies
Does not detail how the agile
process used helped user stories
come to completion
6.33
Does not describe how agile
methodology supported project
completion when project was
interrupted or changed
6.33
Does not describe organizational
tools and principles that aided
success in the phases
6.33
Phases: Communication
Meets “Proficient” criteria and
the combination of sample and
explanation reveals an advanced
facility with team
communication
Explains how a sample
communication effectively
illustrates how the phases work
together and encourages team
collaboration
Meets “Proficient” criteria and
details reveal a thoughtful
reflection about previous
visions
Meets “Proficient” criteria and
details reveal a thoughtful
reflection about current vision
Explains professional roles
envisioned in computer science
industry before experiences in
the course
Describes how the previous view
may have changed due to
experiences in the course
Future: Organizational
Tools
Meets “Proficient” criteria and
details reveal a thought
reflection about student’s
aspirations
Describes the organizational
tools and principles to have
more experience with in the
future to support aspirations
Future: Communication
Meets “Proficient” criteria and
the combination of sample and
explanation reveals a thoughtful
reflection about future
Explains how a sample
communication effectively
illustrates who student would
like to be in computer science
industry and encourages team
collaboration
Meets “Proficient” criteria and
details reveal a thoughtful
reflection about future
Details personal and
professional goals going forward
in computer science industry
and how to pursue them
Future: Before This
Class
Future: View Changed
Future: Personal and
Professional Goals
6
Explains how a sample
communication effectively
illustrates how the phases work
together and encourages team
collaboration but is cursory or
explanation does not accurately
explain the communication
Explains professional roles
envisioned in computer science
industry before experiences in
the course but is cursory
Describes how the previous view
may have changed due to
experiences in the course but is
cursory
Describes the organizational
tools and principles to have
more experience with in the
future to support aspirations but
is cursory
Explains how a sample
communication effectively
illustrates who student would
like to be in computer science
industry and encourages team
collaboration but is cursory or
explanation does not accurately
explain the communication
Details personal and
professional goals going forward
in computer science industry
and how to pursue them but is
cursory
Does not explain how a sample
communication effectively
illustrates how the phases work
together and encourages team
collaboration
6.33
Does not explain professional
roles envisioned in computer
science industry before
experiences in the course
Does not describe how the
previous view may have
changed due to experiences in
the course
Does not describe the
organizational tools and
principles to have more
experience with in the future to
support aspirations
Does not explain how a sample
communication effectively
illustrates who student would
like to be in computer science
industry and encourages team
collaboration
6.33
Does not detail personal and
professional goals going forward
in computer science industry
and how to pursue them
6.33
6.33
6.33
6.33
Articulation of
Response
Submission is free of errors
related to citations, grammar,
spelling, syntax, and
organization and is presented in
a professional and easy-to-read
format
Submission has no major errors
related to citations, grammar,
spelling, syntax, or organization
Submission has major errors
related to citations, grammar,
spelling, syntax, or organization
that negatively impact
readability and articulation of
main ideas
Submission has critical errors
related to citations, grammar,
spelling, syntax, or organization
that prevent understanding of
ideas
Total
7
5.05
100%
Long 1
Chelsea Long
CS-250-R5364
May 20th, 2018
Journal (Scrum Master)
Executing the scrum ceremonies is essential for a scrum master. Some of these scrum
ceremonies include; sprint planning, daily stand-ups, backlog grooming, and even sprint
retrospective. However, execution of these ceremonies involves the implementation of various
ways (McKenna 74). For example, when one intends to execute sprint planning as the scrum
master, he can ask all the members of the team to sketch all the duties that are involved in the
bugs, stories and other responsibilities that move to the sprint. Additionally, the practice of the
discussion is also important since it helps in the execution of the ceremonies scrum.
There is different importance that can be associated with the existence of the scrum
ceremonies. One of the benefits that can be connected to the presence of the scrum ceremonies
is that they promote equality. This is because it is through the scrum ceremonies that the
frameworks of the task that is to be conducted are applied, thus leading to quality achievement.
Additionally, scrum ceremonies are significant since they promote the satisfaction of the clients
(McKenna 74). This is because the ceremonies help the people to develop the products based
on the demands of the customers hence leading to the satisfaction of the clients. Collaboration
is also another benefit that is connected to the existence of the scrum ceremonies since different
people are brought together to work in various roles. Scrum Ceremonies are also crucial in that;
they promote visibility and the exposure of the members of the team. For example, scrum
ceremonies give the team members the freedom to communicate openly with the other
members. Hence it promotes exposure and visibility to the team members. Lastly, scrum
ceremonies are vital since they encourage the morale of the team members. This is because it
Long 2
gives the team members the confidence to develop a suitable structure of work in every
environment where they perform.
There are various things that the team members who are involved in the scrum
ceremonies can achieve. For example, the team members are experienced to gain the
collaborative spirit from the scrum ceremonies. When the team members gain the collaborative
spirit from the scrum ceremonies, they will be able to improve their performance together.
Additionally, the team members are expected to acquire the skills for the structural planning
from the ceremonies. Lastly, the team members are expected to increase the management skills
whereby; they will be able to manage the activities themselves without supervision.
The achievement of goals is an important issue that must be considered by scrum
ceremonies; there are various ways through the scrum ceremonies achieve their goals. For
example, the scrum ceremonies will be able to accomplish its goals when the team members
who are involved with the ceremonies become successful either through being good managers
or produce the good and quality products for the customers (Gold, Benjamin, and Clive 123).
Additionally, the scrum ceremonies achieve their goals when the managers apply the
ceremonies related techniques to unite all the team members which in turn helps in boosting
their morale. In other words, when the members of the team can organize their work effectively,
then it will clear that the scrum ceremonies have achieved their goals since the ceremonies
discuss more the team members organizing their work.
Long 3
Work Cited
Gold, Benjamin, and Clive Vassell. "Using risk management to balance agile methods: A study
of the Scrum process." Knowledge-Based Engineering and Innovation (KBEI), 2015
2nd International Conference on. IEEE, 2015.
McKenna, Dave. "Scrum Ceremonies and Artifacts." The Art of Scrum. Apress, Berkeley, CA,
2016. 63-94.
Long 1
Chelsea Long
CS-250-R5364
05-27-2018
Scrum Development Process
Scrum development process is an iterative and incremental agile structure aimed at
controlling software development. The development team collaborates with the end user to get
the requirements and the specification of the intended product. It is an open framework because
the end user is actively involved in the development lifecycle of software. Scrum uses an
experimental approach to address the swing user requirement hence improving the team’s
capacity to deliver faster and react to emerging user needs. Scrum outweighs the traditional way
of system development in which users gave their views on the system, and then the development
team views them and disburse solution literally and then start coding. In scrum process, user
stories are the essential requirement because the solution emanates from the users and technical
team working together. This ensures that all deliverables after every system phase are suitable
for all stakeholders. This helps the software owner determine whether the project is moving in
the right direction.
What is useful when engaging with users for travel-booking software?
As the owner of the travel-booking system, I will focus on travel industry because the
users are the travellers. During idea conceptualization, data collection and design phase of the
software development, my focus will be on the customer's stories (Rasnacis & Berzisa, 2015, p.
7). The stories would be aid the coding team in defining the worth and a high-level opinion at
recurrent intervals. I would emphasize on collecting more stories from the target users as a
Long 2
blueprint for writing the system requirements of each backlog and thus, argue the team to contact
face to face conversation with the users to get detailed information.
How will user stories be helpful to the scrum team in travel-booking software?
The user stories would help the scrum team in resolving communication problem because
it facilitates the flow of information between the team and the user, frequent fliers and the airport
attendants. This would allow faster delivery of the system prototypes (O'Loughlin, n.d.). User
stories would also help to solve the issue balancing between the travellers and the technical team
in that, the development team is not overwhelmed with much information, and the users will not
be left out during the development cycle. Generally, user stories will help me and my team to
shorten system development period and produce an appealing travel-booking system suitable for
the clients because they will provide information and challenges in the current system. And
finally, the user stories would help in setting the project time for the development of the new
travel-booking system.
How did the interviews/user meetings help in writing these users stories?
The successful scripting of the user stories will be facilitated by conducting several
interviews with the travels. The meetings will significantly help in extracting useful data, like
user experiences with the current travel-booking system, the usability of the system and proposal
of the new system. The stories will as well suggest why the travellers need changes in the
system, the functional and nonfunctional of the new system. And finally, the meetings may aid in
developing; project timelines, training requirements, and the impacts of introducing the proposed
travel-booking system to the stakeholders.
References
Long 3
O'Loughlin, E. The Best Scrum Project Management Tools for Your Agile Team. Retrieved
from https://www.netsolutions.com/insights/role-of-user-stories-in-agile-developmentand-how-to-create-a-good-one/
Rasnacis, A., & Berzisa, S. (2015). Adaptation of Agile Project Management Methodology for
Project Team. Information Technology And Management Science, 18(1).
Long 1
Chelsea Long
CS-250-R5364
6-3-18
Tester
To: Duncan
Subject: User Story Clarifications
Dear Duncan,
I have checked the user stories and currently, I have started developing the test cases for the
various features and characteristics in order to determine if the product passes or not. I actually
need more information so that I can use more measures to distinctly define my test cases. Can
you please answer the following questions for me?
User Story One
•
Do all of the “Top 20” trips need to be listed on separate pages or together on the same
page?
•
Should the list count down from 1 to 20 or start from 20 to 1?
•
Are we conducting a top –twenty lists for a specific type of trip or will it involve all types
of trips?
User Story Two
Long 2
•
What kind of row and column headers would you recommend?
•
Are we going to let the end user specify his or price range?
•
How should the description be? Should it be a one-line description or a more than one
line description?
User Story Three
•
You mentioned that you needed a mobile application. Do we need to include each and
every feature on the mobile application or not?
•
Can you provide more information about the mobile application that you need?
Thanks,
Kevin
Question One
What elements of the user stories were the most helpful in developing your test cases?
•
The user
•
A simple sentence in order to get the right and effective feedback from the user.
•
The expected results needed
Question Two
What was missing from the user stories that would be helpful?
•
The duration or period of implementing the entire software in order to avoid delays.
How might you go about this additional information?
Long 3
•
As a tester, if the expected duration for completing the work is not given, I can just
estimate the period that I will be able to effectively complete the work without any form
of inconvenience such as delays (Enoiu et al., 2018).
Works Cited
Long 4
Enoiu, Eduard, and Mirgita Frasheri. "Test Agents: Adaptive, Autonomous and Intelligent Test
Cases." arXiv preprint arXiv:1802.03921 (2018).
JOURNAL DEVELOPER
1
Journal: Developer
Chelsea Long
CS-250-R5364
JOURNAL DEVELOPER
2
The product owner is the role which manages the product from the customer side and gives
requirements to the Scrum development team. As a developer I will ask product owner to fulfill
my following request: State the vision and requirements of the customer to the development of
the software (Cohn, 2004). As our organization seeks to take advantage of travel booking
software, I and the agile team will need to put into consideration how adequately define and
support vital roles in the travel booking software and how changes are communicated to the agile
team; the product owner.
Even though emails are so easy to send, the same way they are easy to be ignored by the
receipt. Ensuring your message gets read and is responded can be tricky sometimes as the inbox
of the product owner receiving various emails every day. First, I send the email, I would ask for
a response in my subject line (Poppendieck and Poppendieck, 2003). I understand that it may
sound simple, but at times all we need to do is a request for a response. I would have to alert the
product owner on the subject line that the email needs a reply. The one thing that gets people to
respond to emails is when the sender puts ‘RESPONSE NEEDED’ at the end of the subject line.
It is the very effective way to ensure I get the response I need to move forward. Also, I would
include the email with greetings and start my message with a clear request.
The role of the product owner is challenging in almost any effort of agile development,
whether private or public. Agile methodology and a good product owner bridges the gaps
between senior management, the IT department, developers, business and other external
stakeholders like the third party providers and advocacy group (Cohn, 2004). Agile methodology
ensures that the product owner is a full-time diplomat (a communicator who commands respect
in the entire company, while usually working without a lofty title, large staff, or extensive
JOURNAL DEVELOPER
authority), part business analyst and part technologist that allows the organization to be more
flexible in its development approach.
3
JOURNAL DEVELOPER
4
References
Cohn, M. (2004). User stories applied: For agile software development. Addison-Wesley
Professional.
Poppendieck, M., & Poppendieck, T. (2003). Lean software development: an agile toolkit.
Addison-Wesley.
Purchase answer to see full
attachment