Software Development and Engineering Blog


HW28: Chapter 25

Sam Word | 21 Nov 2017

HW27: Chapter 24

Sam Word | 16 Nov 2017

HW19: Team Progress II

Sam Word | 14 Nov 2017

HW25: Chapter 23

Sam Word | 09 Nov 2017

HW24: Chapter 22

Sam Word | 06 Nov 2017

HW22: Chapter 21

Sam Word | 02 Nov 2017

HW19: Team Progress I

Sam Word | 31 Oct 2017

HW21: Chapter 20

Sam Word | 26 Oct 2017

HW20: Chapter 19

Sam Word | 24 Oct 2017

HW18: Chapter 18

Sam Word | 18 Oct 2017

HW17-B: Chapter 17

Sam Word | 11 Oct 2017

HW17-A: Chapter 16

Sam Word | 08 Oct 2017

HW16: Chapter 9

Sam Word | 05 Oct 2017

HW15: Chapter 15

Sam Word | 02 Oct 2017

HW14: Testing Reflections

Sam Word | 28 Sep 2017

HW13: Chapter 8

Sam Word | 28 Sep 2017

HW12: Mythical Man Month

Sam Word | 26 Sep 2017

HW11: Chapter 6

Sam Word | 21 Sep 2017

HW10: Chapter 5

Sam Word | 13 Sep 2017

HW9: Reflections

Sam Word | 12 Sep 2017

HW8: Chapter 2

Sam Word | 12 Sep 2017

HW7: Reflections

Sam Word | 07 Sep 2017

HW6: Chapter 4

Sam Word | 07 Sep 2017

HW5: Reflections

Sam Word | 05 Sep 2017

HW4: Chapters 11 & 12

Sam Word | 30 Aug 2017

HW3: Chapter 10

Sam Word | 28 Aug 2017

HW2: Responses

Sam Word | 27 Aug 2017

HW1: Chapter 1

Sam Word | 24 Aug 2017

HW0: Introduction

Sam Word | 23 Aug 2017

HW24: Chapter 22


06 Nov 2017

22.6

Fixed-price contracts, where the contractor bids a fixed price to complete a system development, may be used to move project risk from client to contractor. If anything goes wrong, the contractor has to pay. Suggest how the use of such contracts may increase the likelihood that product risks will arise.

A blog post from Salsita Software, a professional software consulting company, nicely summarizes the issue with fixed-price contracts: “accurate software estimation is not possible even when perfect information is available about project requirements.” Software is intangible, complex, and generally differs from project to project, making it extremely difficult to accurately estimate a timeline and budget at the beginning of a project. If the contractor’s estimates end up being too optimistic, then the contractor might have to take a loss in pay, the developers might have to work overtime, and bad code may be produced as a result of a rushed schedule or tight budget. In this case, the risk of missed deadlines, blown budgets, and developer turnover increase. Additionally, if poor quality software is produced, which is likely, then the contractor risks their reputation, which can lead to fewer projects in the future. If the contractor plays it safe and estimates the project to cost much more money and take much longer to produce than it actually took, then the customer pays more than a fair amount for the work actually done. In this case, quality code may be produced, but the customer may not be happy that they overpaid for the contractor’s services, again risking the contractor’s reputation.

A better way to manage a software project is to have open and frequent communication between the client and contractor, and follow Agile methodologies when appropriate. This approach supports unforeseen changes in a software project, and allows the contractor and client to easily communicate changing requirements, costs, and timelines.