Software Development Process and Management (or how to be officious and unpopular)

Slides:



Advertisements
Similar presentations
Prescriptive Process models
Advertisements

Configuration Management
2003 Mateusz Żochowski, Marcin Borzymek Software Life Cycle Analysis.
Course: e-Governance Project Lifecycle Day 1
1 Requirements and the Software Lifecycle The traditional software process models Waterfall model Spiral model The iterative approach Chapter 3.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
CSE 470 : Software Engineering The Software Process.
Chapter 7: Key Process Areas for Level 2: Repeatable - Arvind Kabir Yateesh.
Ahsan Kabir Project Manager Ahsan Kabir Project Manager ………………………….
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)
Financial Affairs Communication Plan. Meeting Attendance & FAR Member Guidelines   FAR members are responsible for disseminating information to the.
New Product and Service Development Children’s Cloth Company.
Project Cost Management Estimation Budget Cost Control
CS 5150 Software Engineering
Software Configuration Management
Chapter 15 Design, Coding, and Testing. Copyright © 2005 Pearson Addison-Wesley. All rights reserved Design Document The next step in the Software.
Computer Engineering 203 R Smith Requirements Management 6/ Requirements IEEE Standard Glossary A condition or capability needed by a user to solve.
SE 555 Software Requirements & Specification Requirements Management.
Project Process Discussion Adam D. Martinez Mgr, Market Ops Divisional Projects Organization ERCOT RMS Meeting May 10, 2006.
Development Processes and Product Planning
CSE Senior Design II Staged Delivery Instructor: Mike O’Dell.
Configuration Management
Planning. SDLC Planning Analysis Design Implementation.
Change Request Management
How the Change Control Process Affects Project Quality
Release & Deployment ITIL Version 3
Advanced Project Management Project Plan Templates
S/W Project Management
Chapter 2 The process Process, Methods, and Tools
Why use RequisitePro RequisitePro is a comprehensive tool that supports any of today's requirements management processes. The predominant requirements.
MSF Requirements Envisioning Phase Planning Phase.
Business Systems Development SDLC and introduction to the Microsoft Solutions Framework Team and Process Models.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Chapter 2 소프트웨어공학 Software Engineering 임현승 강원대학교
Project Tracking. Questions... Why should we track a project that is underway? What aspects of a project need tracking?
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 1 Software Processes (Chapter 3)
Introduction to Interactive Media The Interactive Media Development Process.
© 2006 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Gathering Network Requirements Designing and Supporting Computer Networks – Chapter.
Software Engineering Management Lecture 1 The Software Process.
Lecture 11 Managing Project Execution. Project Execution The phase of a project in which work towards direct achievement of the project’s objectives and.
ISM 5316 Week 3 Learning Objectives You should be able to: u Define and list issues and steps in Project Integration u List and describe the components.
Applied Software Project Management
1 Advanced Project Management Project Plan Templates Ghazala Amin.
An Introduction to Software Engineering
Configuration Management and Change Control Change is inevitable! So it has to be planned for and managed.
Software Life Cycle The software life cycle is the sequence of activities that occur during software development and maintenance.
Requirements Management with Use Cases Module 10: Requirements Across the Product Lifecycle Requirements Management with Use Cases Module 10: Requirements.
Chapter 6: THE EIGHT STEP PROCESS FOCUS: This chapter provides a description of the application of customer-driven project management.
Project management Topic 7 Controls. What is a control? Decision making activities – Planning – Monitor progress – Compare achievement with plan – Detect.
Initiation Project Management Minder Chen, Ph.D. CSU Channel Islands
SOFTWARE PROCESS IMPROVEMENT SHARATH CHANDAR REDDY ALETI CSC 532 TERM PAPER.
CSE Senior Design II Staged Delivery Instructor: Manfred Huber Partially adapted from Mike O’Dell.
ANALYSIS PHASE OF BUSINESS SYSTEM DEVELOPMENT METHODOLOGY.
Unit – I Presentation. Unit – 1 (Introduction to Software Project management) Definition:-  Software project management is the art and science of planning.
An Agile Requirements Approach 1. Step 1: Get Organized  Meet with your team and agree on the basic software processes you will employ.  Decide how.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Info-Tech Research Group1 Manage IT Budgets & Cost World Class Operations - Impact Workshop.
T Project Review MTS [PP] Iteration
Projects, Programmes and Best Practice. Geoff Reiss.
6/6/ SOFTWARE LIFE CYCLE OVERVIEW Professor Ron Kenett Tel Aviv University School of Engineering.
JRA1 Meeting – 09/02/ Software Configuration Management and Integration EGEE is proposed as a project funded by the European Union under contract.
1 Chapter 2 SW Process Models. 2 Objectives  Understand various process models  Understand the pros and cons of each model  Evaluate the applicability.
Software Development - Methodologies
Change Request Management
Software Development Life Cycle Waterfall Model
Software Configuration Management
Software Project Configuration Management
Managing the Project Lifecycle
V-Shaped SDLC Model Lecture-6.
Software Process Models
Presentation transcript:

Software Development Process and Management (or how to be officious and unpopular)

