Module Code - Title:
CS4446
-
RESIDENCY 3: USER INTERACTION IN PRACTICE
Year Last Offered:
2024/5
Hours Per Week:
Grading Type:
N
Prerequisite Modules:
Rationale and Purpose of the Module:
This is Block 9 (21 ECTS) on the 3+1 Integrated BSc/MSc Immersive Software Engineering and runs Year 2 Weeks 6 to 15 (10 Weeks) in the summer semester.
This is a residency block which is situated on a collaborating industry partner site.
This residency introduces students to the practice of finding user problems, interpreting them into solutions, executing these solutions, and maintaining a feedback cycle with the user. All software engineering is user focused: internal tools teams have customers within their company, and product teams work with external customers. It is expected that after gathering appropriate requirements from customers, students will implement small and medium scale solutions as practiced in Residencies 1 and 2. In addition to addressing user problems, students will collect metrics to measure their changes, and use these to demonstrate improvements to their users and to their team.
Each student will be hosted by an industry partner for their residency and will be embedded in the team of their technical mentor. Students will attend meetings in which the team plans and evaluates its work, and coordinates with other teams. Students will collaborate with and learn from the software engineers on their team, and from other experts across the rest of the organization.
Under the joint supervision of academic and industry mentors the students will participate in periodic, cohort-based webinars open to all partners that build up the student's professional expertise in a systematic way. Student teams will be required to research a residency related topic and to present their findings during a webinar.
Syllabus:
1. Stakeholder analysis and user story mapping
2. The Architecture Business Cycle (ABC): understanding the organisation structure, portfolio,culture, and key stakeholders For example, business analyst architects, technical leads,developers, engineering managers, project managers, and others.
3. Programming language(s) and IDEs necessary to add features to the codebase.
4. Supporting the development process: CI/CD toolchains, middleware APIs and external APIs
5. Models of the enterprise and software architecture using an appropriate architecture modelling or specification language ranging from the Views and Beyond, UML, Krutchen's 4+1 model, to an Architecture Description Language (ADL)
6. Requirements elicitation: taxonomies of requirements, methods for requirements capture andvalidation, stakeholder analysis, from architecturally significant requirements to architecturaldesign decisions.
7. Creating the business case in the architecture lifecycle
8. Evaluating solutions for feature requests with respect to dependency management and supportof ASRs
9. Sentiment analysis as a means of modelling user engagement
Learning Outcomes:
Cognitive (Knowledge, Understanding, Application, Analysis, Evaluation, Synthesis)
On successful completion of this module, students will be able to:
- Describe the organisational structure and culture
- Identify the roles played by team members in the organisation. For example, business analyst architects, technical leads, developers, engineering managers, project managers, and others.
- Develop competency in the programming language(s) and IDEs necessary to commit changes to the codebase
- Correctly use CI/CD toolchains within the context of a development process
- Document changes as mandated by the organisation's standards
- Translate user sentiment into product design
- Connect product designs back to metrics that are linked with improvements in user sentiments. Examples can include: reduction in latency of API endpoints used by users; reduction in computing power used by internal services, which reduces cost to run the business; increasing conversion rate for customers in a sales pipeline; reduction in failure rate for api requests.
- Devise new metrics to measure the success of a product
- Effectively convince their manager and team of the effectiveness of their changes via metrics and user research.
- Keep and track a product roadmap as their research uncovers multiple opportunities for improvements.
- Create measured criterion for decisions and assist teams in helping to make decisions amongst their roadmap projects where residents are not expected to make the final decision, but will prepare the information such that managers and team members may do so collectively.
Affective (Attitudes and Values)
On successful completion of this module, students will be able to:
- Convey a professional manner at all times
- Present work in a precise and cohesive manner
- Update line managers as instructed and notify them of issues in a timely and precise manner.
- Adhere to schedules set out by team leads and project managers
- Comply in full with all of the tiered-industry partner's codes of conduct
- Comply fully with NDAs and contracts
Psychomotor (Physical Skills)
On successful completion of this module, students will be able to:
How the Module will be Taught and what will be the Learning Experiences of the Students:
This block is an Immersive Software Engineering residency and introduces students to professional practice in the context of user interaction.
While on residency, each student will have two mentors in their host company. One will be their technical mentor who will guide them through the process of writing and deploying software. The other will be their pastoral line manager who will be responsible for their overall experience. They will meet with their technical mentor every day, and their line manager once a week. It is anticipated that the time commitment from the technical mentor will be approximately 15 hours per week at the outset and decrease as the residency progresses, and that the time commitment from the line manager will be approximately 1.5 hours per week.
Both mentors will be high performing software engineers and will normally have at least 4 years experience in the field of software engineering, and a BSc in Computer Science or a related field. Mentors will be required to complete online courses that provides insight in supporting teaching and learning in a collaborative context, ECTS, learning outcomes, and monitoring and report student progress.
Mentor-driven tasks will be the norm for Residency 3, and these are small proramming-based assignments that are primarily defined by the mentor. Most days consist of coding, debugging, writing tests, and reporting back to the team. Students are sprinting with the team in an agile situation, and are mostly treated as very inexperienced team members. Timeline:
- Week 1: spin up tasks
- Weeks 2 onwards: task/document/bug fix cycle.
- Final Week: webinar prep + reflective essay
Under the joint supervision of academic and industry mentors the students will participate in periodic, cohort-based webinars open to all partners that build up the student's professional expertise in a systematic way. Student teams will present and discuss with the cohort the topics prepared since the previous seminar.
Residencies are not simply pass/fail, and have specific learning outcomes that students will be evaluated against. Students will maintain a "logbook" that tracks their progress on these learning outcomes. Faculty are ultimately responsible for grading, and will issue grades based on (a) the student logbook (b) quality of student led webinar produced as part of the residency and (c) evaluation by industry mentor.
The timeline for matching a student with a host company for Resiency 3 is as follows:
- Autumn semester Year 2: CV preparation, interview practice
- Spring semester Year 2 (Jan): submit applications to industry partners
- Spring semester Year 2 (Feb): begin matching process
- Spring semester Year 2 (Mar): interviews with industry partners, offers made and accepted
- Spring semester Year 2 (Apr/May): buffer period
- Summer semester Year 2 (June): Residency 3 begins
Students that are not matched for a residency by April of the spring semester will receive additional support with respect to the CV and interview practice and will be offered subsequent interviews in early May prior to the end of the spring semester Year 2. Should the student still not have a successful outcome, industry partners will commit on a rotating basis to offer these students a residential placement.
Residencies have check-ins with academic support structures. Academic advisors will meet weekly with their students. There may sometimes be lectures for a class held in an online mode on topics pertaining to the residency such as design of APIs, and professional practice such as performance review processes.
Early detection and interventions will be in place to support students who are not achieving learning outcomes in a timely manner.
Research Findings Incorporated in to the Syllabus (If Relevant):
Prime Texts:
J. Pattson (2014)
User Story Mapping: Discover the Whole Story, Build the Right Product
, O'Reilly
Other Relevant Texts:
M. Cagan (2017)
INSPIRED: How to Create Tech Products Customers Love, 2nd Edition
, Wiley
Programme(s) in which this Module is Offered:
Semester(s) Module is Offered:
Summer
Module Leader:
marie.travers@ul.ie