CS 325: Software Engineering

Slides:



Advertisements
Similar presentations
Chapter 10 Schedule Your Schedule. Copyright 2004 by Pearson Education, Inc. Identifying And Scheduling Tasks The schedule from the Software Development.
Advertisements

Project Closure Report Basker George. Project Closure When does a project end? Does it end when the software has been delivered to customer & acceptance-tested?
CS 325: Software Engineering April 7, 2015 Software Configuration Management Task Scheduling & Prioritization Reporting Project Progress Configuration.
Project Plans CSCI102 - Systems ITCS905 - Systems MCS Systems.
SE 555 Software Requirements & Specification Requirements Management.
Project Management and MS Project. The project management triangle: Time Resources Scope.
Stoimen Stoimenov QA Engineer QA Engineer SitefinityLeads,SitefinityTeam6 Telerik QA Academy Telerik QA Academy.
LSU 10/09/2007Project Schedule1 The Project Schedule Project Management Unit #4.
Configuration Management
Source Control Repositories for Enabling Team Working Svetlin Nakov Telerik Corporation
Planning. SDLC Planning Analysis Design Implementation.
Software Configuration Management
Project Management and Scheduling
Release & Deployment ITIL Version 3
Configuration Management Process and Environment MACS Review 1 February 5th, 2010 Roland Moser PR a-RMO, February 5 th, 2010 R. Moser 1 R. Gutleber.
Version control Using Git 1Version control, using Git.
Chapter - 2 What is “GIT” VERSION CONTROL AND GIT BASICS.
S/W Project Management
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights.
Project Management Chapter 3. Objectives Become familiar with estimation. Be able to create a project workplan. Understand why project teams use timeboxing.
Software Testing Life Cycle
BSBPMG503A Manage Project Time Manage Project Time Unit Guide Diploma of Project Management Qualification Code BSB51507 Unit Code BSBPMG503A.
Project Tracking. Questions... Why should we track a project that is underway? What aspects of a project need tracking?
Version control Using Git Version control, using Git1.
…using Git/Tortoise Git
Object-Oriented Analysis & Design Subversion. Contents  Configuration management  The repository  Versioning  Tags  Branches  Subversion 2.
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.
Configuration Management and Change Control Change is inevitable! So it has to be planned for and managed.
CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –
Software Quality Assurance SOFTWARE DEFECT. Defect Repair Defect Repair is a process of repairing the defective part or replacing it, as needed. For example,
Unit – I Presentation. Unit – 1 (Introduction to Software Project management) Definition:-  Software project management is the art and science of planning.
Managing Multiple Projects Steve Westerman California Department of Motor Vehicles Steve Young Mathtech, Inc.
The Project Management Process Groups
Source Control Repositories for Enabling Team Working Doncho Minkov Telerik Corporation
MS Office Project Portfolio Server Overview of Project Server Gateway.
Prof. Shrikant M. Harle.  The Project Life Cycle refers to a logical sequence of activities to accomplish the project’s goals or objectives.  Regardless.
Chapter 25 – Configuration Management 1Chapter 25 Configuration management.
1. WELCOME Project Management Cycle (P.M.C.) What is a project? : What is project management?: Project management life cycle : Phase 1 st : Phase 2 nd.
A Brief intro to Project Management What can it do for you
Architecture Review 10/11/2004
Continuous Improvement Project (A Guideline For Sponsors)
Software Project Configuration Management
Software Quality Control and Quality Assurance: Introduction
Chapter 1 The Systems Development Environment
Project Management Chapter 3.
Game Design, Development, and Technology
School of Business Administration
Version control, using Git
Computer Aided Software Engineering (CASE)
Software Engineering (CSI 321)
Software Configuration Management
Chapter 1 The Systems Development Environment
Maintaining software solutions
Concurrent Version Control
Configuration Management (managing change)
Chapter 3: The Project Management Process Groups: A Case Study
Chapter 1 The Systems Development Environment
Applied Software Implementation & Testing
Introduction to Configuration Management
The Two Most Common Types of Contemporary Planning Techniques
Automated Testing and Integration with CI Tool
Chapter 13 Quality Management
PMI-SVC Scheduling Forum
Chapter 13 Finalizing Design Specifications
The Two Most Common Types of Contemporary Planning Techniques
CAD DESK PRIMAVERA PRESENTATION.
Chapter 1 The Systems Development Environment
Time Scheduling and Project management
Presentation transcript:

CS 325: Software Engineering Lesson Twenty-Two Software Configuration Management Task Scheduling & Prioritization Reporting Project Progress Configuration Management

Task Scheduling A general approach to scheduling the tasks for a software project: Schedule up-front tasks (installation, training) Determine dependencies between analysis, design, implementation, and testing Schedule forwards (plan the natural sequence of development) and backwards (work from goals back to how to achieve them) Assign tasks to team members, weighing both skills & motivations and risks & rewards Formulate backup plans based upon perceived risks and their anticipated impact CS 325 Lesson Twenty-Two Software Configuration Management Page 221

Task Prioritization As the project exits the planning stage and enters the implementation stage, tasks must be prioritized Traditional Pareto Prioritization Prioritize the project tasks with the notion that priorities shall remain basically unchanged Agile prioritization Revisit prioritization often, modifying as necessary CS 325 Lesson Twenty-Two Software Configuration Management Page 222

Task Prioritization Recognize that some project tasks are required, while others are discretionary. In a video game, GUI design would be considered essential, while completely accurate computation (e.g., collision detection) might be considered discretionary. In an industrial CAD/CAM system, however, accurate collision detection would be required, while an optimally designed GUI might be considered discretionary. CS 325 Lesson Twenty-Two Software Configuration Management Page 223

Reporting Project Progress: Milestone Charts Milestone charts are an effective way to present progress to team members and stakeholders at monthly meetings. Key Project Milestones milestone original date revised date actual date This Month’s Milestones (Accomplished) milestone original date revised date actual date This Month’s Milestones (Not Accomplished) milestone original date revised date actual date CS 325 Lesson Twenty-Two Software Configuration Management Page 224

Total Task Time Estimate Reporting Project Progress: Project Scoreboard This detailed documentation is an effective way to dynamically organize information about progress during a team meeting. Project Role Tasks Under Way Completed Tasks Total Task Time Estimate Measurements Dependencies Commitments Risks Comments It frequently reveals potential problems and their solutions, as well as providing focus and perspective to the team members. CS 325 Lesson Twenty-Two Software Configuration Management Page 225

Configuration Management With multiple developers on a software project, formal revision control becomes essential. Subversion is a commercial revision control system that tracks integrated “trunk” systems, currently developing “branch” systems”, and milestone snapshots known as “tag” systems. CS 325 Lesson Twenty-Two Software Configuration Management Page 226

Distributed Repository Most version control systems (like Subversion) store information as a set of files and the changes made to each file over time. Distributed version control systems, like Git, think of data more like a set of snapshots of a miniature filesystem. Every time the state of your project is saved, Git takes a picture of what all files look like at that moment and stores a reference to that snapshot. To be efficient, if files have not changed, Git doesn’t store the file again, just a link to the previous identical file it has already stored. CS 325 Lesson Twenty-Two Software Configuration Management Page 227

Check-Out/Check-In Focusing on version support for individual files, this type of configuration management system consists of two relatively independent tools. The repository tool stores versions of files and provides mechanisms for controlling the creation of new versions. The build tool automates the generation of derived files (e.g., object code, linked executables). CS 325 Lesson Twenty-Two Software Configuration Management Page 228

Composition Developers repeatedly compose a system from its components and by selecting the desired version for each component. By retaining multiple versions of individual software components, this configuration management model facilitates trying new approaches and reverting to old ones when necessary. CS 325 Lesson Twenty-Two Software Configuration Management Page 229

Change Set Another approach to configuration management is to keep track of the set of changes that have been made from configuration to configuration. By focusing on the change sets instead of the overall components, developers are often better able to determine logical dependencies within the system, as well as to ensure the system’s stability. CS 325 Lesson Twenty-Two Software Configuration Management Page 230