The Problem 300,000 projects 1/3 to 2/3 will exceed budget and schedule ½ will be cancelled More will be cancelled in other ways Declaring victory without completion Shelving without cancellation

Project Expectations The Customer’s Bill of Rights 1.To set project objectives and have the followed. 2.To know how long it will take and how much it will cost. 3.To decide which features are in which release. 4.The right to make changes in requirements and to know the cost of those changes. 5.To know the project’s status. 6.To have access to deliverables throughout the project.

Project Expectations The Developer’s Bill of Rights 1.To know the project’s objectives and priorities. 2.To know in detail the product to be produced. 3.Open access to those making decisions about functionality. 4.To approve effort and schedule estimates. 5.The right to revise effort and schedule estimates when requirements change. 6.To work in a distraction and interruption free environment.

The Process 1.All requirements in writing. 2.A systematic procedure for modifying requirements. 3.Frequent reviews of requirements, design and source code. 4.A quality assurance plan including defect tracking. 5.Revision of cost estimates with each milestone. 6.Automated source code control with versions and releases.

“Restrictive and Inefficient” 1.Process control adds unnecessary overhead. 2.We can correct mistakes later. 3.What processes we need, we will add when we need them. 4.Process limits programmer creativity. 5.Process reduces moral. “An investment made in process at the beginning of the project produces large returns later in the project” Steve McConnel, “The Software Project Survival Guide ”

Process Overhead 1.Process reduces time to market by a factor of 3 to Process reduces defect rate by 75 to 90 percent. (from figures compiled at Lockheed, NASA, Motorola, Xerox, Loral, and Hughes)

Sooner Is Better Than Later Poor work early in a project can severely impair the project downstream.

Morale 1.In only 20% of developers non-process oriented companies rated staff morale as “good”. 2.In process oriented companies 50% of programmers rated staff morale as “good” or “excellent”. Programmers feel best when they are most productive. Good communication fosters clear leadership and vision.

Uncertainty 1.Upstream decisions in a project tend to much more far reaching than those made downstream. Earlier decisions in a project will affect the decisions made later on. Software development is a process of refinement. The less uncertainty at the beginning, the clearer the project requirements, the more on target the early most important project development decisions will be.

Uncertainty 1.The project team can only make educated guesses about what decisions will be required later in the project. The less uncertainty at the beginning, the clearer the time and cost estimation will be.

Two Phased Funding To reduce project uncertainty, introduce two phased funding: An exploratory phase where the spec and 10 to 20 percent of the project is completed. A checkpoint review phase where management and the customer reviews the spec and funding request and gives a go/no go decision. The project continues.

Check Point Review At the check point review, the following materials are made available: Name of the project’s key decision maker. Vision statement and business case for project. Effort and schedule, goals and estimates. Top 10 risks list and quality assurance plan. User interface style guide and prototype. User manual requirements/specification. Detailed development plan.

Check Point Review Agenda The actual checkpoint review should focus on the following topics: Is the original product concept still viable? Is the original business case still viable considering more reliable cost and effort estimates? Can the major project risks be surmounted? Can the users and developers agree on the software and interface project plans and do they adequately define the project? Setting the true cost and schedule for developing the project.

Intellectual Phases In the conceptual phases of a software, the kind of work performed in each phase varies, but each kind of work occurs to some extent throughout the project

Intellectual Phases In the Discovery Phase we seek to understand the nature of the problem. In the Invention Phase we transform uncertainty into certainty. In the Implementation Phase we attempt to realize the potential that has been mapped out in Discovery and Invention. Project plans must allow discovery, invention, and implementation to coexist.

Staged Development The software team develops a software concept first, then generates and analyzes requirements, and then completes the architectural design. In staged development you are allowed to step back a phase when new requirements are discovered.

Staged Development Staged delivery emphasizes project planning and risk reduction. In each Implementation Phase, the design team does design, coding, debugging and testing, creating a potentially releasable product.

Staged Development Staged delivery reduces the administrative time developers spend creating progress reports. On the down side, staged releases creates more overhead in the effort spent in creating the releases. “Working Software is a more accurate status report than any paper report could ever be.”

Project Activity Effort is measured by line thickness. Notice that no activity ever completely goes away.

Change Control Change control allows all necessary changes to be made while ensuring that change impacts are understood project wide.

Change Control Procedure 1.Changes can be made at any time during initial development. 2.Once initial development is complete, changes must be submitted to a “Change Board” in the form of a “Change Proposal”. 3.The Change Board identifies all parties that might be affected by the change and allows them to review the proposal.

Change Control Procedure 4.Concerned parties assess the cost, both financial and in delay an submit their viewpoints to the board. 5.The board member combine their assessments and either veto the change or prioritize it. 6.The Change Board notifies all parties of the final status of the change. Change control increases accountability. Changes have to be justified before they are implemented. Change control also improves communication.

Revision Control 1.Involves project documents as well as code. 2.Documents are saved with project versions in the document library. In this way, project documentation can always be found. Version specific can always be found with its attending software.

Change and Revision Control People who are used to getting their way can still get their way with systematic change control, but they’ll have to do it through a process that emphasizes visible decision making and accountability.