- The Agile Developer's Handbook
- Paul Flewelling
- 390字
- 2021-06-24 18:47:07
Estimates
One thing that was increasingly obvious in the software industry was that our approaches to estimating or predicting the outcome of a project were out of whack. As a software team, we were often passed detailed requirements to analyze, then do some initial design work, and provide a work breakdown with estimates.
We'd be working on one project and then at the same time asked to estimate on another. The estimates we were told would inform the decision on whether the project was viable and would be funded. Some teams tried to be sophisticated, using algorithmic estimating techniques such as Constructive Cost Model (COCOMO), COCOMO II, Source lines of code (SLOC), and Function Point. Most estimating methods incorporated rule of thumb or experience-based factors as well as factors for complexity and certainty.
Sometimes the estimates would be given by people who weren't going to work on the project. This was either because the project leadership group didn't want to disturb an existing project team, or because, without funding, the project teams weren't formed yet. This meant the involvement of someone like an architect or a technical leader who could break down the work and estimate based on the solution they devised. Most complicated problems have several solutions, so if those who had done the solution work breakdown weren't available to provide guidance on how to implement their solution, obviously this could cause trouble later on.
Either way, whoever provided the estimate would give it based on the best solution they could theorize with the information they were given. More often than not, the first estimate that was given would be used as a way to control the project, and it would be pretty much set in stone. This was a pattern that I stumbled across many times. When this continually happened, we tried to improve the accuracy of our estimates by spending time doing more upfront work. But the reality was to get an exact estimate of effort so that time frames and budget can be drawn, you pretty much have to complete all the work in the first place.
- Mastering Machine Learning for Penetration Testing
- Twilio Cookbook
- 異構(gòu)基因共表達(dá)網(wǎng)絡(luò)的分析方法
- 新一代物聯(lián)網(wǎng)架構(gòu)技術(shù):分層算力網(wǎng)絡(luò)
- Drush User’s Guide
- 電力物聯(lián)網(wǎng)工程技術(shù)原理與應(yīng)用
- OMNeT++與網(wǎng)絡(luò)仿真
- jQuery Mobile Web Development Essentials
- 紅藍(lán)攻防:構(gòu)建實(shí)戰(zhàn)化網(wǎng)絡(luò)安全防御體系
- 語音信號(hào)處理及Blackfin DSP實(shí)現(xiàn)
- Python API Development Fundamentals
- 移動(dòng)互聯(lián)網(wǎng)環(huán)境下的核心網(wǎng)剖析及演進(jìn)
- INSTANT Social Media Marketing with HootSuite
- 物聯(lián)網(wǎng)技術(shù)與實(shí)踐
- 智慧的物聯(lián)網(wǎng):感知中國(guó)和世界的技術(shù)