Download presentation
Presentation is loading. Please wait.
Published byNigel Charles Modified over 9 years ago
2
CS 325: Software Engineering April 7, 2015 Software Configuration Management Task Scheduling & Prioritization Reporting Project Progress Configuration Management
3
CS 325 April 7, 2015 Page 220 Task Scheduling A general approach to scheduling the tasks for a software project: 1.Schedule up-front tasks (installation, training) 2.Determine dependencies between analysis, design, implementation, and testing 3.Schedule forwards (plan the natural sequence of development) and backwards (work from goals back to how to achieve them) 4.Assign tasks to team members, weighing both skills & motivations and risks & rewards 5.Formulate backup plans based upon perceived risks and their anticipated impact
4
CS 325 April 7, 2015 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
5
CS 325 April 7, 2015 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.
6
CS 325 April 7, 2015 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) This Month’s Milestones (Not Accomplished)milestone original date revised date actual date milestone original date revised date actual date
7
CS 325 April 7, 2015 Page 224 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 MeasurementsDependenciesCommitmentsRisksComments It frequently reveals potential problems and their solutions, as well as providing focus and perspective to the team members.
8
CS 325 April 7, 2015 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.
9
CS 325 April 7, 2015 Page 226 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).
10
CS 325 April 7, 2015 Page 227 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.
11
CS 325 April 7, 2015 Page 228 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.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.