Project Overview for CEN 4010

Project Overview for CEN 4010
The team projects will consist of a series of iterations which
are composed of a number of ‘activities’ which we will call
work items. A work item is a unit of work and will frequently
result in producing an artifact, such as a document like a use
case, perhaps a test plan, a source code module, a user
interface prototype, or perhaps an executable.
Each iteration (deliverable) will also include some project
management documents, such as an executive summary and
statements of work, plus the development artifacts.
The iterations will be realized in a series of what we will call
"sprints," an element of the Scrum project management
approach, which is agile in nature (discussed later). Each
iteration will provide a measurable increment of real
application (business) value to the client. Thus our
applications will evolve from providing key, risk-driven required
core values into a fully functional system.
Executive Summary
 Every
iteration will include an Executive Summary.
 This
is to be a single page document and should
summarize the contents of the iteration:
What
work items were undertaken (list)
What
work items may have been changed from
previous iteration
Note:
revising artifacts is the norm in an iterative
approach to software development.
 Executive
backup.
Summary is likely developed by team lead and
Work Items
Each
iteration consists of work items undertaken.
Each
Work Item will be included in your iteration deliverable to me.
The
Statement of Work (SOW) (ahead) must include the name(s) of the
individual(s) primarily responsible for accommodating each work item
along with projected and actual time expenditures.
(Some work items will be done by individuals; others by more than one
team member.)

Statement of Work
 You
are to include each individual team member’s statement
of work (SOW)
 Develop
a document of sequential SOWs and include as a
work item.
 The
template for SOW submission is found on my web page.
Please fill it in accurately. No grades are dependent on the
content, but good project management requires time
accountability.
Development Environment
While
we will use Scrum as our agile approach to development
work, Scrum is not considered a process by some. Rather it is
an management approach.
Many
will argue this point. That is fine. But it is, together with
elements of the Unified Process, oftentimes considered the
most popular hybrid approach to software development.
We will undertake the traditional activities in software
engineering ranging from gathering requirements and
documenting them in use cases that will be used to drive the
user interface, database design, architectural design, design,
functional programming, testing, and validation.
Your choice of suitable programming language must fit the
application component, from interface design and
implementation to functional development to database design
and implementation.
Grammar, Wording, and
Professionalism
Under
NO circumstances will poor grammar or ill-conceived sentences be
considered acceptable work. Remember: you only get one chance to make a
first impression.
Poorly done work will really hurt your grade and perception of what otherwise
might be high-quality work. This is a senior-level capstone course and mature,
professionalism is expected.
EACH
work item of EACH iteration must be reviewed
While
each team will have a Quality Assurance Manager (ahead) please
recognize that every deliverable is the overall responsibility of the entire team.
I
cannot stress too strongly emphasis placed on professionalism in
organization, content, presenting and reporting.
Iteration #1
due 16 Jan 2013 – Start of Class
Team Formation, Project
Identification, Roles, initial Scope,
and initial Product Vision
Work Item: Executive Summary
(Word document)
Project
Title
Standard contents (see previous generic description)
Project lead (interim or permanent) will develop the Executive
Summary
Team roles (initial cut)
Initial project scope
Initial product vision
Describe in summary form the work items undertaken for this
iteration.
Include any issues encountered.
Work Item: Risk List
Risks
will be identified, quantifed, and prioritized.
See Risk List in the Word Templates links
provided.
Undertake an initial risk assessment as best you
are able at this time. It will change.
In the Iteration Assessment, risk mitigation must
be addressed.
Work Item: Team Formation
List
the team members by name and the role(s) each will
undertake.
Use
the descriptors on the next slide.
Please
realize this may change and be modified as individuals
take on new roles as the project evolves, but you should make
every effort to nail down roles.
While
we will be developing the applications using agile
development and Scrum in particular, one primary precept of
agile development is the self-governing characteristic of Agile.
Simply
put, this means that the team must govern itself from role
selection to planning workload distributions, planning meetings,
and more.
Team Roles and Responsibilities
(sample roles)
Team
lead and backup:
Team Quality Assurance Manager : (responsible for ensuring all
work items are properly reported, formatted, included on time and
more; responsible for work item reports to RTC)
Functional
Analysts (Requirement Specifications)
Application Designers (Modelers; architects)
Application Programmers (API / IDE specialists)
Database Specialists (database designers; interfacing…)
Testing and Reporting ( client representative, analysts; others)
Initial Product Vision
See templates on my web page and sample
student work.
Give this a shot.
Will be fully completed on next iteration.
Work Item:
Approved Project Description
Topic
must be pre-approved well before it becomes a part of this
iteration.
Include full write up.
Title
Description – several paragraphs
Need – Significance? Usefulness? Clients?
Availability of Resources to Specify
Sources of knowledge
Overall Software Development Plan (See Software Development
Plan in Templates)
It is conceivable that you may not have this item thought out
yet. But give it a shot. Will change later.
Work Item: Iteration Assessment
Frank
assessment of iteration 0. (5-10 minutes)
One or more team members will report on Iteration 0 in classroom
setting. (good, bad, and ugly)
What
Iteration
can be done to improve this process?
0 will be graded. Grades: not team grades.
Individual Peer Reviews must be submitted no later than class
time on the date on which the Iteration Reports are due/presented.
Likely accomplished by Team Leader
See Iteration Assessment in Templates
Work Item
Quality Manager’s Certification
I
certify that to the best of my ability all work
items have been completed and are
included in the iteration report.
 _____ Quality Manager’s (QMgr) Name
 _____ Team Leader’s (TL) Name
 Comments optional.
