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 (
)
Marc Oriol Hilari (
)
Others
Albert Renom Vilaro (
)
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
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
ActivityEvaluation 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:
The student will participate in the classroom raising questions, giving opinions and discussing the topics proposed for discussion Objectives:437586139111012 Contents:
The student will participate in the classroom raising questions, giving opinions and discussing the topics proposed for discussion Objectives:437586139111012 Contents:
The student will participate in the classroom raising questions, giving opinions and discussing the topics proposed for discussion Objectives:437586139111012 Contents:
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:437586139111012 Contents:
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:437586139111012 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:437586139111012 Week:
15
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:12437586139111012 Week:
14
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.