Software Process Or how to make strength productive Tools Requirements Management Visual Modeling Test coverage and metrics Change Management Requirements.

Slides:



Advertisements
Similar presentations
Project Management Process. Managing the Information Systems Project Focus of project management To ensure that information system projects meet customer.
Advertisements

Automated Software Testing: Test Execution and Review Amritha Muralidharan (axm16u)
1 IBM Software Group ® PRJ270: Essentials of Rational Unified Process Module 1: Best Practices of Software Engineering.
Modeling the Process and Life Cycle CSCI 411 Advanced Database and Project Management Monday, February 2, 2015.
Ch 3 System Development Environment
Mastering Object-Oriented Analysis and Design with UML Module 1: Best Practices of Software Engineering Mastering Object-Oriented Analysis and Design with.
Chapter 2 The Analyst As Project Manager In Managing Information Systems 2.3.
30 Software Engineering and Best Practices Sources: Various. Rational Software Corporation slides, OOSE textbook slides, Per Kroll talk, How to Fail with.
Project Management.
Applied Software Project Management INTRODUCTION Applied Software Project Management 1 5/20/2015.
PRJ270: Essentials of Rational Unified Process
® IBM Software Group © 2006 IBM Corporation PRJ480 Mastering the Management of Iterative Development v2 Module 8: Post-Project Analysis.
Software Engineering and Best Practices Sources: Various. Rational Software Corporation slides, OOSE textbook slides, Per Kroll talk, How to Fail with.
Introduction to Software Engineering Dr. Basem Alkazemi
SE 555 Software Requirements & Specification Requirements Management.
Continuing Best Practices ► Slide information taken in large part from former Rational Corporation slides considerably modified and supplemented for classroom.
Applied Software Project Management 1 Introduction Dr. Mengxia Zhu Computer Science Department Southern Illinois University Carbondale.
Introduction To Rational Rose CS 501 Recitation Session November 1, 1999.
CHAPTER 9 DEVELOPING BUSINESS/IT STRATEGIES. IT Planning Planning an information system doesn’t start with bits, and bytes, or a Web site. It starts with.
Object-Oriented Analysis and Design Using the UML Module 1: Best Practices of Software Engineering.
Problem with Software Requirements are complex The client does not know the functional requirements in advance Requirements may be changing Technology.
Mastering OOA/OOD with UML. Contents Introduction Requirements Overview OOAOOD.
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.
Copyright 2002 Prentice-Hall, Inc. Chapter 3 Managing the Information Systems Project Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Test Organization and Management
Software Project Management
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
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
Dr. Ralph R. Young Director of Software Engineering Systems and Process Engineering Northrop Grumman Information Technology (703)
Test Roles and Independence of Testing Telerik Software Academy Software Quality Assurance.
Chapter 3: Software Maintenance Process Omar Meqdadi SE 3860 Lecture 3 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Identify steps for understanding and solving the
MCS 270 Spring 2014 Object-Oriented Software Development.
What is a Business Analyst? A Business Analyst is someone who works as a liaison among stakeholders in order to elicit, analyze, communicate and validate.
Systems Design Approaches The Waterfall vs. Iterative Methodologies.
Testing Workflow In the Unified Process and Agile/Scrum processes.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 4 Slide 1 Project management l Organising, planning and scheduling software projects.
1 SEG4910 – Projet génie logiciel en fin d’études / Software Engineering Capstone Project Review of Analysis and Iterative Development Timothy C. Lethbridge.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Object Oriented Software Development and UML
Software Product Line Material based on slides and chapter by Linda M. Northrop, SEI.
Chapter 6 CASE Tools Software Engineering Chapter 6-- CASE TOOLS
Chap 4. Project Management - Organising, planning and scheduling
K15T2-Team 5- PoD Team Software Project Management.
Software Design. A well-known phenomenon You will learn…. –Thinking "object oriented“ –Define requirements and analyze the problem domain. –Design of.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Rational.
Overview of RUP Lunch and Learn. Overview of RUP © 2008 Cardinal Solutions Group 2 Welcome  Introductions  What is your experience with RUP  What is.
Extreme Programming. Extreme Programming (XP) Formulated in 1999 by Kent Beck, Ward Cunningham and Ron Jeffries Agile software development methodology.
Rational Unified Process Fundamentals Best Practices of Software Engineering Rational Unified Process Fundamentals Best Practices of Software Engineering.
Software Testing Process
Unified Software Practices v5.5 Copyright © Rational Software, all rights reserved 1 Module 1: The Six Best Practices of Modern Software Engineering.
Software Engineering Lecture 8: Quality Assurance.
Rational Unified Process Fundamentals Module 1: Best Practices of Software Engineering Rational Unified Process Fundamentals Module 1: Best Practices of.
Lectures 2 & 3: Software Process Models Neelam Gupta.
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.
Software Lifecycle Models Place of Testing in Software Lifecycle 1.
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.
© Chinese University, CSE Dept. Software Engineering / Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________.
Software Development. The Software Life Cycle Encompasses all activities from initial analysis until obsolescence Analysis of problem or request Analysis.
Progile Automated Verification Engineer • PAVE •
Lecture 3 Prescriptive Process Models
Software Engineering and Best Practices
Software Engineering and Best Practices
Presentation transcript:

Software Process Or how to make strength productive Tools Requirements Management Visual Modeling Test coverage and metrics Change Management Requirements Management Visual Modeling Test coverage and metrics Change Management Manage Requirements Develop Iteratively Use Component Architectures Notation for Designing Verify Quality Control Changes Best Practices Best Practices Johannes Peter Wellisch, CERN/EP

The Problem Software in HEP: u Increasingly more mission critical u Needs to be of higher quality u Needs to be used while being developed But... “We estimate only 26% of software projects will succeed.” Standish Group CHAOS Report 1998

Symptoms of Software Problems  Misinterpreted needs  Hard to maintain and extend  Unable to deal with changing constraints  Modules don’t fit together  Poor design and software quality  Unacceptable performance  Discover design flaws too late  Can’t reconstruct who changed what, when, why  Unreliable build-and-release process

Root Causes of Software Problems  Insufficient requirements management  Ambiguous and imprecise communications  Brittle architectures  Overwhelming complexity  Undetected inconsistencies among requirements, designs, and code  Inadequate testing  Inadequate training  Subjective project status assessment  Delayed risk reduction due to waterfall development  Uncontrolled change propagation  Insufficient automation

Symptoms needs not met requirements churn modules don’t fit hard to maintain late discovery poor quality poor performance colliding developers build-and-release Root Causes insufficient requirements ambiguous communications brittle architectures overwhelming complexity undetected inconsistencies poor testing subjective assessment waterfall development uncontrolled change insufficient automation Treating Symptoms Doesn’t Solve the Problem Diagnose

Best Practices Addressing Root Causes Eliminates the Problems Develop Iteratively Manage Requirements Use Component Architectures Common notation Verify Quality Control Changes Best Practices Best Practices Root Causes insufficient requirements ambiguous communications brittle architectures overwhelming complexity undetected inconsistencies poor testing subjective assessment waterfall development uncontrolled change insufficient automation Symptoms needs not met requirements churn modules don’t fit hard to maintain late discovery poor quality poor performance colliding developers build-and-release

Software is a job for Teams Project Manager/ Physicist Release Engineer Analyst/ Physicist Developer/ Physicist Tester/ Physicist Challenges Large teams and time sharing Need for Specialization Distribution Rapid technology change Process Manager/ Physicist

Without continuous improvement and agreed-on processes, parallel development degrades to chaos! The Challenge:  Multiple developers  Multiple teams  Multiple sites  Multiple iterations  Multiple releases  Multiple projects  Multiple platforms

Software Processes are An organized and documented set of principles, methods and procedures that aim at increased quality and productivity of software development.

Processes Enable Teams:  Result:  On Time  Predictable Resources  We Get What We Need Project Manager Performance Engineer Release Engineer AnalystDeveloperTester Best Practices Best Practices Manage Requirements Develop iteratively Design Notation Use Component Architectures Monitor Quality Control Changes