SE 3800: Software Process II Weekly
Outcomes
See the main page for weekly plans and
notes.
- Week 1:
- To be able to make the case for the Scrum development model.
- To be able to distinguish between required and suggested elements
of the Scrum process model.
- To be able to explain why it is important to develop a consistent
system configuration for developers and deployment.
- Week 2:
- To be able define appropriate tasks for well-understood stories.
- To be able to evaluate definitions-of-done for completeness and
over-specification.
- To be able to articulate the goals of estimation.
- To be able to ensure planning poker sessions stay on task.
- Week 3:
- To be able to distinguish between issues and bugs in software systems.
- To be aware of alternative workflows for fixing errors.
- To know how traditional testing experts fit into the Scrum
framework.
- To understand the importance of automating tests.
- To configure continuous integration for an in-class project.
- [Christmas break]
- Week 4:
- To be able to distinguish between unit, integration, system, and
acceptance testing.
- To be able to describe how to test a non-functional requirement.
- To be able to describe behavior-driven development.
- To be able to write acceptance scenario-based tests using Cucumber.
- To be able to use regular expressions to specify inputs to
scenario-based tests.
- Week 5:
- To be able to describe a method for testing user interfaces
developed in Java.
- To be able to use Cucumber to be able to test user interfaces
developed in C++ on the Qt platform.
- To be able to create a branch in Bitbucket, to automate the testing
of that branch, and to merge the branch into the primary development
branch.
- Week 6:
- To know the tasks involved in forming a Scrum team.
- To know the preparation work done by the Product Owner before final
sprint planning.
- To be able to recommend procedures for addressing
impediments during sprint execution.
- To be able to describe the waterfall and iterative development
models and to discuss their advantages and disadvantages.
- To be able to recite the key elements of the Agile manifesto.
- To be able to describe at least one alternative agile method.
- To be able to list necessary practices for effective reviews.
- To have experience in conducting a formal review.
- Week 7:
- To be able to discuss best practices in Scrum metrics and stand-ups.
- To be able to describe key practices in software quality assurance.
- To be able to discuss the goals of model-based development and
program proof systems.
- Week 8:
- To be able to perform a simple root-cause analysis.
- To be able to describe the circumstances of at least one software
system failure that resulted in the deaths of people.
- To be able to describe the goals of the Capability Maturity model.
- To be familiar with the high-level principles in the SE Code of Ethics.
- To be able to discuss practices supporting the high level
principlies in the SE Code of Ethics.
- Week 9:
- To be able to list the four P's of software project management.
- To be able to identify factors that can disrupt a software
development team.
- To be able to describe a process for risk management.
- To be able to list key signs that a project is in trouble.
- To be able to describe the characteristics that are needed to be an
effective ScrumMaster and team member.
- Week 10:
- To have experience in describing a team's challenges in configuring
effective CI for an SDL project.
- To be able to describe at least one current SE topic not typically
discussed in undergraduate textbooks.