Changes between Version 1 and Version 2 of AgileDevelopmentWhitePaper
- Timestamp:
- 01/13/08 22:55:03 (3 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
AgileDevelopmentWhitePaper
v1 v2 21 21 - direct interaction between developers, management, and customers. 22 22 23 These are accompanied by a corresponding de -emphasis of:23 These are accompanied by a corresponding deemphasis of: 24 24 25 25 - rigid and unrealistic schedules, 45 45 In fact, it receives criticism from many respected authorities. 46 46 47 So what's the problem? 47 So what's the problem? 48 48 49 49 131 131 terms of the tests required to validate the end products. Code that is 132 132 designed to pass those tests will inevitably provide more traceability and 133 reliability. 133 reliability. 134 134 135 135 - '''Clarity.''' Making requirements, design, and code simple, transparent, 163 163 sense, refers not only to unit test code but also to other forms of 164 164 validation, including user acceptance criteria and project performance 165 metrics. 165 metrics. Metrics collected over time provide a basis for more rational planning 166 and estimation. 166 167 167 168 - '''Composability''' of the software is a primary goal. The overall 174 175 services is promoted. Clarity and flexibility are simultaneously increased. 175 176 176 - '''Configurability''' increases flex ability, responsiveness, and applicability.177 - '''Configurability''' increases flexibility, responsiveness, and applicability. 177 178 The more configurable the software, the better. Specific components 178 179 assembled via generic models lend themselves to configurability. 186 187 management tools, though never a substitute for good practices, enhance and 187 188 simplify the software process. For almost every proven practice, recommended 188 activity, or repeated task, there will be a tool to make it more efficient, 189 effective and simple. This is certainly true for testing, tracking, 190 documentation, and configuration management. 191 192 - '''Incremental development''' reduces both cost and risk. In conjunction 193 with continual testing, it leads to software that is always deliverable and 194 demonstrable. The backlog of requirements becomes more manageable. Small 195 increments provide the flexibility to adjust to an evolving mission. 189 activity, or repeated task, there will be a tool to make it more reliable and 190 repeatable. This is certainly true for testing, tracking, documentation, and 191 configuration management. 192 193 - '''Incremental development''' empowers both developers and customers by reducing 194 the cost and risk of development of each iteration. In conjunction with continual 195 testing, it leads to software that is always deliverable and demonstrable. The backlog 196 of requirements becomes more manageable. Small increments provide the flexibility 197 to adjust to an evolving mission. Project performance becomes readily evident in 198 the improvements to the working code at frequent intervals. 196 199 197 200 - '''Incremental process improvement''' allows Agile Development to be mixed 206 209 207 210 - '''Acceptance.''' Increased understanding and measurable success are the 208 keys to acceptance. Automation and testing yield metrics to validate209 performance and insure requirements are met. Incremental process211 keys to acceptance. Automation and testing yield metrics to improve estimates, 212 validate performance and insure requirements are met. Incremental process 210 213 improvements reduce resistance from all stakeholders by reducing costs, 211 214 risks, and schedule impacts. Tools for testing and task tracking produce 226 229 the tendency to stray from best practices when quick turnaround is demanded. 227 230 Generic composability models help to reduce the need for both user and 228 developer training by providing a common look and feel and a natural containment 229 of complexity. 231 developer training. 230 232 231 233 - '''Stability.''' Composable models are naturally service-oriented. 238 240 - '''Agility.''' In a discussion of something called "Agile Development", the 239 241 word "agility" had better show up eventually. Agility is the ability to 240 succeed in the face of evolving mission, infrastructure churn, and242 succeed in the face of evolving mission, advancing technology, and 241 243 heterogeneous user requirements. Following the principles and practices 242 244 described here can provide the necessary flexibility without sacrificing 244 246 rescuing projects through the incremental adoption of these practices, Agile 245 247 Development works best when it is promoted throughout the enterprise 246 beginning with the planning and acquisition phases, and incentives ofall248 beginning with the planning and acquisition phases, and incentives for all 247 249 stakeholders are aligned with these principles. 248 250
