Chapter 3 – Improving Software Economics

Slides:



Advertisements
Similar presentations
Ninth Lecture Hour 8:30 – 9:20 pm, Thursday, September 13
Advertisements

Sixth Hour Lecture 10:30 – 11:20 am, September 9 Framework for a Software Management Process – Artifacts of the Process (Part II, Chapter 6 of Royce’ book)
® IBM Software Group © 2006 IBM Corporation PRJ480 Mastering the Management of Iterative Development v2 Module 4: Phase Management - Elaboration.
Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.
W5HH Principle As applied to Software Projects
Rational Unified Process
1 / 24 CS 425/625 Software Engineering Software Evolution Based on Chapter 21 of the textbook [SE-8] Ian Sommerville, Software Engineering, 8 th Ed., Addison-Wesley,
Applied Software Project Management 1 Introduction Dr. Mengxia Zhu Computer Science Department Southern Illinois University Carbondale.
Page 1 R Risk-Driven and Iterative Development. Page 2 R Copyright © 1997 by Rational Software Corporation What the Iterative Life Cycle Is Not It is.
Chapter 6– Artifacts of the process
© 2005 Prentice Hall14-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
S/W Project Management
Sixteenth Meeting 6:30 – 9:20 pm, Thursday, September 20, 2001 Review - Looking Forward (from Part IV, Chapter 15 of Royce’ book) Final Examination.
Software Project Management Lecture # 8. Outline Chapter 25 – Risk Management  What is Risk Management  Risk Management Strategies  Software Risks.
S/W Project Management Software Process Models. Objectives To understand  Software process and process models, including the main characteristics of.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
RUP Fundamentals - Instructor Notes
Developing an IS/IT Strategy
Software Development *Life-Cycle Phases* Compiled by: Dharya Dharya Daisy Daisy
Chapter 2 The process Process, Methods, and Tools
Thirteenth Lecture Hour 8:30 – 9:20 am, Sunday, September 16 Software Management Disciplines Process Automation (from Part III, Chapter 12 of Royce’ book)
Rational Unified Process Fundamentals Module 4: Disciplines II.
The Challenge of IT-Business Alignment
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.
Industry SDLCs and Business Climate. Justin Kalicharan Credentials Director and Senior Technology Officer Over 14 years of coding experience in various.
Role-Based Guide to the RUP Architect. 2 Mission of an Architect A software architect leads and coordinates technical activities and artifacts throughout.
221 Chapter 3 – Improving Software Economics Part 2 of 2.
Third Hour Lecture 10:30 – 11:20 am September 8 Improving Software Economics (continuing from Chapter 3 of Royce’ book)
Chapter – 9 Checkpoints of the process
Systems Design Approaches The Waterfall vs. Iterative Methodologies.
1 Software Process Models-ii Presented By; Mehwish Shafiq.
Eleventh Lecture Hour 9:30 – 10:20 am, Saturday, September 16 Software Management Disciplines Iterative Process Planning (from Part III, Chapter 10 of.
Eighth Hour Lecture 7:30 – 8:20 pm, Thursday, September 13 Workflows of the Process (from Chapter 8 of Royce’ book)
CHECKPOINTS OF THE PROCESS Three sequences of project checkpoints are used to synchronize stakeholder expectations throughout the lifecycle: 1)Major milestones,
Review of Software Process Models Review Class 1 Software Process Models CEN 4021 Class 2 – 01/12.
Fifth Lecture Hour 9:30 – 10:20 am, September 9, 2001 Framework for a Software Management Process – Life Cycle Phases (Part II, Chapter 5 of Royce’ book)
Software Testing and Maintenance 1 Code Review  Introduction  How to Conduct Code Review  Practical Tips  Tool Support  Summary.
Software Product Line Material based on slides and chapter by Linda M. Northrop, SEI.
CEN5011, Fall CEN5011 Software Engineering Dr. Yi Deng ECS359, (305)
Where We Are Now 14–2. Where We Are Now 14–2 Major Tasks of Project Closure Evaluate if the project delivered the expected benefits to all stakeholders.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
Software Project Management (SEWPZG622) BITS-WIPRO Collaborative Programme: MS in Software Engineering SECOND SEMESTER /1/ "The content of this.
Overview of RUP Lunch and Learn. Overview of RUP © 2008 Cardinal Solutions Group 2 Welcome  Introductions  What is your experience with RUP  What is.
An organizational structure is a mostly hierarchical concept of subordination of entities that collaborate and contribute to serve one common aim... Organizational.
Welcome to Software Project Management. CONVENTIONAL SOFTWARE MANAGEMENT The BEST and WORST thing about software is its flexibility. 1.Software development.
Establishing (or Enhancing) PMO Effectiveness Nicolle Goldman, PMP March 28, 2007.
Phase-1: Prepare for the Change Why stepping back and preparing for the change is so important to successful adoption: Uniform and effective change adoption.
Rekayasa Perangkat Lunak Part-6
Process 4 Hours.
Methodologies and Algorithms
Software Risk Management
Preface to the special issue on context-aware recommender systems
Unified Process Source & Courtesy: Jing Zou.
Chapter 2 – Evolution of Software Economics
Software Processes.
Requirements and the Software Lifecycle
Project Audit and Closure
Chapter 2 Software Processes
Chapter 2 – Software Processes
Performance Management
Software engineering -1
Stumpf and Teague Object-Oriented Systems Analysis and Design with UML
ARB Schedule Locations
Software Engineering I
Stumpf and Teague Object-Oriented Systems Analysis and Design with UML
THE OLD WAY AND THE NEW Conventional software engineering has numerous well-established principles. Many are still valid; others are obsolete. A modern.
Where We Are Now 14–2. Where We Are Now 14–2 Major Tasks of Project Closure Evaluate if the project delivered the expected benefits to all stakeholders.
Project Audit and Closure
Presentation transcript:

Chapter 3 – Improving Software Economics Part 2 of 2 22

Outline 3. Improving Team Effectiveness (5) 4. Improving Automation through Software Economics (3) 5. Achieving Required Quality (5) 6. Peer Inspections: A Pragmatic View (7) 22

3. Improving Team Effectiveness “It has long been understood that differences in personnel account for the greatest swings in productivity.” Great teams – all stars – not too good. Also impossible to manage. Won’t happen. Best pragmatic approach: Balance – highly talented people in key positions; less talented in other positions Coverage – strong skill people in key positions. 22

3. Improving Team Effectiveness - continued Managing the team is the key. A well-managed team can make up for other shortcomings. Boehm’s recommendations: 1.  Principle of top talent: use better and fewer people. Proper number of people is critical. 2.  Principle of job matching (skills and motivations) Not uncommon in development teams for individuals to have a vision of promotion from programmer to project manager or to architect or to designer… Skill sets are NOT the same and many projects have gone amuck due to poor management! Great programmers are not necessarily great managers and conversely. 22

3. Improving Team Effectiveness - continued 3.  Principle of Career Progression – Organization training will pay great dividends Posting for new jobs?  What are the prime motivators and motivation? 4.  Principle of team balance – dimensions; balance of: raw skills (intelligence, objectivity, creativity, analytical thinking…) psychological makeup (leaders and followers; risk takers and conservatives; visionaries and nitpickers) 22

3. Improving Team Effectiveness - continued  5. Principle of Phase-out Get rid of the dead wood! Disrupt team balance; horribly de-motivating. Get rid of this person! 22

3. Improving Team Effectiveness – continued (last) Overall team guidance: Essential ingredients: a culture of teamwork vice individual accomplishment.  Teamwork and balance!!! Top talent and phase-out are secondary Obsession with career progression will take care of itself in the industry… tertiary Strong, ‘aware’ leadership is essential. Keeping team together; recognizing individual needs and excellent performers; nurturing newbees, considering diverse opinions, facilitating contributions from everyone; make them feel important … all are essential for an effective project manager. 22

4. Improving Automation Through Software Environments (1 of 3) The environment (tools) can dramatically impact productivity and effort – and thus schedule and cost. Huge number of available tools in marketplace for supporting a process. Careful selection of the right combinations… Recognize that these tools are the primary delivery vehicle for process automation.  Mature software processes suggest that highly integrated tools and environment are necessary to facilitate the management of the process. 22

4. Improving Automation Through Software Environments – cont. (2 of 3) Definition of the development and maintenance environment is a first-class artifact of a successful process. Robust, integrated development! Hire good people and equip them with modern tools.  A prime motivator: learning tools and environments of our profession! Yet today’s environments still fall short of what they can be. 22

4. Improving Automation Through Software Environments – cont. (3 of 3) Be careful of tool vendor claims. (Can prove anything with statistics!)  Remember, the tools must be integrated into the development environment.  Authors suggests that in his experience, the combined effect of all tools is less than 40% (5% for an individual tool) and most benefits are NOT realized without a corresponding change in the process that will require their use. But this is substantial!! 22

Achieving Required Quality (1 of 5) Many of the items we have discussed not only favorably affect the development process but impact overall quality. This table represents General Quality improvements realizable with a modern practice: 22

