Syllabus query



Academic Year/course: 2019/20

439 - Bachelor's Degree in Informatics Engineering

30248 - Software Project Management


Syllabus Information

Academic Year:
2019/20
Subject:
30248 - Software Project Management
Faculty / School:
110 - Escuela de Ingeniería y Arquitectura
Degree:
439 - Bachelor's Degree in Informatics Engineering
ECTS:
6.0
Year:
4
Semester:
First semester
Subject Type:
---
Module:
---

1. General information

1.1. Aims of the course

At the end of the course the students will have completed a team software project, with a theme of their choice, managed with the agile Scrum methodology. During the work they will evaluate and make technical decisions, balance the development effort with the creation of the documentation that provides the most value and analyze their management process with the aim of improving it.

1.2. Context and importance of this course in the degree

In the first two years of the degree, students acquire skills and knowledge that will enable them to develop small computer applications. The Software Engineering course has provided students with the engineering fundamentals required for the professional development of medium and large sized software systems, and the Software Project course has provided them with the integrating and supporting element that allows the process of building a software system to be carried out by a team in a controlled manner. This course examines in depth the techniques that allow the systematization of the activities and processes necessary for the effective development of any software system, adapting to the current requirements of agility, quality and continuous improvement.

1.3. Recommendations to take this course

Given the configuration of the curriculum of the degree, in the first two years of the degree the student acquires skills and knowledge that will enable him/her to develop small computer applications. Since the acquisition of knowledge and skills in this subject is carried out around the development of a small software application, but developed following software engineering techniques and with a defined development process, it is necessary to have passed the first two years of the curriculum and, at least, the subjects of Software Engineering and Software Project of the fifth and sixth four-month periods respectively.

2. Learning goals

2.1. Competences

Upon passing the course, the student will be more competent to....

Successfully address the following cross-cutting issues:

  • CT1. Ability to conceive, design and develop engineering projects.
  • CT2. Ability to plan, budget, organize, direct and control tasks, people and resources.
  • CT4. Ability to solve problems and make decisions with initiative, creativity and critical thinking.
  • CT7. Ability to analyze and assess the social and environmental impact of technical solutions acting with ethics, professional responsibility and social commitment.
  • CT8. Ability to work in a multidisciplinary group and in a multilingual environment.

Successfully undertake the following tasks related to Computer Engineering in general:

  • CGC2. Ability to plan, design, deploy and manage projects, services and IT systems in all areas, leading their implementation and continuous improvement and assessing their economic and social impact.
  • CGC3. Ability to understand the importance of negotiation, effective work habits, leadership and communication skills in all software development environments.
  • CGC4. Ability to prepare the technical specifications of a computer installation that complies with current standards and regulations.
  • CGC8. Ability to analyze, design, build and maintain applications in a robust, secure and efficient manner, choosing the most appropriate paradigm and programming languages.

Successfully address the following Software Engineering related performance issues:

  • CEIS2. Ability to assess customer needs and specify software requirements to meet these needs, reconciling conflicting objectives by seeking acceptable compromises within the constraints of cost, time, existing systems already developed and the organisations themselves.
  • CEIS3. Ability to provide solutions to integration problems according to the available strategies, standards and technologies.
  • CEIS5. Ability to identify, assess and manage potential associated risks that may arise.
  • CEIS6. Ability to design appropriate solutions in one or more application domains using software engineering methods that integrate ethical, social, legal and economic aspects.

2.2. Learning goals

In order to pass this course, the student must demonstrate the following results...

  • Learns about strategies and approaches to develop and manage the processes involved in obtaining a contract for a software project. This includes approximations for the definition of objectives and deliverables of a project, estimation of the cost of the project and the preparation of a budget for the project.
  • Knows the bases to approach the management and optimization of the human team that integrates the project. This includes strategies for team building, tools for optimising team performance (based mainly on group dynamics), and approaches to identifying, characterising and assigning roles within a project.
  • Knows the concept of risk within a software project. As well as mechanisms for the planning of its management. These mechanisms include, among other things, the identification, assessment, selection and definition of mitigation strategies.
  • Knows the conceptual bases and diverse techniques for the follow-up, revision and evaluation of a software project.
  • Knows procedures to carry out the closing of a software project, the implications that this has, the measurement and evaluation of a project, as well as the use of the information generated by these processes.
  • Gets to know the problems associated with software maintenance.
  • Knows how to manage and organize the activities involved in software maintenance.
  • Knows the ethical, social, legal and economic aspects intrinsic to the development of a business software project, general and specific to the scope of one or several application domains.
  • Knows an infrastructure of processes and tools necessary to develop a software project, based on the best practices of software engineering available in a software factory business environment.
  • Puts into practice the knowledge acquired in the subjects of Software Engineering intensification in a specific project developed as a team: requirements, analysis, design, testing (verification and validation), project management.

