Title: IST 412
1IST 412
Why is this picture here?
2What did you learn from the readings?
- Normans Emotional Design
- XP book
3Normans Emotional Design
- Does your car work better because you polish and
clean it? - Not only behavior design, but focus on the
reflective and visceral - Another example
- Chrysler increased sales when they focused on
these two levels of design - So what does that tell you about software design?
4Normans Emotional Design
- Two kinds of development enhancement and
innovation - Today it is hard to imagine life without these
items, but before they existed almost no one but
an inventor could imagine what purpose they would
serve, and quite often the inventors were wrong
p. 71 - Example email (as a to do list)
5Normans Emotional Design
- People find it difficult to articulate their
real problems. Even if they are aware of the
problem, they dont often think of it as a design
issue p. 72 - So why is this important to a software developer?
6Normans Emotional Design
- None of these cases takes into account the
concerns of the poor user, people like you and
me, who use a product or web site to satisfy some
need. - Good behavioral design should be human centered,
focusing upon understanding and satisfying the
needs of people who actually use the product
p. 81 - Focus on observation what people actually do can
be quite different from what they think they do
p. 82
7Don Norman
- He will be giving a talk
- at IST on
- Nov 19th
8Teams
- Get into Teams
- Group of 10
- 6 for development (UI, Game)
- 3 for testing
- 1 for project management
- Today through 22nd working on proposal
- Proposals Due 27th September
- Advice
- reiterate (first one will not be perfect)
- get feedback early and often
9Teams
- Team structure may change during the process
depending on the software model you use. - Project Managers will need to setup time to meet
with me or the TA every week
10Proposal Guidelines
- Problem Definition
- The Game
- The software process you are using to develop the
game - The challenges in terms of usability or
engagement testing - Classes 9/8-9/13
- Teams and Roles
- Team members
- Responsibilities and roles of each member
- Class 9/15
11Proposal Guidelines
- Resources
- Software (programming language, etc.)
- Hardware (PCs, Macs, Server, etc.)
- Communication Policies
- Formal/informal methods bt. team members
- Formal/informal methods bt. teams
- Class 9/15
12Proposal Guidelines
- Development Process
- umbrella activities
- software model used
- Class 9/8-9/13
- Project Plan and Schedule
- Milestones and deadlines
- Integration plan
- Testing plan
- Class 9/20
13Proposal Guidelines
- Tracking and Quality Measurement
- How are you ensuring quality
- Class 9/22
- Risk Management Plan
- Risk Identification
- Risk Assessment
- Risk plan
14Software Myths
- If we are behind schedule, just add more
programmers
Nine Women cannot make a baby in nine months
15Software Myths
- Once we write the program and get it to work,
our job is done
60-80 of all effort expended on software will
be expended after it is delivered for the first
time
16Software Myths
- if we can just get it to work, we are done
Do really understand code you wrote 3 months ago?
17Process Framework
Process Framework
- Umbrella Activities
- Tracking and re-planning
- Quality assurance
- Reviews
- Measurement
- Reusability Management
- Integration
Umbrella Activities
Framework activity 1 Software engineering action
1.1 Tasks Software engineering action
1.k Tasks
Framework activity n Software engineering action
n.1 Tasks Software engineering action
n.k Tasks
18Process Framework
Process Framework
- Tasks
- Communication with users
- Planning
- Analysis
- Design
- Construction
- Deployment
- Maintenance
Umbrella Activities
Framework activity 1 Software engineering action
1.1 Tasks Software engineering action
1.k Tasks
Framework activity n Software engineering action
n.1 Tasks Software engineering action
n.k Tasks
19CMMI (Capability Maturity Model Integration)
- Meta-model (overkill?)
- Level 0 incomplete
- Level 1 preformed, work tasks done
- Level 2 managed, work conforms to policy
- Level 3 Defined, set standards
- Level 4 Qualitatively Managed, measurement and
quantitative assessment - Level 5 Optimized, process is adapted and
optimized using quantitative means
20Todays Work Plan (9/8)
- Define the problem, challenges, etc.
- Set a software engineering process
- Set a rough draft for the proposal, this will
change and evolve over the next two weeks
21Proposal Guidelines
- Problem Definition
- Teams and Roles
- Resources
- Communication Policies
- Development Process
- umbrella activities
- software model used
- Project Plan and Schedule
- Milestones and deadlines
- Integration plan
- Testing plan
22Methods the people developed
- The waterfall model
- Separate and distinct phases of specification and
development - Incremental Process Models
- Incremental Model
- RAD
- Evolutionary development
- Prototyping Model
- Spiral Model
- Agile Development
- XP (Extreme Programming)
23Waterfall Model (1970)
Information gathering
Planning
Modeling
Construction
- Advantages?
- Disadvantages?
Deployment
24Normans Emotional Design
- People find it difficult to articulate their
real problems. Even if they are aware of the
problem, they dont often think of it as a design
issue p. 72 - People dont know what they want, so how would
you gather requirements? - How would you do it for a game?
-
25Incremental Method
26RAD (Rapid Application Development)
Modeling Component1
Information gathering
Construction Component1
Planning
Deployment
Modeling Componentn
- Advantages?
- Disadvantages?
Construction Componentn
27Building a software is like driving
Driving is not about getting the car going in
the right direction. Driving is about constantly
paying attention, making little correction this
way, a little correction that way from XP
28Evolutionary Development
- Exploratory development (e.g., Prototyping)
- Objective is to work with customers and to evolve
a final system from an initial outline
specification - Problems?
- Benefits?
29Evolutionary Development
- Throw-away prototypes
- Objective is to understand the system
requirements. Should start with poorly understood
requirements - Problems?
- Benefits?
30Spiral Model
- Process is represented as a spiral rather than as
a sequence of activities with backtracking - Each loop in the spiral represents a phase in the
process. - No fixed phases such as specification or design -
loops in the spiral are chosen depending on what
is required - Risks are explicitly assessed and resolved
throughout the process
31Spiral Method
32Spiral Model
- Objective setting
- Specific objectives for the phase are identified
- Risk assessment and reduction
- Risks are assessed and activities put in place to
reduce the key risks - Development and validation
- A development model for the system is chosen
which can be any of the generic models - Planning
- The project is reviewed and the next phase of the
spiral is planned
33Agile Development Extreme Programming
- we no longer are able to define requirements
fully before the project begins. - Software engineers must be agile enough to
respond to a fluid business environment p. 72
(Pressman)
34Agile Development Extreme Programming
- Embrace change during any stage of the
development - Include the user/customer in the development
process - Milestones of tangible working software
components - Favors face-to-face communication
- Team re-organization
- Test often
- Success depends on the TEAM
35Extreme Programming
- Test before coding (e.g., JUnit)
- Process
- Planning
- Customers write stories and rate them in terms of
importance - XP team rates stories in terms of development
cost ( 3 weeks of development) - Establish a release plan
- Organize stories (risk cost)
- Use project velocity to re-plan later releases
36Extreme Programming
- Process
- Design
- Keep it simple
- Refactoring design and construction intermingled
- Test case development
- Automated test cases
- Coding
- Pair programming
- Continuously integrate
- Testing
- Unit testing
- Acceptance testing
37Discussion
- What development model is more appropriate for
your project? Why?
38Todays Work Plan (9/13)
- Problem Definition
- Teams and Roles
- Resources
- Communication Policies
- Development Process
- umbrella activities
- software model used
- Project Plan and Schedule
- Milestones and deadlines
- Integration plan
- Testing plan