® IBM Software Group © 2006 IBM Corporation PRJ480 Mastering the Management of Iterative Development v2 Module 8: Post-Project Analysis.

Slides:



Advertisements
Similar presentations
Prescriptive Process models
Advertisements

The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
CS3773 Software Engineering Lecture 01 Introduction.
Chapter 2 The Software Process
Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.
PRJ270: Essentials of Rational Unified Process
RUP And Agile Development Processes Walker Royce and Gary Pollice.
Software Engineering and Best Practices Sources: Various. Rational Software Corporation slides, OOSE textbook slides, Per Kroll talk, How to Fail with.
1 SOFTWARE LIFE-CYCLES Beyond the Waterfall. 2 Requirements System Design Detailed Design Implementation Installation & Testing Maintenance The WATERFALL.
Continuing Best Practices ► Slide information taken in large part from former Rational Corporation slides considerably modified and supplemented for classroom.
1 SOFTWARE PRODUCTION. 2 DEVELOPMENT Product Creation Means: Methods & Heuristics Measure of Success: Quality f(Fitness of Use) MANAGEMENT Efficient &
Mastering OOA/OOD with UML. Contents Introduction Requirements Overview OOAOOD.
The web application development process Basharat Mahmood, COMSATS Institute of Information Technology, Islamabad, Pakistan. 1.
211 Continuing Best Practices ► Slide information taken in large part from former Rational Corporation slides. Considerably modified and supplemented for.
Unified Software Practices v D Copyright  1998 Rational Software, all rights reserved 1 Best Practices of Software Engineering.
Chapter 6– Artifacts of the process
® IBM Software Group © 2006 IBM Corporation PRJ480 Mastering the Management of Iterative Development v2 Module 3: Phase Management - Inception.
Chapter : Software Process
Principles of Object Technology Module 1: Principles of Modeling.
Sixteenth Meeting 6:30 – 9:20 pm, Thursday, September 20, 2001 Review - Looking Forward (from Part IV, Chapter 15 of Royce’ book) Final Examination.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
The Rational Unified Process
Thirteenth Lecture Hour 8:30 – 9:20 am, Sunday, September 16 Software Management Disciplines Process Automation (from Part III, Chapter 12 of Royce’ book)
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
Software Development Best Practices
Fourteenth Lecture Hour 9:30 – 10:20 am, Sunday, September 16 Software Management Disciplines Project Control and Process Automation (from Part III, Chapter.
What is a life cycle model? Framework under which a software product is going to be developed. – Defines the phases that the product under development.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
Introduction to Software Engineering LECTURE 2 By Umm-e-Laila 1Compiled by: Umm-e-Laila.
Software Processes lecture 8. Topics covered Software process models Process iteration Process activities The Rational Unified Process Computer-aided.
Chapter 2 Process: A Generic View
Identify steps for understanding and solving the
Capability Maturity Models Software Engineering Institute (supported by DoD) The problems of software development are mainly caused by poor process management.
MCS 270 Spring 2014 Object-Oriented Software Development.
CPSC 2150 August 21, Chapter 1 Object Oriented Software Development This is an introductory course In this chapter we will look at 3 topics Challenges.
 CS 5380 Software Engineering Chapter 2 – Software Processes Chapter 2 Software Processes1.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Systems Design Approaches The Waterfall vs. Iterative Methodologies.
Software Engineering Principles Principles form the basis of methods, techniques, methodologies and tools Principles form the basis of methods, techniques,
Eighth Hour Lecture 7:30 – 8:20 pm, Thursday, September 13 Workflows of the Process (from Chapter 8 of Royce’ book)
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
1 SEG4910 – Projet génie logiciel en fin d’études / Software Engineering Capstone Project Review of Analysis and Iterative Development Timothy C. Lethbridge.
Rational Unified Process Fundamentals Module 5: Implementing RUP.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Software Process Or how to make strength productive Tools Requirements Management Visual Modeling Test coverage and metrics Change Management Requirements.
Process: A Generic View
J. Scott Hawker p. 1Some material © Rational Corp. Rational Unified Process Overview See and use the RUP Browser on lab machines.
Chapter 8 Workflows of the Process Taken from Walker Royce’s textbook – Software Project Management plus a number of Personal Comments.
PRJ566 Project Planning & Management Software Architecture.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Rational.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Overview of RUP Lunch and Learn. Overview of RUP © 2008 Cardinal Solutions Group 2 Welcome  Introductions  What is your experience with RUP  What is.
Software Engineering Introduction.
Rational Unified Process Fundamentals Best Practices of Software Engineering Rational Unified Process Fundamentals Best Practices of Software Engineering.
Lecturer: Prof. Dr. Ir. Riri Fitri Sari MM MSc EE Department University of Indonesia This slide was initially set by M. Salman, ST, MSc Session #1 – 4.
Welcome to Software Project Management. CONVENTIONAL SOFTWARE MANAGEMENT The BEST and WORST thing about software is its flexibility. 1.Software development.
Unified Software Practices v D Copyright  1998 Rational Software, all rights reserved 1 Practice 5: Verify Software Quality Control Changes Develop.
RUP RATIONAL UNIFIED PROCESS Behnam Akbari 06 Oct
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Rational.
26 Software Engineering and Best Practices Sources: Various. Rational Software Corporation slides, OOSE textbook slides, Per Kroll talk, How to Fail with.
LECTURE 5 Nangwonvuma M/ Byansi D. Components, interfaces and integration Infrastructure, Middleware and Platforms Techniques – Data warehouses, extending.
RATIONAL UNIFIED PROCESS PROCESS FRAMEWORK OVERVIEW.
Software Engineering and Best Practices
Unified Process Source & Courtesy: Jing Zou.
Introduction to Software Engineering
Rational Unified Process
Chapter 2 – Software Processes
Presentation transcript:

® IBM Software Group © 2006 IBM Corporation PRJ480 Mastering the Management of Iterative Development v2 Module 8: Post-Project Analysis

8-2 Module 8 Objectives  Considerations in the analysis of a completed iterative project  Aspects of project environment improvements  General review

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.

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

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

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.

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 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?

8-9 Aspects of Improvement The following section describes how to make improvements in:  Tools  Culture  Process

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.

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

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

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

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

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

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).

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.

8-18 Tailoring Your Process  In tailoring your process, the process framework is adapted to the needs and constraints of your project.

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?

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.

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.

8-22