2.3. Importance of learning goals

The reality of the industry shows that the development of software systems is almost always carried out within a budgetary framework, according to a schedule, and meeting a series of requirements negotiated with a client. This cannot be done without the necessary capacity to organize and structure the work, optimize the use of the resources available, systematize the tasks that can be repetitive (in order to devote more time to creative ones), and pursue a continuous improvement that results in a higher level of quality.

3. Assessment (1st and 2nd call)

3.1. Assessment tasks (description of tasks, marking system and assessment criteria)

The evaluation will consist of a test with two exercises:

  • Delivery of project results (80%): the exercise consists of the delivery of results (technical report, source code and others) that reflect the work of students in a software development project that follows the agile Scrum methodology. The project will include the construction of a small-scale, open-ended computer application that will address all the tasks of software engineering, with special attention to those related to the management and support of the different development activities (all learning outcomes).
  • Written questions about concepts learned in theory and problems (20%) (learning outcomes 1, 2, 3, 4, 5, 10, 16, 17).

In order to pass the course, the weighted sum of both exercises must be at least 5 out of 10.

4. Methodology, learning tasks, syllabus and resources

4.1. Methodological overview

The learning process designed for this course is based on:

  1. Study and work from day one.
  2. Learning concepts about the different activities in software project management, as well as about its legal framework, through classroom lectures.
  3. Applying those concepts to practical cases, where the students will have an active role in the discussion and resolution of those cases.
  4. Teamwork to develop a small software project, with an emphasis on the activities related to the management of the process.
  5. External professionals will be invited to show the students the reality of the profession.

4.2. Learning tasks

The course includes the following learning tasks: 

  1. The theory will be developed in the classroom lectures.
  2. The practical cases in the classroom will allow the students to apply the theoretical concepts and techniques.
  3. The students will develop a software project in a team, under the supervision of the professors.

4.3. Syllabus

The course will address the following topics:

  1. Agile management with Scrum: agile principles, sprints, user stories, the product backlog, estimation, velocity, planning  and technical debt
  2. Project management techniques: integration, scope, time, cost, quality, people and risks

4.4. Course planning and calendar

  • Classroom lectures (2 hours per week)
  • Practical cases in the classroom (1 hour per week)

The schedules and dates for all activities will be published on the web page of the EINA and in the Moodle page of the course.

The deadlines for the project and the exam dates will be adjusted to the academic schedule following the University regulations.

The students should work around 150 hours distributed as follows:

  • 45 hours in classroom activities.
  • 15 hours of study and evaluation.
  • 90 hours in the project.

4.5. Bibliography and recommended resources

[BB: Bibliografía básica / BC: Bibliografía complementaria]

http://psfunizar7.unizar.es/br13/egAsignaturas.php?codigo=30248&Identificador=14713

  • [BB] Rubin, Kenneth S. Essential Scrum : a practical guide to the most popular agile process / Kenneth S. Rubin . 7th print. Upper Saddle River (New Jersey) : Addison-Wesley, imp. 2015
  • [BC] Larman C. Practices for Scaling Lean & Agile Development: Large, Multisite, and Offshore Product Development with Large-Scale Scrum / Larman C, Vodde B. - 1st edition Addison-Wesley Professional, 2010


Curso Académico: 2019/20

439 - Graduado en Ingeniería Informática

30248 - Gestión de proyecto software


Información del Plan Docente

