Teachers
Person in charge
- Marc Oriol Hilari ( marc.oriol@upc.edu )
Others
- Albert Renom Vilaro ( albert.renom@fib.upc.edu )
- Raimon Lapuente Ferran ( raimon.lapuente@upc.edu )
- Xavier Franch Gutiérrez ( xavier.franch@upc.edu )
Weekly hours
Theory
2
Problems
0
Laboratory
2
Guided learning
0
Autonomous learning
6
Competences
Common technical competencies
- 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.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.
Software engineering specialization
- 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.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.
Entrepreneurship and innovation
- 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.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
-
Overview: Have an overview of what Software Projects are, and what are the complexities associated with their management.
Related competences: CT2.1, -
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, -
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, -
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, -
Plan: Being able to develop the plan of a Software Project.
Related competences: G1.3, CT2.1, CES2.1, CES2.2, CT8.2, -
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, -
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, -
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, -
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, -
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, -
Testing: Being able to design and implement a strategy of testing a Software Project.
Related competences: CES2.2, CES1.7, CT2.3, -
Tools: Knowing and using software tools to support Software Project management
Related competences: G1.3, CES2.2, CT8.1, CT8.2, CT8.7, -
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
-
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. -
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. -
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. -
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 discussionObjectives: 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 discussionObjectives: 4 3 7 5 8 6 13 9 11 10 12
Contents:
Theory
10h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
5h
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
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
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
Theory
0h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
0h
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-DOBibliography
Basic
-
Software engineering: a practitioner's approach
- Pressman, R.S.; Maxim, B.R,
McGraw Hill Higher Education,
2020.
ISBN: 9781260548006
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991004193559706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
The rational unified process: an introduction
- Kruchten, P,
Addison-Wesley,
2007.
ISBN: 0321197704
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991003372759706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
The Agile samurai: how agile masters deliver great software
- Rasmusson, J,
The Pragmatic Bookshelf,
2010.
ISBN: 9781934356586
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991003867899706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Agile estimating and planning
- Cohn, M,
Prentice Hall Professional Technical Reference,
2006.
ISBN: 0131479415
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991004009399706711&context=L&vid=34CSUC_UPC:VU1&lang=ca
Complementary
-
User stories applied: for agile software development
- Cohn, M,
Addison-Wesley,
2004.
ISBN: 9780321205681
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991004009389706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Diapositives de GPS
- ,
https://raco.fib.upc.edu/avisos/llista.jsp?assig=GRAU-GPS
Web links
- Manifest per al desenvolupament àgil de programari http://agilemanifesto.org
- The Scrum Guide https://www.scrum.org/scrum-guide