Introduction to Software Engineering: Project Management ( Highlights )



Similar documents
Introduction to Software Engineering: Overview and Methodologies

The Software Life Cycle. CSE 308: Software Engineering

Software Engineering

What is a life cycle model?

Software Development Life Cycle Models - Process Models. Week 2, Session 1

Classical Software Life Cycle Models

System development lifecycle waterfall model

Life Cycle Models. V. Paúl Pauca. CSC Fall Department of Computer Science Wake Forest University. Object Oriented Software Engineering

(Refer Slide Time: 01:52)

Introduction to Software Project Management. CITS3220 Software Requirements & Project Management

Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution

AGILE vs. WATERFALL METHODOLOGIES

How To Understand The Software Process

Agile Methodologies XP and Scrum

Software Development Process Models and their Impacts on Requirements Engineering Organizational Requirements Engineering

Introduction to Agile and Scrum

Agile Development Overview

Surveying and evaluating tools for managing processes for software intensive systems

software studio software development processes Daniel Jackson

Software Development Life Cycle at SSPL. An Summary of Methodologies We Offer

Agile Processes and Methodologies: A Conceptual Study

6. Software Lifecycle Models. A software lifecycle model is a standardised format for planning organising, and running a new development project.

In today s acquisition environment,

Software Development Process

CSE 435 Software Engineering. Sept 16, 2015

Software Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University

Frank Tsui. Orlando Karam. Barbara Bernal. State. University. Polytechnic. Ail of Southern JONES & BARTLETT LEARNING

COMP 354 Introduction to Software Engineering

Web Application Development Process

Software Development Life Cycle (SDLC)

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW

Agile in a Safety Critical world

Work Breakdown Structure (WBS) Emanuele Della Valle

Agile Software Engineering Practice to Improve Project Success

Agile and Secure: Can We Be Both?

Software Development Methodologies

Agile Metrics. It s Not All That Complicated

PMBOK? You Can Have Both! June 10, Presented by:

SE464/CS446/ECE452 Software Life-Cycle and Process Models. Instructor: Krzysztof Czarnecki

Introduction to Agile Software Development Process. Software Development Life Cycles

Scheduling Fundamentals, Techniques, Optimization Emanuele Della Valle, Lecturer: Dario Cerizza

Karunya University Dept. of Information Technology

Software Life Cycles and Configuration Management

Hamid Faridani March 2011

CS4507 Advanced Software Engineering

Software Development Process and Activities. CS 490MT/5555, Fall 2015, Yongjie Zheng

CS4507 Advanced Software Engineering

Génie Logiciel et Gestion de Projets. Software Processes Focus on Extreme Programming

SWEBOK Certification Program. Software Engineering Management

Contents. 3 Agile Modelling Introduction Modelling Misconceptions 31

SOFTWARE PROCESS MODELS

When is Agile the Best Project Management Method? Lana Tylka

How To Manage Project Management

Introduction to Agile Software Development

serena.com An Introduction to Agile Software Development

A Contrast and Comparison of Modern Software Process Models

Agile Projects 7. Agile Project Management 21

Software Life Cycle Processes

Agile Software Development Methodologies and Its Quality Assurance

Agile Practitioner: PMI-ACP and ScrumMaster Aligned

A Viable Systems Engineering Approach. Presented by: Dick Carlson

Comparing Agile Software Processes Based on the Software Development Project Requirements

Comparing Plan-Driven and Agile Project Approaches

Génie Logiciel et Gestion de Projets. Software Processes Focus on Extreme Programming

Project Management in Software: Origin of Agile

Software Lifecycles Models

EFFECTIVE SOFTWARE PROJECT MANAGEMENT

Supporting Workflow Overview. CSC532 Fall06

CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)

Driving Quality Improvement and Reducing Technical Debt with the Definition of Done

The most suitable system methodology for the proposed system is drawn out.

Agile and Secure Can We Be Both? Chicago OWASP. June 20 th, 2007

Product Development: From Conception to Execution. Slide 1

Course Title: Managing the Agile Product Development Life Cycle

Principles of Software Engineering: Software Methodologies. COSI 120b, Spring 2005

Certified Software Quality Engineer (CSQE) Body of Knowledge

Process Methodology. Wegmans Deli Kiosk. for. Version 1.0. Prepared by DELI-cious Developers. Rochester Institute of Technology

Agile development of safety-critical software while meetings standards' requirements

IV. Software Lifecycles

Agile Software Development. Mohsen Afsharchi

Rapid software development. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 17 Slide 1

Alan Dennis, Barbara Haley Wixom, and Roberta Roth John Wiley & Sons, Inc. Slides by Candace S. Garrod Red Rocks Community College 3-1

In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is:

LEAN AGILE POCKET GUIDE

International Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research)

توصيف مقرر دراسي Description Course

TSG Quick Reference Guide to Agile Development & Testing Enabling Successful Business Outcomes

A Comparison between Five Models of Software Engineering

AGILE METHODOLOGY IN SOFTWARE DEVELOPMENT