Año académico:
2019/20
Asignatura:
30248 - Gestión de proyecto software
Centro académico:
110 - Escuela de Ingeniería y Arquitectura
Titulación:
439 - Graduado en Ingeniería Informática
Créditos:
6.0
Curso:
4
Periodo de impartición:
Primer semestre
Clase de asignatura:
---
Materia:
---

1. Información Básica

1.1. Objetivos de la asignatura

Al finalizar el curso los estudiantes habrán realizado un proyecto software en equipo, de temática a su elección, gestionado con la metodología ágil Scrum. Durante el trabajo evaluarán y tomarán decisiones técnicas, equilibrarán el esfuerzo de desarrollo con el de la creación de la documentación que aporte mayor valor y analizarán su proceso de gestión con el objetivo de mejorarlo.

1.2. Contexto y sentido de la asignatura en la titulación

En los dos primeros cursos del grado, el estudiante adquiere competencias y conocimientos que le van a posibilitar desarrollar aplicaciones informáticas de pequeño tamaño. La asignatura de Ingeniería del Software ha dotado a los alumnos de los fundamentos de ingeniería que requiere el desarrollo profesional de sistemas de software de tamaño mediano o grande, y la asignatura de Proyecto Software les ha aportado el elemento integrador y de soporte que permite que el proceso de construcción de un sistema software sea realizada por un equipo de una manera controlada. Esta asignatura profundiza en las técnicas que permiten sistematizar las actividades y procesos necesarios para el desarrollo eficaz de cualquier sistema software, adaptándose a los requisitos actuales de agilidad, calidad y mejora continua.

1.3. Recomendaciones para cursar la asignatura

Dada la configuración del plan de estudios de la titulación, en los dos primeros cursos del grado el estudiante adquiere competencias y conocimientos que le van a posibilitar desarrollar aplicaciones informáticas de pequeño tamaño. Puesto que la adquisición de conocimientos y competencias en esta asignatura se efectúa alrededor del desarrollo de una aplicación software de pequeño tamaño, pero desarrollada siguiendo técnicas de ingeniería del software y con un proceso de desarrollo definido, es necesario haber superado los dos primeros cursos del plan de estudios y, al menos, las asignaturas de Ingeniería del Software y Proyecto Software  del quinto y sexto cuatrimestres respectivamente.

2. Competencias y resultados de aprendizaje

2.1. Competencias

Al superar la asignatura, el estudiante será más competente para...

Afrontar con éxito los siguientes desempeños transversales:

  • CT1. Capacidad para concebir, diseñar y desarrollar proyectos de Ingeniería.
  • CT2. Capacidad para planificar, presupuestar, organizar, dirigir y controlar tareas, personas y recursos.
  • CT4. Capacidad para resolver problemas y tomar decisiones con iniciativa, creatividad y razonamiento crítico.
  • CT7. Capacidad para analizar y valorar el impacto social y medioambiental de las soluciones técnicas actuando con ética, responsabilidad profesional y compromiso social.
  • CT8. Capacidad para trabajar en un grupo multidisciplinar y en un entorno multilingüe. 

Afrontar con éxito los siguientes desempeños relacionados con la Ingeniería Informática en general:

  • CGC2. Capacidad para planificar, concebir, desplegar y dirigir proyectos, servicios y sistemas informáticos en todos los ámbitos, liderando su puesta en marcha y su mejora continua y valorando su impacto económico y social.
  • CGC3. Capacidad para comprender la importancia de la negociación, los hábitos de trabajo efectivos, el liderazgo y las habilidades de comunicación en todos los entornos de desarrollo de software.
  • CGC4. Capacidad para elaborar el pliego de condiciones técnicas de una instalación informática que cumpla los estándares y normativas vigentes.
  • CGC8. Capacidad para analizar, diseñar, construir y mantener aplicaciones de forma robusta, segura y eficiente, eligiendo el paradigma y los lenguajes de programación más adecuados.

