Lane - Center for Software Engineering

Download Report

Transcript Lane - Center for Software Engineering

Effective Human Factors
in
Software-Intensive Systems
Jo Ann Lane [email protected]
University of Southern California
Center for Software Engineering
CSE Annual Research Review – March 2006
© USC CSE 2006
Overview
•
Human factors points of view
–
–
–
–
–
•
User  system
User  user
Developer  user
Developer  system
Developer  developer
For each point of view
– Human factors aspects
– Potential problems
– Approaches for effective human factors
Effective Human Factors
© USC CSE 2006
CSE Annual Research Review 2006
2
Software-Intensive Systems:
Vision Moving Forward
•
•
•
Enterprise-wide net-centric systems for businesses and government agencies
Complex military Command, Control, Communications, Computers, Intelligence,
Surveillance, and Reconnaissance (C4ISR) systems
Infrastructure systems
–
–
–
•
Environmental systems
–
–
•
Predict and control environment
Minimize adverse impacts
Health care systems
–
–
–
•
Automated freeway/road systems to manage congestion
“Smart” car systems
Utility systems
Improve diagnostic capabilities
Minimize adverse impacts of procedures and treatments
Control vital human functions (e.g., heart rate)
Personal systems
–
–
–
–
–
Web-based business
Cell phones and PDAs
Appliances with embedded software/firmware
Security and home monitoring systems
Entertainment systems
Very large to very small… Software-intensive systems are everywhere…
Effective Human Factors
© USC CSE 2006
CSE Annual Research Review 2006
3
System User Perspective
• Human factors aspects
– User interaction with data
•
•
•
•
How to get data into the system
How to collaborate with other users based on system information
How to access data to retrieve required information
How to manipulate data and control system to achieve desired results
– Interaction with system devices
• In many cases, it’s not just a monitor, a keyboard, and a mouse
• Potential problems
– Critical data/information not available when necessary
– Data/information not entered correctly
– Users do not sufficiently understand system capabilities in order to
effectively use them
– User-system interactions too complex and not used
Effective Human Factors
© USC CSE 2006
CSE Annual Research Review 2006
4
System User Perspective: Examples
• Aircraft: Operational Flight Programs (OFPs)
– Many flight operations automated
– How to let experts assume control quickly to handle off-nominal
situations effectively
– How to make sure flight control personnel are not overwhelmed
with too much data to do their job in a timely manner
• “Smart Warrior”
– Flow of critical information to the warrior via new technologies
(voice, video, data)
– Key personal information to support medical needs/treatment
through various echelons (smart chips/cards)
• Healthcare applications
– Ensuring right data entered/retrieved from system
– Integration of health care devices
– Telemedicine to support remote healthcare with few local experts
Effective Human Factors
© USC CSE 2006
CSE Annual Research Review 2006
5
System User Perspective:
Approaches for Effective Human Factors
•
Know what information users need, when, and how fast
– Include representatives from user community early and often
– Develop use cases
– Prototype, prototype, prototype
•
Reduce probability of user errors (poka-yoke)
– Example: Barcode hospital patients to ensure the vital statistics are entered
into correct records and medications/treatments are given to correct patients
•
Make approach “lean”
– Analyze user activities and work areas to determine goals and value stream
– Organize work areas and system information to minimize wasted (non-value
adding) actions and rework
•
•
Use standard patterns and templates for consistency throughout system
Provide capabilities for users to define own views to support
– Varying user information assimilation styles
– System evolution for changing needs
Effective Human Factors
© USC CSE 2006
CSE Annual Research Review 2006
6
System Developer Perspective
• Human factors aspects
–
–
–
–
Eliciting and understanding user needs and requirements
Coordinating activities of distributed development teams
Utilizing value-adding tools to automate development activities
Designing and implementing a quality system… without sending the
development team on a “death march”
• Potential problems
– Hidden defects in system products
– Developer burnout resulting in high turnover rate
– Excessive rework resulting in missed deadlines and escalating
costs
– Too little, too late  resulting in canceled projects
Effective Human Factors
© USC CSE 2006
CSE Annual Research Review 2006
7
System Developer Perspective:
Approaches for Effective Human Factors
•
Knowledge of how current technologies can help
– Collaboration/Groupware tools
– Computer-Aided Software/System Engineering (CASE) tools
•
Reduce probability of errors (poka-yoke)
– Example: automated software analysis for identification of standards
violations and other errors
•
Make approach “lean”
– Analyze developer activities and work areas to determine goals and value
stream
– Organize work areas and information to minimize wasted (non-value adding)
actions and rework
•
•
•
Consider integration of agile processes with more traditional
development processes
Implement reuse when feasible
Provide capabilities for developers to define own views to support
– Multiple information assimilation and analysis styles
– Development process evolution for changing needs and technologies
Effective Human Factors
© USC CSE 2006
CSE Annual Research Review 2006
8
Summary
• There are many perspectives to human factors with respect to
software-intensive systems
–
–
–
–
–
User to system
User to user
Developer to user
Developer to developer
Developer to system
• Approaches for effective human factors need to provide
– Consistency
– Flexibility and adaptability to handle emergent behavior and
process improvements
– Error-proofing
– Right technology solutions for problems—should be value-adding
and efficient
– Minimize learning curves
Effective Human Factors
© USC CSE 2006
CSE Annual Research Review 2006
9
Questions?
Effective Human Factors
© USC CSE 2006
CSE Annual Research Review 2006
10