Software Project Management

You are here

Credits
6
Types
Specialization compulsory (Software Engineering)
Requirements
  • Prerequisite: EEE
  • Prerequisite: IES
Department
ESSI
The objective of the subject is to train students to manage software projects both in the context of classic management processes and in that of agile management processes.

Teachers

Person in charge

  • Dolors Costal Costa ( )

Others

  • Albert Renom Vilaro ( )
  • Manuel Rello Saltor ( )
  • Max Ros i Morejon ( )
  • Raimon Lapuente Ferran ( )
  • Xavier Franch Gutiérrez ( )

Weekly hours

Theory
2
Problems
0
Laboratory
2
Guided learning
0
Autonomous learning
6

Competences

Technical Competences

Common technical competencies

  • CT2 - To use properly theories, procedures and tools in the professional development of the informatics engineering in all its fields (specification, design, implementation, deployment and products evaluation) demonstrating the comprehension of the adopted compromises in the design decisions.
    • CT2.1 - To demonstrate knowledge and capacity to apply the principles, methodologies and life cycles of software engineering.
    • CT2.3 - To design, develop, select and evaluate computer applications, systems and services and, at the same time, ensure its reliability, security and quality in function of ethical principles and the current legislation and normative.
  • CT8 - To plan, conceive, deploy and manage computer projects, services and systems in every field, to lead the start-up, the continuous improvement and to value the economical and social impact.
    • CT8.1 - To identify current and emerging technologies and evaluate if they are applicable, to satisfy the users needs.
    • CT8.2 - To assume the roles and functions of the project manager and apply, in the organizations field, the techniques for managing the timing, cost, financial aspects, human resources and risk.
    • CT8.6 - To demonstrate the comprehension of the importance of the negotiation, effective working habits, leadership and communication skills in all the software development environments.
    • CT8.7 - To control project versions and configurations.

Technical Competences of each Specialization

Software engineering specialization

  • CES1 - To develop, maintain and evaluate software services and systems which satisfy all user requirements, which behave reliably and efficiently, with a reasonable development and maintenance and which satisfy the rules for quality applying the theories, principles, methods and practices of Software Engineering.
    • CES1.3 - To identify, evaluate and manage potential risks related to software building which could arise.
    • CES1.7 - To control the quality and design tests in the software production
  • CES2 - To value the client needs and specify the software requirements to satisfy these needs, reconciling conflictive objectives through searching acceptable compromises, taking into account the limitations related to the cost, time, already developed systems and organizations.
    • CES2.1 - To define and manage the requirements of a software system.
    • CES2.2 - To design adequate solutions in one or more application domains, using software engineering methods which integrate ethical, social, legal and economical aspects.

Transversal Competences

Entrepreneurship and innovation

  • G1 [Avaluable] - To know and understand the organization of a company and the sciences which govern its activity; capacity to understand the labour rules and the relation between planning, industrial and business strategies, quality and benefit. To develop creativity, entrepreneur spirit and innovation tendency.
    • G1.3 - To have strong decision-making skills. To use knowledge and strategic skills for the creation and management of projects, apply systematic solutions to complex problems, and design and manage the innovation in the organization. To demonstrate flexibility and professionalism when developing her work.

Sustainability and social commitment

  • G2 [Avaluable] - To know and understand the complexity of the economic and social phenomena typical of the welfare society. To be capable of analyse and evaluate the social and environmental impact.
    • G2.2 - To apply sustainability criteria and the deontological codes of the profession in the design and evaluation of technological solutions. To identify the necessity to apply the legislation, regulations and normatives, specially the ones affecting the technical informatics engineer profession. To analyse and evaluate the environmental impact of the technical solutions in the ICT field.