Iteration #2
due February 6th
Application Modeling
Iteration #1 Application Modeling
Purpose:
To
understand the structure and dynamics of the
organization within which the application will operate;
To
ensure customers, end-users, and developers
understand the organization;
To
derive requirements on systems to support the
organization;
Iteration 2 – Application Modeling and
Work Items
Executive
Summary
Team Member’s Statement of Work (See link on web page)
Application Vision Document – Completed and
comprehensive.
Application Glossary – See templates
Application Rules – See templates
Application Risk List – See templates
This is a hefty assignment. Start early!!
Work Item: Executive Summary
 See
earlier slide.
 Overview of the iteration from top to
bottom.
 No more than one page.
Work Item: Statement of Work
 You
are to include each individual team
member’s statement of work (SOW) in a
single SOW.
 Add to previous SOW from last iteration.
Work Item: Application Vision Document
(1 of 2)
Use
the appropriate forms on my web page: Link to Useful
Templates You Will Need. This is a Word document.
This captures the purpose of the application domain.
What services are they providing?
What are they all about?
Who are the customers?
What are the goals of this business?
Primary stakeholders??
Points of contact: emails and telephone and any notes such as
availability / non-availability; where they work, office symbols,
tech support, BAs, etc.
This is about the business, enterprise, environment.)
Application Vision Document (2 of 2)
Use
the Business Vision Template (see web page) but you
must MODIFY it so that it does NOT address a project;
rather, it will capture the vision of the enterprise itself.
 Normally,
in “Stakeholders,” we address those interests NOT from a
project perspective but from an organization’s perspective:
customers, users, etc. In our case, address the interests of the
stakeholders for the projects you are undertaking.
 There
is no Product Overview But the vision document should
address what the business is all about.
 Add
major sections that you deem appropriate.
Work Item: The Application Glossary
(1 of 2)
Use
the Business Glossary template.
Definitions of important terms used in the enterprise.
(alphabetical)
Key words: (sometimes these are called
‘core abstractions.’ ) These are often the ‘things’ the
enterprise deals with. Nouns.
A Student Registration system might have key words like
Course, Schedule, Payment, Registration, Student, Professor, ….
What is needed here are acronyms, important definitions,
basically the jargon of the organization. These will be heavily referred
to when we do use cases!
Work Item: The Application Rules
 Use
the Business Rules template.
 See
examples on my web page. These are merely samples.
 Be
careful: The samples on my web page are Rules for an Application.
 In
principle, the formal approach is to develop business rules for the entire organization
and not for the specific application domain.
 For
our projects this year, you are to develop business rules for the specific application
domain for which we will be developing the application.
 Business