Singhania University, Jhunjhunu, Rajasthan, India. 2 Department of Information Technology King Abdul Aziz University, Jeddah, Saudi Arabia

MnDOT Project Management Office Presents: Schedule Updates. Presenter: Eric Costantino Senior Schedule Consultant DRMcNatty & Associates, Inc.

Development Methodologies. Types of Methodologies. Example Methodologies. Dr. James A. Bednar. Dr. David Robertson

Software Engineering I (02161)

Transcription:

Introduction to Software Engineering: Project Management ( Highlights ) John T. Bell Department of Computer Science University of Illinois, Chicago Based on materials from chapters 14, 15, and 16 of Object Oriented Software Engineering by Bruegge & DuToit 3e. What would you do if they put you in charge? 2 1

Project Management Tasks during the course of a typical project Identify Project Goals 3 A Work Breakdown Structure, WBS, divides work into manageable pieces. Q: How do you eat an elephant? A: One bite at a time! 4 2

Planning Temporal Dependencies 5 Critical Path Analysis Source: wikipedia.org/critical_path_method (10?) Drag = min( duration, parallel floats ) for critical items only. "SimpleAONwDrag3" by Nuggetkiwi - Own work. Licensed under CC BY-SA 3.0 via Wikimedia Commons 6 3

Scheduling Activities with Gantt Charts Source: wikipedia.org/gantt_chart 7 Gantt Charts in MS Project Source: wikipedia.org/gantt_chart 8 4

Allocating Personnel with a Skill Matrix Also useful for identifying skill shortages, and for planning long-term skill development. 9 Earned Value as a Classical Metric 10 5

Introduction to Software Engineering: Software Life Cycle Modeling John T. Bell Department of Computer Science University of Illinois, Chicago Based on Chapter 15 of Bruegge & DuToit 3e. Capability Maturity Model, CMM 1. Initial / Ad Hoc Everyone does their own thing. Sometimes it works out really well. 2. Repeatable Everyone does the same thing, the same way every time, thru habit/inertia. 3. Defined There exists documentation on how to do things, and people follow it. 4. Managed Someone monitors the process, to ensure quality & standards conformance. 5. Improving There exists a process improvement program, with monitoring, feedback, & changes. 12 6

IEEE Standard 1074 Defines Process Groups, Processes, and Activities: 13 Life Cycle Models 1074 Processes 14 7

Sequential Activity Models Waterfall V 15 Iterative Activity Boehm s Spiral 16 8

Unified Software Development Process ( a.k.a. the Unified Process ) 17 One Sample Cycle of the Unified Process 18 9

Entity-Centered Models In a waterfall approach all issues in one category would need to be closed before any in the next category could be opened. Other approaches can have open issues in multiple categories concurrently. 19 A Final Word on Models: No Real Process is Ideal or Pure Models are useful for studying and discussing ideal processes, but real processes in practice are always going to be some sort of a hybrid mix, drawing ideas from different ideals and combining them into something appropriate for the current project. 20 10

Introduction to Software Engineering: Methodologies John T. Bell Department of Computer Science University of Illinois, Chicago Based on materials from chapter 16 of Bruegge & DuToit 3e. Definition of Methodology A software engineering methodology is a collection of methods and tools for developing and managing a software system to achieve a specified goal in a given environment. It specifies when methods or tools should be used and what to do when unexpected events occur occur. - Bruegge & DuToit, 3 rd Edition, Chapter 16. 22 11

The project environment can influence the selection of SW methodology Participant s expertise. End user access. Technological climate. Geographical distribution. Project duration vs. rate of change. Client type see next slide. 23 Types of Client, categorized by decision power and domain knowledge Local king client Has knowledge and authority. Proxy client Has knowledge but no authority. Pseudo client Has authority but no knowledge. No client No one with authority or knowledge. 24 12

Issues to consider when selecting a methodology How much planning should be done? How much reuse to incorporate in design? ( and in what form(s) and to what detail? ) How much modeling to do before coding? How much detail for the process definition? How much control and monitoring? When should project goals be redefined? 25 Three Methodologies Royce s Methodology, based on the Unified Process. Extreme Programming, XP Rugby ( Scrum ) 26 13

Key Principles of Royce s Methodology Architecture-first approach. Confront risks early, based on iterations of the Unified Process model. Minimize lines of human-generated code. Change management environment, w. baselines. Objective quality control, w. automated metrics. Visual modeling languages, e.g. UML 27 Summary of Royce s Methodology 28 14

Key Principles of Extreme Programming Rapid Feedback Test and confront issues early. Incremental Change One step at a time. Simplicity Design focuses on current requirement(s) only, w.o. considering the future. Embracing Change Normal, not an exception. Quality Work Do excellent work the first time, instead of going back and fixing things later. 29 Summary of Extreme Programming 30 15

Principles of the Agile Manifesto ( Shared by XP, Scrum, & other Agiles ) The Agile Manifesto values: Individuals and interactions over processes and tools. Working software over comprehensive documentation. Customer collaboration over contract negotiation. Responding to change over following a plan. Both sides have value, but the former moreso. 31 Summary of Rugby Methods 32 16