SOFTWARE PROJECT MANAGEMENT

Degree course: 
Corso di Second cycle degree in COMPUTER SCIENCE
Academic year when starting the degree: 
2024/2025
Year: 
1
Academic year in which the course will be held: 
2024/2025
Course type: 
Compulsory subjects, characteristic of the class
Language: 
English
Credits: 
6
Period: 
First Semester
Standard lectures hours: 
48
Detail of lecture’s hours: 
Lesson (48 hours)
Requirements: 

It is assumed that participants have a basic knowledge of software development and the related issues.

Final Examination: 
Orale

The extent to which students learn the subject is assessed via a written test (approximate duration: 1.5 hours). As an alternative, students can take a mid-term and a final test during the course. By passing both, students will have passed the exam.
The goal of the written test (as well as the mid-term and final tests) is to assess the learning degree and the understanding of the elements related to software project management from both a theoretical and an application points of view (on problems of limited complexity). Written tests (as well as the mid-term and final tests) consist of:
• questions for the assessment of the knowledge of conceptual software project management aspects
• exercises related to the activities carried out in practice when managing software projects
The knowledge of specific terminology is assessed in an implicit way, since questions and exercise specifications use the terminology. Autonomy of judgement is evaluated based on the choices made during the written exam.
Answers to questions provide 55% of final mark, while the exercises contribute for the remaining 45%.
The final mark is expressed in a 0 to 30 scale.

Assessment: 
Voto Finale

The goal of the course is to provide students with the knowledge needed for the management of software projects of various nature and complexity, to obtain the desired software product at predictable cost and within the required delivery time, assuring a suitable quality level. To this end, students learn both consolidated and innovative techniques for the activities needed to carry out a complete management of software projects.
The illustrated techniques deal with: development process organization according to different models and life-cycles, software product and process measurement, techniques for building estimation models, development time and cost estimation methods, project planning, monitoring and control, risk management, quality planning and control.
At the end of the course, students will be able to
1. Recognize and apply different types of software lifecycles, to select those most suitable for specific applications and with the ability of building development process models;
2. Apply software project management techniques, including those for cost estimation and for the planning of resource allocation, also based on quantitative knowledge of software products and artifacts;
3. Apply analysis, classification, evaluation, and risk-handling techniques;
4. Know the techniques and processes for controlled software modification.

Students will develop judgement skills related to the several aspects of planning, evaluation, and control of a software project, which require both technical and managerial knowledge.
Students will be able to master the usual and standard software project management terminology, possibly in the English language. Thus, they can present, with the correct terminology and in an organized manner, the characteristics of a software project.

The following topics will be taught in the course:
Software development processes (16h, teaching objective 1).
• The nature of the software products.
• Software development processes: technical characteristics and organizational issues.
• Software lifecycles (waterfall, prototypal, RAD, evolutionary, spiral).
• Agile software processes– technical and management aspects.
• Extreme programming.
• SCRUM.
• Process modeling.
Process characteristics' measurement and estimation (18h, teaching objective 2).
• Software size measurement. Lines of code, Function points, COSMIC function points.
• Measures of cohesion, coupling, complexity and other relevant software characteristics.
• Model-based measurement techniques. Estimation methods. Data analysis and the building of estimation models.
• COCOMO and COCOMO II.
Planning and control (14h, teaching objectives 3 e 4).
• Planning: issues, techniques (WBS), and notations (Gantt, PERT).
• Project management and control.
• Risk management.
• Software Configuration Management and change management.

The following topics will be taught in the course:
Software development processes (16h, teaching objective 1).
• The nature of the software products.
• Software development processes: technical characteristics and organizational issues.
• Software lifecycles (waterfall, prototypal, RAD, evolutionary, spiral).
• Agile software processes– technical and management aspects.
• Extreme programming.
• SCRUM.
• Process modeling.
Process characteristics' measurement and estimation (18h, teaching objective 2).
• Software size measurement. Lines of code, Function points, COSMIC function points.
• Measures of cohesion, coupling, complexity and other relevant software characteristics.
• Model-based measurement techniques. Estimation methods. Data analysis and the building of estimation models.
• COCOMO and COCOMO II.
Planning and control (14h, teaching objectives 3 e 4).
• Planning: issues, techniques (WBS), and notations (Gantt, PERT).
• Project management and control.
• Risk management.
• Software Configuration Management and change management.

Convenzionale

Lectures (48 hours).
Lectures will present conceptual and application aspects of software project management.

To set up an appointment, students need to send an e-mail request to luigi.lavazza@uninsubria.it.

Borrowers