Afrontar con éxito los siguientes desempeños relacionados con la Ingeniería del Software:

  • CEIS2. Capacidad para valorar las necesidades del cliente y especificar los requisitos software para satisfacer estas necesidades, reconciliando objetivos en conflicto mediante la búsqueda de compromisos aceptables dentro de las limitaciones derivadas del coste, del tiempo, de la existencia de sistemas ya desarrollados y de las propias organizaciones.
  • CEIS3. Capacidad de dar solución a problemas de integración en función de las estrategias, estándares y tecnologías disponibles.
  • CEIS5. Capacidad de identificar, evaluar y gestionar los riesgos potenciales asociados que pudieran presentarse.
  • CEIS6. Capacidad para diseñar soluciones apropiadas en uno o más dominios de aplicación utilizando métodos de la ingeniería del software que integren aspectos éticos, sociales, legales y económicos.

2.2. Resultados de aprendizaje

El estudiante, para superar esta asignatura, deberá demostrar los siguientes resultados...

  • Conoce estrategias y aproximaciones para desarrollar y gestionar los procesos vinculados a la obtención de un contrato de un proyecto software. Esto incluye aproximaciones para la definición de objetivos y entregables de un proyecto, estimación del coste del proyecto y la elaboración de un presupuesto para el mismo.
  • Conoce las bases para abordar la gestión y optimización del equipo humano que integra el proyecto. Esto incluye estrategias para la formación del equipo, herramientas para optimizar su funcionamiento (basadas principalmente en dinámicas de grupo), y aproximaciones a la identificación, caracterización y asignación de roles dentro de un proyecto.
  • Conoce el concepto de riesgo dentro de un proyecto software. Así como mecanismos para la planificación de su gestión. Estos mecanismos comprenden, entre otros elementos, la identificación, valoración, selección y definición de estrategias de mitigación.
  • Conoce las bases conceptuales y diversas técnicas para el seguimiento, revisión y evaluación de un proyecto software.
  • Conoce procedimientos para llevar a cabo el cierre de un proyecto software, las implicaciones que esto tiene, la medición y evaluación de un proyecto, así como el aprovechamiento de la información generada estos procesos.
  • Conoce las problemáticas asociadas al mantenimiento del software.
  • Sabe gestionar y organizar las actividades involucradas en el mantenimiento del software.
  • Conoce los aspectos éticos, sociales, legales y económicos intrínsecos al desarrollo de un proyecto software de empresa, generales y específicos al ámbito de uno o varios dominios de aplicación.
  • Conoce una infraestructura de procesos y herramientas necesarios para desarrollar un proyecto software, basado en las buenas prácticas de ingeniería de software disponible en un entorno empresarial de factoría de software.
  • Pone en práctica los conocimientos adquiridos en las asignaturas de la intensificación de Ingeniería de Software en un proyecto concreto desarrollado en equipo: requisitos, análisis, diseño, pruebas (verificación y validación), gestión de proyectos.

2.3. Importancia de los resultados de aprendizaje

La realidad de la industria muestra que el desarrollo de sistemas software se efectúa casi siempre dentro de un marco presupuestario, de acuerdo a un calendario, y cumpliendo una serie de requisitos negociados con un cliente. Esto no puede llevarse a cabo sin la necesaria capacidad para organizar y estructurar el trabajo, optimizar el uso de los recursos con los que se cuenta, sistematizar las tareas que puedan ser repetitivas (con el fin de poder dedicar mayor tiempo a las creativas), y perseguir una mejora continua que redunde en un mayor nivel de calidad.

3. Evaluación

3.1. Tipo de pruebas y su valor sobre la nota final y criterios de evaluación para cada prueba

La evaluación consistirá en una prueba con dos ejercicios:

  1. Entrega de resultados del proyecto (80%): el ejercicio consiste en la entrega de resultados (memoria técnica, código fuente y otros) que reflejen la labor de los estudiantes en un proyecto de desarrollo de software que siga la metodología ágil Scrum. El proyecto comprenderá la construcción de una aplicación informática de pequeñas dimensiones, de temática libre, en la que se deberán abordar todas las tareas propias de la ingeniería del software, con especial atención a las vinculadas a la gestión y soporte de las diferentes actividades de desarrollo (todos los resultados de aprendizaje).
  2. Preguntas escritas sobre conceptos aprendidos en teoría y problemas (20%) (resultados de aprendizaje 1, 2, 3, 4, 5, 10, 16, 17).

Para superar la asignatura será necesario que la suma ponderada de ambos ejercicios sea al menos de 5 sobre 10.

