Software engineering crisis Flashcards
What makes software complex?
- There are many platforms to consider
- Many types of model to choose from (standalone, client-server, peer to peer)
- It’s solving hard problems (that may use NNs or AI)
- they can be large (thousands of lines of code)
What are the two types of failure classifications?
- Catastrophic (rare) in terms of cost, livers lost
- Chronic failures (more common)
What are examples of chronic failures?
- Project overruns
- Functionality problems
- Poor performance
- Low quality code
- Poorly structured code
Why would we not want to use generative AI to write software?
It writes code that isn’t reliable or correct.
What are the 3 types of project resolutions in the Standish Chaos report?
Type 1: Successful: project was completed on time and on budget with all features/requirements
Type 2: Challenged: project completed/operational but over time estimate or over budget and offers less functionality than originally promised
Type 3: impaired: project is cancelled
What was the most frequent issue that led to projects being considered challenged or incomplete?
Project objectives were not specified correctly: 51% of failings
What needs to be true about an estimation for how long a project is going to take to complete, when considering if a project failed because it didn’t meet this estimation?
The estimation needs to be realistic in the first place. If it was ridiculously underestimated in the first place, it couldn’t be achieved anyway so it’s not really a failure to have not achieved it.
What was a criticism about the standish chaos report’s data on the number of incomplete projects?
The standish chaos report didn’t publish their data so their claim couldn’t be fact checked
What was a criticism about the standish chaos report definition of an incomplete project?
The standish chaos report declared success as relative to the original estimation
What are the formulas for measuring failure in terms of time and functionality?
- forecast / actual < 1 (didn’t achieve in time given) e.g. 6/8 = 0.75 < 1
- forecast / actual > 1 (didn’t achieve as much as was planned) e.g 10/5 = 2
What is the first problem with the classification of projects that the standish report uses?
The classification is incomplete, some projects don’t fit any of the criteria’s for project outcomes
What is the more serious problem with the standish chaos report’s methodologies?
- projects that are successful have a forcast/actual >= 1 time and forcast/actual <= 1 functionality
- however this is dependent on the estimates that were made in the first place
- which may be over or under estimates
What was the interesting point that was found by the rise and fall of the chaos report about the first organisation?
They had a high accuracy of forecast yet only managed a 59% success rate
What was the interesting point that was found by the rise and fall of the chaos report about the second organisation?
The company admitted they used the standish criteria to determine if a project was successful so consequently increased resources when forecasting to achieve a higher success rate.
- They’re bias was larger, so accuracy was less but they achieved a higher success rate
What was the interesting point that was found by the rise and fall of the chaos report about the third organisation?
- They had good performance for forecasting with an institutional bias to produce low time forecasts. So they had a low success rate, based on their bias.