Download presentation
Presentation is loading. Please wait.
1
® IBM Software Group © 2006 IBM Corporation PRJ480 Mastering the Management of Iterative Development v2 Module 8: Post-Project Analysis
2
8-2 Module 8 Objectives Considerations in the analysis of a completed iterative project Aspects of project environment improvements General review
3
8-3 Now that You are Done with Transition Your project is part of the small percentage that delivered! You can probably think of things that would have helped improve the delivery. Hopefully you took some notes or developed a history of measurements to help you in your next project. The list of common symptoms and root causes that follow may help you determine which improvements may be needed for your next project.
4
8-4 Symptoms of Software Development Problems Inaccurate understanding of end-user needs Inability to deal with changing requirements Modules that don’t fit together Software that’s hard to maintain or extend Late discovery of serious project flaws Poor software quality Unacceptable software performance No coordinated team effort An unreliable build-and-release process
5
8-5 Root Causes of Software Development Problems Insufficient requirements management Ambiguous and imprecise communication Brittle architectures Overwhelming complexity Undetected inconsistencies among requirements, designs, and implementations Insufficient testing Subjective project status assessment Delayed risk reduction due to waterfall development Uncontrolled change propagation Insufficient automation
6
8-6 10 Principles of Modern Software Management 1.Base the process on an architecture-first approach. 2.Establish an iterative lifecycle process that confronts risk early. 3.Transition design methods to emphasize component-based development. 4.Establish a change management-environment. 5.Enhance change freedom through tools that support round-trip engineering. 6.Capture design artifacts in rigorous, model-based notation. 7.Instrument the process for objective quality control and progress assessment. 8.Use a demonstration-based approach. 9.Plan intermediate releases in groups of usage scenarios with evolving levels of detail. 10.Establish a configurable process.
7
8-7 Back to the Effort/Cost Formula Effort = (Personnel)(Environment)(Quality) (Size Process ) Using an iterative process that confronts risk early, taking an architecture- first approach, and using objective quality controls (such as measurements) are important in modern software project management. Evolving levels of detail and a demonstration- based approach improve communications among stakeholders. Round-trip engineering and process instrumentation improve the level of automation and insight into objective quality control. Tackling the architecture first and change management early improves the achievable quality. Component-based development and model-based notation help reduce the overall size and complexity of the solution. Iterative and configurable processes that confront risk early improve risk management and process reuse across multiple projects.
8
8-8 Discussion: Adopting Iterative Development Which aspects of iterative development are: Easiest to adopt? Hardest to adopt? What activities performed by a project manager are most affected by introducing iterative development?
9
8-9 Aspects of Improvement The following section describes how to make improvements in: Tools Culture Process
10
8-10 Environment Discipline in RUP The Environment discipline in the IBM® Rational Unified Process® (RUP®) methodology contains guidance to improve the software development environment supporting development teams, including both processes and tools. The Environment discipline provides the supporting environment for a project. In doing so, it supports all other disciplines.
11
8-11 Considerations for Improving Environment Major Problem Areas “Low-hanging Fruit” Short-Term Profits Internal Factors External Factors Product Characteristics Business Context Draw Conclusions
12
8-12 Lower Management Complexity - Smaller scale - Informal - Few stakeholders - "Products" Higher Management Complexity - Large scale - Contractual - Many stakeholders - "Projects" Higher Technical Complexity - Embedded, real-time, distributed, fault-tolerant - High-performance, portable - Unprecedented, architecture re-engineering Lower Technical Complexity -Straightforward automation, single thread - Interactive performance, single platform - Many precedent systems, application re-engineering Average software project: 5 to 10 people 10 to 12 months 3 to 5 external interfaces Some unknowns, risks DOD weapon system National Air Traffic Control System Telecom switch Large-scale simulation DOD management information system Enterprise information systems Enterprise application (for example, order entry) Business spreadsheet Small scientific simulation Embedded automotive application Commercial compiler Examine Across Multiple Dimensions of Discriminants
13
8-13 Improving Environment with Tools Tools automate manual, error-prone tasks Tools increase the efficiency of the process An integrated environment is key Facilitates and enforces management control Tools and environment Improve quality Accelerate adoption of modern techniques Have a linear effect on productivity
14
8-14 Some Useful Tools Configuration Management Tools Planning Tools Requirements Management Tools Visual Modeling Tools Compilers, Editors, Debuggers Quality Assurance Analysis Tools Test Tools User Interface Tools
15
8-15 Tools Support Disciplines Implementation Test Analysis & Design Deployment Project Management Environment Configuration & Change Mgmt Requirements PhasesDisciplines ElaborationTransitionInceptionConstruction Business Engineering Process automation, documentation automation Requirements mgmt Installation, defect tracking Test automation, defect tracking Editor-compiler-debugger Visual modeling Scheduling, process, measurement automation Change management, defect tracking
16
8-16 Culture Shifts Transitioning to modern software processes requires several culture shifts that are not always easy to achieve. There are several recurring themes of success that represent important culture shifts from conventional practices (see following slide).
17
8-17 Indications of Genuine Cultural Transition Lower level and mid-level managers are performers. Requirements and designs are fluid and tangible. Ambitious demonstrations are encouraged. Good and bad project performance is much more obvious earlier in the lifecycle. Recognition that early increments will be immature. Formality of artifacts is less important early, more important later. Real issues are surfaced and resolved systematically. Quality assurance is everyone’s job, not a separate discipline. Performance issues arise early in the lifecycle. Investments in automation are necessary. Good software organizations should be more profitable.
18
8-18 Tailoring Your Process In tailoring your process, the process framework is adapted to the needs and constraints of your project.
19
8-19 Discussion: Improving Your Project Performance Based on the material covered in the course, what will it take to institute iterative development in your project?
20
8-20 Module 8 Course Review The Ten Principles of Modern Software Management are very important. Specifically: Confronting risk early Using an architecture-first approach Using objective quality control and progress assessment Improving your process means you may need to change your tools and culture, and tailor your process.
21
8-21 End of Course Thank you for taking IBM Rational’s Mastering the Management of Iterative Development course. For other topics of interest, please see additional courses offered by IBM’s Rational University.
22
8-22
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.