MSc:ManaginSoftwareDevelopment Block2

From IU
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Managing Software Development. Block 2

  • Course name: Managing Software Development
  • Course number: SE-04

Course characteristics

Key concepts of the class

  • Requirements management, Risk Management
  • Work breakdown
  • Estimating the work
  • Planning and Controlling

What is the purpose of this course?

Large scale software development requires the ability to manage resources - both human and computational - through control of the development process. This course is a breadth oriented course, designed to help technically-trained software engineers to acquire the knowledge and skills necessary to lead a project team, understand the relationship of software development to overall project engineering, estimate time and costs, and understand the software process. The nature of software development is sufficiently unique to require specialized management techniques, especially in the areas of the estimating and scheduling.

Course Objectives Based on Bloom’s Taxonomy

- What should a student remember at the end of the course?

By the end of the course, the students will remember:

  • importance of people in software development
  • trade-offs in various managing style
  • importance to manage customer expectations
  • major differences in the software development process
  • several methods to plan projects and estimate their duration

- What should a student be able to understand at the end of the course?

By the end of the course, the students should be able to describe and explain (with examples)

  • Ways to define the project success criteria and potential risks
  • Customer oriented work breakdown
  • Effort estimation methods
  • Scheduling

- What should a student be able to apply at the end of the course?

By the end of the course, the students should be able to

  • Apply critical reasoning to assess root-causes of problems in software development process
  • Select a right process of a particular software development project
  • Define the success thresholds.
  • Evaluate and manage risks
  • Estimate project duration with several methods
  • Communicate with customers on the project related matters.

Course evaluation

Evaluation

Course grade breakdown
Proposed points
Labs/seminar classes 20 10
Interim performance assessment 30 90
Exams 50 0

The students performance will be evaluated as follows:

  • Participation (10%)
  • Case study analysis and assignments (55%)
  • Reading questions (10%)
  • Final paper (25%)

Grades range

Course grading range
Proposed range
A. Excellent 90-100 80-100
B. Good 75-89 65-79
C. Satisfactory 60-74 50-64
D. Poor 0-59 0-49


If necessary, please indicate freely your course’s grading features: The semester starts with the default range as proposed in the Table 1, but it may change slightly (usually reduced) depending on how the semester progresses.

Resources and reference material

  • This course makes use of many reference materials that are posted to Moodle.

Course Sections

The main sections of the course and approximate hour distribution between them is as follows:

Course Sections
Section Section Title Teaching Hours
3 Defining project success criteria 10
4 Planning and controlling software development projects 16

Section 3

Section title:

Defining project success criteria

Topics covered in this section:

  • Requirements Management
  • Case Study Exercise Discussion
  • Requirements case study/lecture
  • Identifying and Managing Software Risk
  • TBQ, Threshold of Success
  • Risk statement discussion

What forms of evaluation were used to test students’ performance in this section?

|a|c| & Yes/No
Development of individual parts of software product code & 0
Homework and group projects & 1
Midterm evaluation & 0
Testing (written or computer based) & 0
Reports & 1
Essays & 1
Oral polls & 0
Discussions & 1


Typical questions for ongoing performance evaluation within this section

  1. What is the difference between verifying and validating requirements? Be specific.
  2. What are the main activities of requirements engineering?
  3. What are the requirements elicitation problems?
  4. What are the Quality Attributes? Describe ways to elicit quality attributes requirements.
  5. Explain how one can use the Pareto principle in the context of risk management. Give an example.
  6. Give examples of methods to assess risk impact.
  7. What is the difference between Threshold of Success and Risks?

Typical questions for seminar classes (labs) within this section

  1. Describe the key issues that found in the case study with regards to requirements management.
  2. Explain what approaches are selected in the case study and why? What was the result of applying those approaches on the project and team how addressed these issues?
  3. According to the case study, what are the most critical factor in software quality and the most difficult problem that that the team faced in their projects?
  4. Identify 5 key risks in case study and prioritize them. Simply state and justify your prioritization method. Ensure these are in the Condition-Consequence format, include context statements and time horizons.
  5. Provide mitigation strategies to the risk identified in the case study.
  6. Develop Threshold of Success for the case study project.

Test questions for final assessment in this section

  1. Given a situation, identify, prioritise possible risks and discuss mitigation strategy.
  2. What is Threshold of Success and hos does it differ from Risks.
  3. Explain the condition-consequence definition for risk statements.
  4. Give an example of criticality assessment for risk statements.

Section 4

Section title:

Planning and controlling software development projects

Topics covered in this section:

  • Introduction - Planning & Controlling Software Development Projects
  • Work Breakdown Structures
  • Estimation Methods
  • Activity Planning
  • Milestone Planning
  • Release Planning
  • Tracking Reporting & Controlling

What forms of evaluation were used to test students’ performance in this section?

|a|c| & Yes/No
Development of individual parts of software product code & 0
Homework and group projects & 1
Midterm evaluation & 0
Testing (written or computer based) & 0
Reports & 1
Essays & 1
Oral polls & 0
Discussions & 1


Typical questions for ongoing performance evaluation within this section

  1. What is Work Breakdown structure and how can it be applyed for project planning?
  2. List several estimation methods and discuss their trade-offs?
  3. What is the activity planning?
  4. Give a definition of a Critical Path?
  5. What is milestone planning?
  6. Discuss several methods for release planning?

Typical questions for seminar classes (labs) within this section

  1. Propose a Work Breakdown Structure for a given project.
  2. Give minimum duration of a project give a list of tasks and their dependencies.
  3. Develop a milestone plan.
  4. Propose a release plan for a given project based on estimations and priorities of tasks.

Test questions for final assessment in this section

  1. List several types of Work Breakdown Structures and discuss trade-offs.
  2. Apply critical path calculations to an activity graph. Give the latest start for a specific task.
  3. Define milestone planning.
  4. Explain MOSCOW method for release planning.
  5. During semester study and write a paper on a software engineering topic of your choice.