Rules are policy declarations or conditions or guidelines that must be satisfied in
running the business.
Work Item: Risks
Use
Business Risks template.
What
are some of the risks that the organization and developers
must be constantly assessing:
Clients:
market share, technology awareness, new statutes from
Washington D.C., the state of Florida; trends in the industry;
demographics;
Developers:
Include environmental considerations; personnel risks;
technology risks; economic risks; time constraints; give this some
thought….
Sprint #3
due: Feb 27th (tentative)
Features List
And
Façade Use Cases
Work Items
Executive Summary
Iterate Previous Work
Team Statement of Work
Features List
Initial Use Cases – Façade Level
Quality Manager Assessment
Work Item: Product Vision Statement
See
lecture slides and templates provided on my web page.
I am after a short description (paragraph at most) for the
Product Vision.
This results in scoping the project (together with Needs and
Features ahead.
The
Product Features Section (section 5) is essential and is
to include identification of stakeholder needs and their
mapping to features via the traceability matrix shown in
referenced articles.
The
QA individual must develop a Traceability Matrix that
maps Features back to Needs (here). So the SQA will have
two matrices prepared. (See sample article for guidance)
Features List
When
we are dealing with ‘needs’ and ‘features’ we are
dealing with reasonably high levels of abstraction.
But
it is critical to capture the features in the Vision
Document for a new application, because it is these features
that must be accommodated in the delivered system. Needs
are higher level and often include very high level statements
of desired needs not all of which are features which can be
implemented in a system.
Features drive the development of the use cases – our
functional requirements, and the development of our
supplementary specifications – our non-functional
requirements.
The
More on Sample Features
Features
are not behavioral (like the Use Cases - coming). These are
typically text descriptions. See text books.
Example of features: (We will discuss)
ClassicsCD.com Web Shop
Need a Secure payment method.
There must be easy browsing for available titles.
Users need the ability to check the status of an order.
Application must provide Customer e-mail notification.
The catalog shall be highly scaleable to include many
titles and effective searching through those titles.
The Customer shall be able to customize the Web site.
The Customer shall be able to register as a user for future
purchases without needing to re-enter personal
information.
Iteration #3
due: ~TBD
Executive Summary
Iterate Previous Work
Team Statement of Work
Use Case Index
Use Cases including all Façade and Filled (basic use cases and those containing
happy path
Traceability Matrices
Quality Manager Assessment
Static and Dynamic Modeling???
Iteration #3 – Work Items - Overview
1.
Executive Summary.
Summarize
2.
the Iteration.
Iterate / Review / upgrade previous artifacts including the Features List
Based
on evaluation of your iteration, Your changes should be annotated in the Executive
Summary.
All previous deliverables should be reviewed and potentially updated.
3.
Team Statement of Work
Assigning
responsibilities to different roles to be accommodated on the team. This text
document should be developed by the team leader in concert with individuals. Team leader
must provide direction and guidance. All tasks and sub-task-ids should be clearly delineated.
Team members decide on allocation of Work Items.
4.
Update Features List to cover but not exceed Scope; Add comments.
5. Provide Use Case Index (see slides for examples and description)
6. Provide Use Case Diagrams for each use case specification (may include
with the Use Case Specification (Narrative).
7. Provide Use Cases: one set of filled use cases (use case that includes only
the happy path)
8. *Provide complete use cases (all alternatives / exceptions included)
(coming)
9. Provide Traceability Matrices for Needs to Features to Use Cases and vice
versa..
10. Quality Manager’s certification artifacts are reviewed.
Work Item: Executive Summary
As
previously done.
Summarize the Iteration.
The
good, bad, and ugly.
Assess how all went and ways to improve
Overview
of artifacts developed and your
assessment of them.
How did the team do?
No more than one page.
Work Items:
Review Previous Artifacts
 Review
primary Needs and Features
recognizing team members know more
about the application domain.
 Review and update the domain model to
include additional / modified business
entities.
Work Item: Statement of Work
You
are to include the Statement of Work from my
web page updated with this Iteration’s efforts.
Include each individual team member’s statement
of work (SOW).
I
am after a personal self-assessment as well from
individuals.
Remind
all team members to email their personal
self-assessments / team assessments to me.
Work Item: Update Features List
 Update
Features list with current
knowledge.
Work Item: Create Use Case Index
 See
examples on my web page.
 This is a one-pager listing the use cases to
come.
 Each entry should have a short user-stories
as the description of the use case.
Work Item:
Develop Use Case Diagrams
 Develop
Use Case Diagrams to include
actors and use cases.
 You may include individual use-case
diagrams with their specific use case
specification, if you wish.
 Not a bad idea, however, to have them all
listed one after the other here…
Work Item: Develop Use Case
Specifications
 The
use cases are to be (first) a set of
façade level use cases.
 Secondly, each use case is to have a
second one that includes a the basic couse
of events.
 Be aware, the next iteration will have all
alternatives / exceptions developed…
Work Item:
Develop Traceability Matrices
 There
needs to be a traceability matrix
outlining needs mapped to features
mapped to use cases.
 See examples in my slides and in the
article by Leffingwell.
Work Item:
Quality Manger’s Certification
 Need
sign off that the entire team approves
of the deliverable constituting the third
Iteration.
Iteration #4
due: 26 Nov 2012
Very
important deliverable as we approach the end of this
semester.
Work items and artifacts follow (you know the drill by now):
1. Executive Summary
2. SOW
3. QM certification. Ensure ALL review these documents
4. Features List (taken from Product Vision will likely be okay)
5. Traceability Matrices for Needs to Features to Use Cases
6. “Complete” Use Cases with all alternatives and exceptions.
Use Case Diagrams too. Precede this with the Use Case Index.
7. Initial Data Base Design. (Team 1 will present theirs.)
8. Upon feedback from me, please down load in hard copy the
use cases, traceability matrices (from product vision and this
one), and the data base design.
9. Team 1 is to present their artifacts.
4. Features List
 The
Features List will be input to the COJ
and to UNF (re your team).
 The Clients will prioritize their needs based
on these features. These constitute the
product backlog owned by clients.
 Development teams (soon) will develop
their own Sprint backlogs (we will discuss)
5. Traceability Matrices
 Traceability
Matrices mapping Needs to
Features to Use Cases are needed.
 See samples for format.
 Essential for tracking our progress via
Sprints and ensuring we are working on
real requirements.
6. “Complete” Use Cases
Essential
component of the iteration. Preceded by the Use
Case Index (one page) and accompanied by Use Case
Diagrams per use case, you are to significantly expand
your use case specifications to include all scenarios worthy
of expansion.
Several samples are available for your study.
This essentially ‘ends’ or creates a base line of functional
specs, so it is essential that you attempt to capture all that
needs to be documented.
Of course, the use cases are ‘never’ totally complete. J
7. Initial Data Base Design
 Your
Work Item here is to develop and
document your first cut at a viable data
base design given your many constraints.
 Visual modeling is critical along with text to
accompany / explain your modeling
 This will be supplied to our clients (COJ
and UNF) for verification, so we are after
your best attempt at a good data model.
8. Preparation for Incremental
Delivery to Clients
 Be
prepared to download, print, and
provide a professional portfolio of your work
to be submitted to the client.
 More later on format, etc.
Iteration #5
due: 5 Dec 2012
In
lieu of a final exam, we have a short term iteration for these work items..
1. Exec Summary, SOW, QM Certification.
4. Refinements of iteration 4. These could be significant.
5. Initial prototype of your Interface.
Provide
documentation on how you addressed the many points in the User Interface
Design power point notes.
6.
Upon feedback from me, please down load in hard copy of revised
documentation from iteration #4 plus images of your interface design.
7. Team 3 will present theirs for the class More later on this deliverable.
8. Development Plan based on Features / Use Cases – coming in early
January J
Future Iterations
Have Database design – first cut
Have initial Interface design – first cut.
Do we undertake analysis modeling???
Need Architectural Design asap for our architectural model
Development Plan – Iteration Planning (short documents to
rationale….)
explain each of these approaches and
Based on Features, Use Cases, etc. Priorities should be submitted from
needed business value and risk.
clients based on
Features / Use Cases used to suggest the iterations (sprints)
Need mapping of Features to Use Cases in Traceability
Each with defined, measurable inputs / outputs, etc…validation criteria,
inspection
(Includes design packages for a group of features / use cases)
Static models (classes) and sequence diagrams (dynamic modeling)
Acceptance
tests for each reuqirement
Setting up test suits for frequent use
Regression
tests
Test suites for frequently changed software.
Configuration
management tool use
Set up team for management, coding, architectural
concerns, testing and test case development;
Scrum management, configuration control,
documentation, etc.
 Creation
of a test team for
UI
Database
and any refactoring needed
Functionality
 Maintain
 Learning
test case library
about builds and how to test,
document, report via Scrum, configure,
etc…
 Test execution, reporting, archiving….
 Need
a software development plan for
the iterations…
That’s it for now.
Starting
in January, we will be deeply immersed in
development starting with the architecture
followed by the MVC design strategy and
implementation.
All teams will, upon prioritization of needs by our
clients (their product backlog), will decide your
own sprint backlog. This will take participation of
all team members in deciding the contents of
each sprint and commitments thereto.
We will talk more later, but from here on, the
development will be directed by the team using a
Scrum process – as nearly as possible.