No Slide Title

Download Report

Transcript No Slide Title

University of Southern California
Center for Systems and Software Engineering
Expedite Systems
Engineering
CS 577b Software Engineering II
Supannika Koolmanojwong
University of Southern California
Center for Systems and Software Engineering
Outline
•
•
•
•
The power of “now”
What do we need?
Current findings
Expedition from COCOMO II perspective
© 2012 USC-CSSE
2
University of Southern California
Center for Systems and Software Engineering
“Urgent” is a new “normal”
• Various rapid-reaction programs
• Urgent needs  expedite the solutions
• Driven by “time to market” rather than
“complete satisfaction of static
requirements”
© 2012 USC-CSSE
3
University of Southern California
Center for Systems and Software Engineering
No comprehensive guidance
• Use yesterday’s solutions
• Overlap in roles and responsibilities
responding to urgent requests for similar
capabilities, resulting in potential effort
duplication
• On point solutions
– Cumbersome adaptation
– Impractical
© 2012 USC-CSSE
4
University of Southern California
Center for Systems and Software Engineering
Processes and practices for urgent
needs
• Add value
– not require excessive bureaucratic tasks to
implement
• Address, understand, manage risks
– Know where to include, truncate or eliminate,
streamline
• Rapid, suitable, and flexible
• Capabilities with urgent needs will be more
effective, efficient and longer lasting in the
field
© 2012 USC-CSSE
5
University of Southern California
Center for Systems and Software Engineering
Expedition Opportunities
• Product factors
– Architecture, Design
• Process
– Activities, Collaboration
• People
– Organization, Governance
• Project / Program
– Locations, tools
© 2012 USC-CSSE
6
University of Southern California
Center for Systems and Software Engineering
CORADMO
Rapid Application Development Opportunity tree
Reducing Time Per Task
•Business process reengineering
•Development process reengineering
•Reusing assets
•Application generation
•Design-to-schedule
Reducing Single-Point Failure Risks
•Tools and automation
•Work streamlining
•Increasing parallelism
Eliminating Tasks
•Reducing failures
•Reducing their effects
Reducing Backtracking
•Early error elimination
•Process anchor points
•Improving process maturity
•Collaboration efficiency
Activity Network Streamlining
•Minimizing task dependencies
•Avoiding high fan-in, fan-out
•Reducing task variance
•Removing tasks from critical path
Increasing Effective Workweek
•Prepositioning resources
•Nightly builds, testing
•Weekend warriors, 24*7 development
Better People and Incentives
Transition to Learning Organization
Product; Process; People; Project
© 2012 USC-CSSE
7
University of Southern California
Center for Systems and Software Engineering
CSF for Rapid, Innovative Solutions
(Jo Ann Lane, et.al, ICSP’10)
• Early concept exploration and feasibility
Assessment
–
–
–
–
Investment in innovation environment
Root cause analysis for customer problem
Reality Confrontation
Customer or sponsor commitment and participation
• Value-adding tools
• The right people
– Empower the best
– Enable holistic concurrency
– Identify a keeper of the holy vision
• Supportive Work Environment
Product; Process; People; Project
© 2012 USC-CSSE
8
University of Southern California
Center for Systems and Software Engineering
Cost Drivers
• Product Factors
–
–
–
–
–
Reliability (RELY)
Data (DATA)
Complexity (CPLX)
Reusability (RUSE)
Documentation (DOCU)
• Platform Factors
– Time constraint (TIME)
– Storage constraint
(STOR)
– Platform volatility
(PVOL)
© 2012 USC-CSSE
9
• Personnel factors
– Analyst capability (ACAP)
– Program capability (PCAP)
– Applications experience
(APEX)
– Platform experience (PLEX)
– Language and tool
experience (LTEX)
– Personnel continuity (PCON)
• Project Factors
– Software tools (TOOL)
– Multisite development (SITE)
– Required schedule (SCED)
University of Southern California
Cost Factor
Center for Systems and Software Engineering
Documentation
1.27
Database Size
1.28
Required Development Schedule
1.29
Productivity Ranges
Personnel Continuity
1.48
Platform Volatility
1.49
Main Storage Constraint
• COCOMO provides
natural framework to
identify high leverage
productivity
improvement factors
and estimate their
payoffs.
1.57
Multisite Development
1.60
Required Reuse
1.64
Execution Time Constraint
1.67
Use of Software Tools
1.72
Required Reliability
1.85
Product Complexity
2.21
Personnel Experience
3.37
Personnel Capability
4.14
1
1.5
2
© 2012 USC-CSSE
2.5
3
3.5
Productivity Range
4
4.5
10
University of Southern California
Center for Systems and Software Engineering
Supporting Techniques
•
•
•
•
•
•
System Simplification
Reuse
Process Streamlining
Rework Avoidance
Define Deferrables
Pre-defined standards (UI standard, Fault
tolerance) for different targets (age groups)
• Fixed and Free parameters
• Prisoner exchange - no conflict of interests,
common mindset between the two
universes
© 2012 USC-CSSE
11
University of Southern California
Center for Systems and Software Engineering
Homework 4
Expedite Software Engineering
• Suggest 2 tools/methods that can be used
to accelerate software development for
each phase
–
–
–
–
Exploration (2)
Valuation (2)
Foundations (2)
Development (2)
• Construction (2)
• Transition (2)
– Operations (2)
© 2012 USC-CSSE
12
University of Southern California
Center for Systems and Software Engineering
Crowdsourcing
Peer
production
Wisdom
of Crowds
Mass
Collaboration
Open
Source
Software
University of Southern California
Center for Systems and Software Engineering
Crowdsourcing
• “is a distributed problem-solving and
production process that involves outsourcing
tasks to a network of people, also known as
the crowd. This process can occur both online
and offline”
• by Jeff Howe, May 2006, Wire Magazing
• http://www.youtube.com/watch?v=F0UtNg3ots&feature=related
• http://www.youtube.com/watch?v=ZSTurPX
tDAw
© 2012 USC-CSSE
14
University of Southern California
Center for Systems and Software Engineering
Crowdsourcing in everyday life
© 2012 USC-CSSE
15
University of Southern California
Center for Systems and Software Engineering
Tools that support crowdsourcing
Professional
Consultants :
Financial, life science
Review between
customers and
companies
online
marketing experts
© 2012 USC-CSSE
On-demand
transcription
Crowdsourced
human translators
16
University of Southern California
Center for Systems and Software Engineering
Crowdsourcing
http://www.youtube.com/watch?v=lxyUaWSblaA
© 2012 USC-CSSE
17
University of Southern California
Center for Systems and Software Engineering
• Call center business
• Route calls to anybody’s computer (browser)
• LiveOps Talents
– Anyone can become a call center agent from
anywhere in the world
– Sign in to the system
– Select business that they want to work on
• Pizza,
– set schedule
• Requester
– Higher Quality, lower cost
© 2012 USC-CSSE
18
University of Southern California
Center for Systems and Software Engineering
•
•
•
•
•
CrowdSourced Graphic Design Marketplace
60,000 active graphic designers
Born in Melbourne, Australia
Growing revenues at a rate of about 120% a year
65% overseas
http://99designs.com/
http://techcrunch.com/2011/04/28/accel-invests-35m-in-99designs-after-years-of-trying/
© 2012 USC-CSSE
19
University of Southern California
Center for Systems and Software Engineering
• Bay area based non-profit organization
• Digital microwork opportunities for refugee
in high poverty region that has access to
computer and internet
– Somali, India, etc.
• Distributed outsourcing companies
• Examples
– finding a phone number on a business website,
tagging an image, or transcribing a business card
http://samasource.org/
© 2012 USC-CSSE
20
University of Southern California
Center for Systems and Software Engineering
Amazon Mechanical Turk
© 2012 USC-CSSE
21
University of Southern California
Center for Systems and Software Engineering
Google doodles
University of Southern California
Center for Systems and Software Engineering
the founders were "out of office"
May 20, 2002
© 2012 USC-CSSE
23
University of Southern California
Center for Systems and Software Engineering
© 2012 USC-CSSE
24
University of Southern California
Center for Systems and Software Engineering
Les Paul's 96th Birthday Doodle
• Posted June 9, 2011
• With high demand, Google left Les Paul doodle on for 2 days.
• “in just 48 hours in the U.S., you recorded 5.1 years worth of
music—40 million songs—using our doodle guitar. And those
songs were played back 870,000 times!”
http://www.google.com/doodles/les-pauls-96th-birthday
© 2012 USC-CSSE
25
University of Southern California
Center for Systems and Software Engineering
Doodle Crowdsourcing
Doodle 4 Google 2011 Winner
Dreams of Being an Astronaut
Doodle 4 Google 2012
“My Future Australia”
© 2012 USC-CSSE
26
University of Southern California
Center for Systems and Software Engineering
Benefits of Crowdsourcing
• Increase efficiency
– Haiti Earthquake: frontline SMS – texting emergency
situations to all volunteers
• Lower cost for hirer transaction cost
• Lower cost for workers
– Commute, clothes, daycare, food
• Job market access
– Quick and flexible hire and fire
– Delegate the works
– Benefits for workers who have difficulties to work in a
“normal” environment
• Handicapped , post-traumatic stress disorder, poverty
© 2012 USC-CSSE
27
University of Southern California
Center for Systems and Software Engineering
Benefits of Crowdsourcing
•
•
•
•
Builds competition
A collective effort
Learning is key
Spreading opportunities
http://www.techipedia.com/2009/social-media-crowdsourcing/
© 2012 USC-CSSE
28
University of Southern California
Center for Systems and Software Engineering
Challenges with Crowdsourcing
•
•
•
•
Quality of work
Workers have very little leverage
Poorly done vs not properly paid
Task pricing
© 2012 USC-CSSE
29
University of Southern California
Center for Systems and Software Engineering
Potential solutions
• Quality assurance
– Taping the conversation
• Review tool for both employers and
workers
• Elaborated worker selection
– Call center agent : interview, role-playing
© 2012 USC-CSSE
30
University of Southern California
Center for Systems and Software Engineering
• List of crowdsourcing projects
• http://en.wikipedia.org/wiki/List_of_crowds
ourcing_projects
© 2012 USC-CSSE
31