work in teams, coordinate efforts for common goal (1), (2), (3), (4), (5), (6)
interview client to define/refine requirements (3), (4), (5)
work with client liaison on an ongoing basis and adapt to changing requirements (1), (2), (3), (4)
specify limits of project scope (1), (2), (3)
identify end-users characteristics (1), (3)
construct a feature breakdown structure (1), (2), (3), (4)
create a plan based on feature breakdown (1), (2), (3), (4), (5), (6)
give a formal technical presentation (f)
objectively present the status of a project (b), (c), (d), (f), (i), (k)
write a synopsis and progress report with plan for completion at halfway point (3), (4), (5)
document completed work (3), (4), (5)
evaluate peers performance in team (4), (5)
document progress, communicate with stakeholders (3), (4), (5)
construct solution to client's problem (1), (2), (3), (4), (5), (6)
Communicating with Your Client and Team
Technical Presentations
Agile Methods
Building Prototypes for Client
Making a Plan
Feature Breakdown
Setting Goals
Managing Your Client’s Expectations
Organizing Your Team
Documenting Your Project
Your Responsibilities to Your Client and Team
Revisions in last 6 years | Approximately when revision was done | Reason for revision | Data or documentation available? |
require maintenance of team/project wiki | fall 2011 | discussion with industry partners and former students that have graduated | |
changed formal planning requirement to add focus on agile methods | fall 2010 | discussion with industry partners and former students that have graduated | |
in class presentations include regular status updates for every team rotating between team members | fall 2012 | discussion with industry partners and former students that have graduated | |
changed paper format to wiki, word count replaces page count | fall 2011 | discussion with industry partners and former students that have graduated | |
added requirement to maintain Jira issues-tracking database | fall 2011 | discussion with industry partners and former students that have graduated |
https://courses.illinois.edu/schedule/2022/fall/CS/492
Identify the client's problem,
understand any previous approaches,
formulate an innovative solution, and
identify its strengths, weaknesses, and
other potential threats to its long-term success.
Produce and maintain clear and useful internal and external project documentation—including but not limited to
website landing pages,
high-level online documentation,
code-level commenting,
design specifications,
bug reports,
feature requests, and
presentations for technical and non-technical audiences.
Create a project plan that
Establish milestones and monitor progress toward them.
Adjust project scope, goals, and milestones as needed to account for unforeseen challenges or delays.
Maintain effective lines of communication and collaboration between team members.
establishes a timeline and effectively divides tasks between team members based on their interests and abilities.
Implement the project using appropriate software engineering tools and best practices:
Work from a specification.
Write tests first.
Design code so that it can be tested.
Test code continuously.
Use standard formatting and idioms across the entire project.
Choose a language and framework appropriate to the problem.
Review code as a team.
Use version control tools to support these best practices.