Objectives

  1. Overview: Have an overview of what Software Projects are, and what are the complexities associated with their management.
    Related competences: CT2.1,
  2. Types of projects: Knowing the different types of software projects, what are their characteristics, advantages and disadvantages associated. Have criteria to identify what type of project is going to be managed.
    Related competences: G1.3, CT2.1, CES2.1, CES2.2, CT8.1, CT2.3,
  3. Factors: Knowing what factors affect the cost structure in a Software Project. Knowing what are the risk factors and the viability of a project. Being able to produce a budget.
    Related competences: CES2.2, CT8.2, CES1.3, CT2.3,
  4. Estimation: Being able to estimate the resources required to perform an activity belonging to the software development process.
    Related competences: G1.3, CES2.1, CES2.2, CT8.2, CES1.3, CT2.3,
  5. Plan: Being able to develop the plan of a Software Project.
    Related competences: G1.3, CT2.1, CES2.1, CES2.2, CT8.2,
  6. Priorization: Being able to prioritize the requirements of a Software Project in order to maximize the value they provide to its stakeholders.
    Related competences: G1.3, CES2.1, CT8.2, CT8.6, CES1.3,
  7. Methods: Understand different methods of Software Project management. Knowing their advantages and disadvantages. Have criteria for selecting a method based on the project type, equipment and other contextual factors.
    Related competences: CT2.1, CES2.2,
  8. Management: Being able to perform the management and monitoring of a Software Project.
    Related competences: G1.3, CT2.1, CES2.2, CT8.2, CT8.7,
  9. Project leader: Understand the role of a project leader as a human team leader and the different ways to manage teams.
    Related competences: G1.3, CT8.2, CT8.6,
  10. Quality: Knowing what are the models of quality management in Software Project management, their applicability and in which cases are relevant.
    Related competences: CT8.7, CES1.7, CT2.3,
  11. Testing: Being able to design and implement a strategy of testing a Software Project.
    Related competences: CES2.2, CES1.7, CT2.3,
  12. Tools: Knowing and using software tools to support Software Project management
    Related competences: G1.3, CES2.2, CT8.1, CT8.2, CT8.7,
  13. Social and environmental aspects: Being able to consider the social and environmental aspects in Software Projects.
    Related competences: G2.2, CES1.3, CT2.3,

Contents

  1. Introduction to Software Projects
    Introduces the problem of managing projects, stakeholders, the complexities associated and the tasks involved; the project context, project types, project life cycle, software construction activities (management, requirements, analysis, software building, testing, quality, maintenance, reengineering), etc.
  2. Classic Software Project management
    The activities, roles and methodologies of classic Software Project management are explained. These are based on developing a predictive project plan that will guide the software development process. Rational Unified Process will be used as an example of such a methodology.
  3. Agile Software Project management
    The agile approach to Software Project management is explained. It is based on the Manifesto for Agile Software Development, that proposes an adaptive approach focused on value contributed to the project stakeholders and people involved in it. Scrum, XP and Kanban are used as examples of agile methodologies.
  4. Other Software Project contexts
    There are contexts that are quite specific and require particular considerations and techniques. We will discuss the following cases: open source; start-ups (lean); call for tenders; outsourcing and offshoring.

Activities

Activity Evaluation act


Study of Introduction to Software Projects

The student will participate in the classroom raising questions, giving opinions and discussing the topics proposed for discussion
Objectives: 1
Contents:
Theory
4h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
2h

Study of classic Software Project management

The student will participate in the classroom raising questions, giving opinions and discussing the topics proposed for discussion
Objectives: 4 3 7 5 8 6 13 9 11 10 12
Contents:
Theory
10h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
5h

Study of agile Project management

The student will participate in the classroom raising questions, giving opinions and discussing the topics proposed for discussion
Objectives: 4 3 7 5 8 6 13 9 11 10 12
Contents:
Theory
12h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
6h

Study of other Software Project contexts

The student will participate in the classroom raising questions, giving opinions and discussing the topics proposed for discussion
Objectives: 4 3 7 5 8 6 13 9 11 10 12
Contents:
Theory
3h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
2h

Project of classic Software Project management

The student will form a team (4-5 students). The student will carry out the project with the other team members and will deliver it to the teacher.
Objectives: 4 3 7 5 8 6 13 9 11 10 12
Contents:
Theory
0h
Problems
0h
Laboratory
14h
Guided learning
0h
Autonomous learning
34h

Project of agile Software Project management

The student will carry out the project with the other team members and will deliver it to the teacher.
Objectives: 4 3 7 5 8 6 13 9 11 10 12
Contents:
Theory
0h
Problems
0h
Laboratory
16h
Guided learning
0h
Autonomous learning
35h

Delivery of the project on classic Software Project management

The team of students deliver the project at due time. The teacher evaluates it according to the established criteria.
Objectives: 4 3 7 5 8 6 13 9 11 10 12
Week: 8
Type: assigment
Theory
0h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
0h

Delivery of the project on agile Software Project management

The team of students deliver the project at due time. The teacher evaluates it according to the established criteria.
Objectives: 4 3 7 5 8 6 13 9 11 10 12
Week: 15
Type: assigment
Theory
0h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
0h

Course exam

Exam in the last course's hour with the aim of validating the knowledge taught along the course
Objectives: 1 2 4 3 7 5 8 6 13 9 11 10 12
Week: 14
Type: theory exam
Theory
1h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
6h

Teaching methodology

Theory classes:
* The teacher will present the contents of the course, using audiovisual material (slides and videos) to complement the explanation.
* Teachers will discuss with students about issues raised in previous classes and readings proposed.

Lab classes.
Work with project-based learning in projects that will be simulations of real activities and interpretation of roles.

Evaluation methodology

TO-DO

Bibliography

Basic:

Complementary:

Web links

Previous capacities

Knowledge of programming and software engineering fundamentals.