Title: What Executives Need to Know About Software Acquisitions
1What Executives Need to KnowAbout Software
Acquisitions
- ITS Professional Capacity Building Program
- T3 Session
- July 12, 2006
- 100 p.m. EDT
2TODAYS PRESENTERS
- Your Instructor
- Art Salwin
- Mitretek Systems
- Your Host
- Mac Lister
- FHWA Resource Center
3Software Horrors
4(No Transcript)
5(No Transcript)
6Software Trouble
Software is Different!
7Software is Different!
Software development is a non-linear, iterative
process
Learn as you go
Fundamental flaw of software engineering
assuming that one can specify a satisfactory
system in advance, get bids for its construction,
have it built, and install it this assumption
is fundamentally wrong. Brooks, 1987
8Software is Different!
The bad news is
Software is Different
Classic Approaches Dont Work
Need Different Approaches
9Software is Different!
The good news is
Maintenance
Contracting
Staffing
10What You Can Do To Help
11How You Can Help
- 1. Provide adequate resources
121. Provide Adequate ResourcesProvide Adequate
Staffing
Assign a full-time project manager
13 1. Provide Adequate ResourcesStaffing Options
141. Provide Adequate ResourcesOther Essential
Resources
Staff training Contractor resources for
management support Facilities Software maintenance
Non-core team members
15How You Can Help
- 1. Provide adequate resources
2. Foster teaming
16How You Can Help 2. Foster Teaming
Within your agency With other agencies With
neighboring jurisdictions
172. Foster Teaming
DO
Make people available Coordinate with other
agenciesand jurisdictions
182. Foster Teaming Non-Core Team Members
192. Foster Teaming
DO
Foster teaming with the software contractor
even if its a subcontractor
20How You Can Help
- 1. Provide adequate resources
- 2. Foster teaming
3. See if you can buy instead of build
213. Buy Instead of BuildDont Build ...
If You Can Buy
223. Buy Instead of BuildPotential Advantages of
Buying The Software
- Lower risk
- Shortened schedule
- Reduced costs
- Enhanced quality
- Stay current with technology
233. Buy Instead of BuildBuying Software Requires
Flexibility
You may not get everything you want
You may even have to change some operational
procedures
80 may be good enough!
243. Buy Instead of Build
DO
Make sure the buy option is explicitly
considered Provide the needed flexibility
25How You Can Help
- 1. Provide adequate resources
- 2. Foster teaming
- 3. See if you can buy instead of build
4. Break the project into pieces
264. Break the Project into Pieces
Project
274. Break the Project into Pieces Examples of
Bite-Size Pieces
- Functions
- Geographic scope
- Interfaces
- Number of devices
- Operational positions
284. Break the Project into Pieces Take Bite-Size
Pieces
- Gain benefits and operational experience sooner
- Tangible progress builds political support
294. Break the Project into Pieces
DO
Break the software development product into
pieces Separate software from construction
30How You Can Help
- 1. Provide adequate resources
- 2. Foster teaming
- See if you can buy instead of build
- 4. Break the project into pieces
5. Pick the right contract
315. Pick the Right Contract
Memorandum
Software ?
U.S. Departmentof Transportation Federal
HighwayAdministration
We continue to hear many comments from both the
public and private sectors on the difficulty in
procuring ITS projects under Federal-aid
procedures. These comments, and the recent
article Death by Low Bid (attachment 1), are
the direct result of the perception that ITS
projects must always use the same procurement
approach Often, ITS work is included within a
larger construction project. Experience has
shown that this may be inadvisable, and that the
ITS work may be better accomplished Many
stand-alone ITS projects do not have to be
procured under the rules for construction
projects, since they do not meet the FHWA
definition of construction. If field devices or
communications infrastructure is being
development of software to integrate does not
meet the definition of construction. Software
should never be procured using the normal low
bid process, rather it should be treated as
engineering or design services to be provided
only by qualified and experienced Another option
available is the use of a State or local agencys
own procurement process, which is permitted uder
49 CFR 18. While some states have procurement
Reference Action Procuring ITS Projects, FHWA
Memo from Anthony R. Kane, Executive Director,
dated October 6, 1999.emphasis and color added
325. Pick the Right Contract
Design/Build D/B/O/M
TM
Indefinite Quantities
Task Order
Multi-Phase
Non-Professional Services
Design Competition
Cost-Plus
335. Pick the Right Contract
DONT
Use low bid for software Put final requirements
in contract Use engineer/contractor(two-step)
process
DONT
DONT
345. Pick the Right Contract
DO
Use flexible contracting Use an incremental
approach Call out software activities and
products Gain full access to subcontractor(s) Sepa
rate software from construction
35How You Can Help
- 1. Provide adequate resources
- 2. Foster teaming
- 3. See if you can buy instead of build
- 4. Break the project into pieces
- 5. Pick the right contract
6. Pick the right contractor
366. Pick the Right Contractor
DO
Select contractor with strong software
capabilities
Describe how you will control software
requirements growth and volatility. Describe how
you will trace requirements to How did you
estimate the software cost and size? How will you
identify defects in the Describe how you track
defects. How will you track interfaces? Describe
task exit criteria and how you ensure they are
satisfied. How do you train staff on your
procedures and ensure they will follow
them? Reference The Guidebook of Software
Acquisition Questions, Software Program Managers
Network, www.spmn.com
Use software-related source selection criteria
37Software Capability Maturity Model (SW-CMM)
6. Pick the right contractor
Level
Level
Focus
Focus
Key Process Areas
Key Process Areas
- Defect Prevention
- Technology Innovation
- Process Change Management
5
Continuous Process
Improvement
Optimizing
- Process Measurement and Analysis
- Quality Management
4
Product and
Process Quality
Managed
- Software Process Definition
- Organization Process Focus
- Peer Reviews
- Training Program
- Intergroup Coordination
- Software Product Engineering
- Integrated Software Management
3
Engineering
Process
Defined
- Software Project Planning
- Software Project Tracking and Oversight
- Software Subcontract Management
- Software Quality Assurance
- Software Configuration Management
- Requirements Management
Level 5 Optimizing
2
Project
Management
Repeatable
1
Level 4 Managed
Competent People and Heroics
Initial
Level 3 Defined
Level 2 Repeatable
Level 1 Initial
38How You Can Help
- 1. Provide adequate resources
- 2. Foster teaming
- 3. See if you can buy instead of build
- 4. Break the project into pieces
- 5. Pick the right contract
- 6. Pick the right contractor
7. Resist schedule pressure
397. Resist Schedule Pressure1 Cause of Failure
Excessive Schedule Pressure
407. Resist Schedule Pressure1 Cause of Failure
Excessive Schedule Pressure
Time Allowed on Schedule
417. Resist Schedule Pressure
DONT
- Dictate schedules
- Play catch up
DONT
427. Resist Schedule Pressure
DO
Set technically-based schedules Build planning
and reviews into the schedule Revise schedule
with project Relax or eliminate requirements
43How You Can Help
- 1. Provide adequate resources
- 2. Foster teaming
- 3. See if you can buy instead of build
- 4. Break the project into pieces
- 5. Pick the right contract
- 6. Pick the right contractor
- 7. Resist schedule pressure
8. Emphasize quality
448. Emphasize Quality
45Emphasize Quality Cost to Fix a Problem
Time
Design twice, code once.
Measure twice, cut once.
46You Cant Test-In Quality
8. Emphasize Quality
The bad news is
- Testing shows the presence, not the absence,
of bugs.
47- Emphasize Quality Build in Quality From the Start
48Emphasize Quality Quality-Related
QuestionsBefore Contract Award
- How do you find defects
- in requirements?
- in architecture?
- in design?
- in code?
- How do you track defects?
- What tools do you use?
- Describe your software QA organization,
processes, and products.
49Emphasize Quality Quality-Related Questions
After Contract Award
- How many defects
- have been found?
- have been removed?
- remain?
- At historical defect removal rates, how long will
it take to achieve acceptable quality?
508. Emphasize Quality
DONT
Rely only on testingto ensure quality
518. Emphasize Quality
DO
Encourage use of softwarequality assurance
techniques Ask quality-related questions Allow
sufficient time for planning and requirements
development Test
528. Emphasize Quality
DONT
Ignore schedule budget
53Summary
54The Better Road to Software Acquisition
- Contractor at risk
- Hold contractors feet to the fire
- Full functionality
- Known results
- Familiar contract mechanisms
- Budget schedule pressure
- Shared risk
- Teaming open communication
- 80 is good enough
- Learn as you go
- Unfamiliar contract mechanisms
- Emphasize quality along with budget schedule
55Recap8 Things You Can Do To Help
- 1. Provide adequate resources
- 2. Foster teaming
- 3. See if you can buy instead of build
- 4. Break the project into pieces
- 5. Pick the right contract
- 6. Pick the right contractor
- 7. Resist schedule pressure
- 8. Emphasize quality
56Additional Resources
- Courses
- NHI www.nhi.fhwa.dot.gov
- ITS Software Acquisition 137019
- Intelligent Transportation System (ITS)
Procurement 137020 - CITE www.citeconsortium.org
- Managing High-Technology Projects in
Transportation
57Additional Resources (contd.)
- Reference Materials
- The Road to Successful ITS Software Acquisition
- EDL documents 4130, 4131, 4132 at
http//www.its.dot.gov/library.htm - USDOT Publications FHWA-JPO-98-035, -036, and
-037 - ITS Software Effective Acquisition Practices
- AASHTO Publications at (800) 231-3475
- Guide to Software Acquisition Best Practices
- Software Program Managers Network www.spmn.com
58Additional Help (contd.)
- The ITS Peer-to-Peer Program
- (888) 700-7337
- P2P_at_volpe.dot.gov
- http//www.pcb.its.dot.gov/p2p_2.asp