4. Metodología, actividades de aprendizaje, programa y recursos

4.1. Presentación metodológica general

El proceso de aprendizaje que se ha diseñado para esta asignatura se basa en lo siguiente:

  1. El estudio y trabajo continuado, desde el primer día de clase.
  2. El aprendizaje de conceptos vinculados a las diferentes actividades que integra la gestión de un proyecto software, así como el marco normativo que regula este trabajo, a través de las clases magistrales, en las que se favorecerá la participación de los alumnos.
  3. La aplicación de tales conocimientos a casos prácticos en las clases de problemas. En estas clases los alumnos desempeñarán un papel activo en la discusión y resolución de los problemas. Algunos de estos problemas se encontrarán vinculados a actividades específicas del proyecto que han de desarrollar como trabajo en equipo que se ha de afrontar a lo largo del cuatrimestre.
  4. El trabajo en equipo abordando el desarrollo de un proyecto que comprenderá la construcción de una aplicación informática de pequeñas dimensiones en la que deberán abordar todas las tareas propias de la ingeniería del software, con especial atención a las vinculadas a la gestión y soporte de las diferentes actividades de desarrollo. Este trabajo permitirá aplicar de forma conjunta todos los aspectos teóricos desarrollados en las clase magistrales, así como enfatizar el desarrollo de todas las competencias vinculadas al trabajo en equipo colaborativo.
  5. Eventualmente, la participación de profesionales externos que permitan mostrar a los alumnos la realidad de la industria, y cómo los conceptos que se plantean en clase son aplicados en esta realidad.

4.2. Actividades de aprendizaje

  1. En las clases impartidas en el aula se desarrollará el temario de la asignatura.
  2. En las clases de problemas se resolverán problemas de aplicación de los conceptos y técnicas presentadas en el programa de la asignatura dentro del marco establecido por el trabajo en grupo
  3. Adicionalmente, se solicitará un trabajo en equipo, bajo la tutela de los profesores, donde se abordará un proyecto de software de pequeño tamaño.

4.3. Programa

El programa de la asignatura se compone de los siguientes grandes bloques:

  1. Gestión ágil con Scrum: principios ágiles, sprints, historias de usuario, la pila del producto, estimación, velocidad, planificación y deuda técnica
  2. Técnicas de gestión de proyectos: integración, alcance, tiempo, coste, calidad, personas y riesgos

4.4. Planificación de las actividades de aprendizaje y calendario de fechas clave

La organización docente prevista es la siguiente:

  • Clases magistrales (2 horas por semana)
  • Resolución de problemas y casos (1 hora por semana)

Los horarios de todas las actividades se anunciarán con suficiente antelación a través de las webs del centro y de la asignatura.

Los proyectos propuestos serán entregados en las fechas que se señalen con antelación y la fecha del examen se ajustará al calendario académico siguiendo la normativa.

 

La dedicación del estudiante para alcanzar los resultados de aprendizaje en esta asignatura se estima en 150 horas distribuidas del siguiente modo:

  • 45 horas, aproximadamente, de actividades presenciales (sesiones en el aula teóricas, de problemas, de presentación y análisis de casos de estudio y de seguimiento-evaluación)
  • 15 horas de estudio y evaluación
  • 90 horas de trabajo en grupo

 

El calendario detallado de las diversas actividades a desarrollar se establecerá una vez que la Universidad haya aprobado el calendario académico del curso correspondiente. En cualquier caso, las fechas importantes serán anunciadas con la suficiente antelación.

4.5. Bibliografía y recursos recomendados

[BB: Bibliografía básica / BC: Bibliografía complementaria]

http://psfunizar7.unizar.es/br13/egAsignaturas.php?codigo=30248&Identificador=14713

  • [BB] Rubin, Kenneth S. Essential Scrum : a practical guide to the most popular agile process / Kenneth S. Rubin . 7th print. Upper Saddle River (New Jersey) : Addison-Wesley, imp. 2015
  • [BC] Larman C. Practices for Scaling Lean & Agile Development: Large, Multisite, and Offshore Product Development with Large-Scale Scrum / Larman C, Vodde B. - 1st edition Addison-Wesley Professional, 2010