Table 3-5. General Quality Improvements with a Modern Process Quality Driver Conventional Process Modern Iterative Processes Requirements misunderstanding Discovered late  Resolved early Development risk Unknown until late  Understood and resolved early Commercial components Mostly unavailable Still a quality driver, but tradeoffs must be resolved early in the life cycle Change management Late in life cycle; chaotic and malignant  Early in life cycle; straight-forward and benign Design errors Automation Mostly error-prone manual procedures Mostly automated, error-free evolution of artifacts Resource adequacy Unpredictable Predictable Schedules Over-constrained Tunable to quality, performance, and technology Target performance Paper-based analysis or separate simulation Executing prototypes, early performance feedback, quantitative understanding Software process rigor Document-based  managed, measured, and tool-supported 22

5. Achieving Required Quality – continued (3 of5 ) Additional overall quality factors:  1. Focus on requirements driving the process – namely: address critical use cases early and traceability late in the life cycle. Balance requirements, development and plan evolution 2. Use metrics / indicators to measure progress and quality of the architecture as it evolves from a high-level prototype to a fully compliant product the architecture drives much of the process! How do you think we measure this progress?? 22

5. Achieving Required Quality – continued (4 of 5) Additional overall quality factors 3.  Provide integrated life-cycle environments that support early and continuous configuration control, change management, rigorous design methods, document automation, and regression test automation 4.  Use visual modeling and HLL that support architectural control, abstraction, design reuse… 5. Continually look into performance issues. Require demonstration-based evaluations. 22

5. Achieving Required Quality – continued (last) Performance issues: Be careful with commercial components and custom-built components Assessment of performance can degrade as we progress through our process. Planned, managed demonstration-based assessments – the way to go. Particularly true to demonstrate EARLY architectural flaws or weaknesses in commercial components where there is time to make adjustments… 22

6. Peer Inspections: A Pragmatic View An old way ‘asserted’ to yield super results. -> Just don’t provide the return desired in today’s complex systems.  Good in some cases such as to nurture less-experienced team members  Catch the real bad blunders early. Inspections can be applied at various times during a cycle. Consider: 22

6. Peer Inspections: A Pragmatic View – continued (2 of 7)  1. INSPECTIONS FOR: Transitioning engineering info from one artifact set to another, thereby assessing the consistency, feasibility, understandability, and technology constraints inherent in the engineering artifacts. Example: analysis classes will morph into design classes which will typically become part of packages or components. 22

6. Peer Inspections: A Pragmatic View – (3 of 7)  2. INSPECTIONS: Major milestone demonstrations Force artifact assessment against tangible criteria for relevant use cases… 3. INSPECTIONS using Environment tools 4. Life-cycle testing – provides insight into requirements compliance… 5. INSPECTIONS: Study Change Management metrics – must manage Change and how change requests might impact both quality and progress goals. 22

6. Peer Inspections: A Pragmatic View – (4 of 7) Overall:  Ensure that critical components are really looked at by the primary stakeholders. Cannot really look at all artifacts. Inspecting ‘too many artifacts’ will not be cost-effective – on the contrary! Many artifacts don’t deserve / merit close scrutiny – and most inspections tend to be quite superficial., 22

6. Peer Inspections: A Pragmatic View – (5 of 7) Love this: Many highly complex applications have demanding dimensions of complexity which include innumerable components, concurrent execution, distributed resources, and more. Most inspections thus end up looking at style and ‘first-order’ semantic issues rather than real issues of substance. Discuss technical / managerial reviews 22

6. Peer Inspections: A Pragmatic View – (6 of 7) Most major difficulties such as performance, concurrency, distribution, etc. are discovered through activities such as: Analysis, prototyping, and experimentation Constructing design models (can see requirements missing; can see architectural constraints unaccounted…) Committing the current state of the design to an executable implementation Demonstrating the current implementation strengths and weaknesses in the context of critical subsets of use cases and scenarios Incorporating lessons learned back into the models, use cases, implementations, and plans. 22

6. Peer Inspections: A Pragmatic View - last Remember: the RUP is (among other things) architecture-centric, use-case driven, iterative development process. Iterations are planned to address (decreasing) priorities: risk and core functionalities as identified in Use Cases and Supplementary Specifications (=SRS) This iterative process evolves the architecture through the phases especially and mainly elaboration. Each phase has milestones and focus on inspecting critically-important issues. Overall there is very questionable ROI on meetings, inspections, or documents. Quality assurance is every stakeholder’s responsibility. 22