Code Monkey home page Code Monkey logo

dat255's Introduction

Course PM for Software Engineering Project (DAT255/DIT543) 7.5 HEC, Spring 2018

The course has been updated with new Intended Learning Objectives and has subsequently been given a new course code. The new course has its own repo, DAT256.

News

  • May 22: Here are two scenarios for tomorrow's final presentation. Some teams will be active in both scenarios while some teams are only participating in one scenario, the actors in each scenario are highlighted in the beginning of the document: Scenario1 and Scenario2
  • Mar 27: Added some material under Course Literature that was recommended by the Product Owners to better understand the shipping industry and how IT is changing the business
  • Mar 23: There is now a Slack channel for the course. The channel can be used for asking questions to the teachers, collaborating across teams, looking for team members or a team but also for technical support after Easter.
  • Mar 21: Today the student office assigned student representatives, please check below for further information
  • Mar 21: Today we have the Lego Scrum Exercise and in order to better understand if the exercise supports the intended learning objectives we would like you to fill out a survey after the exercise
  • Mar 15: The schedule is now updated with content for the lectures. This was unfortunately delayed due to having to negotiate meetings at other locations, sorry for this. The slides are tentative and there to indicate the content of each lecture, they will most probably be updated the same day as the lecture to accommodate changes conducted for this course instance.
  • Mar 02: In comparison to the last iteration of the course we have changed the examination to better reflect the learning objectives and changed the topic of the project. The examination is now clearly split into individual and team assessment, has a stronger focus on how to learn new technologies (from experience the most challenging learning objective) and has the same structure throughout the course (instead of varying over weeks). The topic this time will be manintenance and evolution of maritime IT applications instead of development of autonomous vehicles.
  • Mar 02: A first version of the course homepage is up and running. The homepage will be edited as the course evolves but Learning outcomes, Literature and Examination will stay as they are

Course description

The course consists of two phases. The first phase consists of three weeks and is used to introduce the course topics through lectures and exercises. During the first week the students form a scrum development team. The second phase consists of six weeks and centres around weekly supervision. During this phase the teams work together to develop applications for a specific purpose. Through guest lectures the students are given the opportunity to reflect on how their own work relates to what professional software engineers do and to put their own experiences into a bigger picture. The second phase finishes with a final presentation the week for the examination week. The examination week can be used for writing the final reflection.

The majority of the course work is done in project teams. The topic this time is within maritime IT and the case is to tailor a generic app for the specific needs and wishes of one of the actors operating in a port. The existing application can be found both on Google Play and the App Store. There is also a description of how to configure and use the app. The source code of the app can be forked from the github repo. There is a sandboxed backend, http://sandbox-6.portcdm.eu, that you can use for storing and retrieving data during the course. To give you an initial idea of the needs and wishes of the actors there is a scenario that describes typical port operations and their dependencies. The aim is to have ten teams so you will be approximately eight students per team.

Learning outcomes

In this course you will learn how to design and develop software, and to manage projects:

  • Knowledge and understanding, the student should be able to: - identify the complexities of software design and development - describe the fundamentals of software engineering, such as stakeholders and requirements - describe the difference between the Customer, the Solution, and the Endeavour as well as the different methods used for each

  • Skills and abilities, the student should be able to: - elicitate requirements from and design a solution to a real-world problem - plan and execute a small software development project in a team - apply skills from programming courses and other relevant courses in a project-like environment - learn new tools and APIs on his/her own

  • Judgement and approach, the student should be able to: - reflect on the choice of software engineering methods used in the project

Since a substantial part of the work is conducted in teams, please consider the Chalmers rules regarding your work conditions. If you encounter problems, contact Håkan immediately!

Teachers

ID Name Gitname Contact Role
HB Håkan Burden hburden [email protected] Course responsible
JS Jan-Philipp Steghöfer steghoja [email protected] Examiner

Student Representatives

Program E-mail Name
TKIEK [email protected] JOHN ERIKSSON
TKIEK [email protected] REBECCA HJERTONSSON
TKIEK [email protected] MATTIAS HULT
TKIEK [email protected] MARTIN MARKLUND
TKIEK [email protected] KONRAD MORZKOWSKI

Course Literature

Agile:

Git:

Vision:

  • The Scrum Alliance view on visions
  • Jim Highsmith's view on product visions

Maritime IT:

Schedule

The details of the lectures, exercises, workshops and deliverables will be explained during the first lecture. As we strive to mirror the TimeEdit schedule, please inform us if you find any differences!

Wk Date & Time Room Topic
01 Mar 19 13:15-15:00 VasaC Course introduction
Mar 19 15:15-17:00 VasaC Kata & Template
Mar 21 13:15-17:00 VasaC Lego Exercise
Mar 23 13:15-15:00 VasaC Scrum
02 Mar 26 13:15-15:00 VasaC Software quality
Mar 28 13:15-15:00 VasaC Project Introduction
03 Apr 09 13:15-15:00 VasaC MVP Exercise
Apr 11 13:15-17:00 Lindholmen Supervision
Apr 13 13:15-15:00 VasaC Guest lecture
04 Apr 18 13:15-17:00 Lindholmen Supervision
05 Apr 25 13:15-17:00 Lindholmen Supervision
06 May 02 13:15-17:00 Lindholmen Supervision
07 May 09 13:15-17:00 Lindholmen Supervision
08 May 16 13.15-17.00 Lindholmen Supervision
09 May 23 08:00-12:00 Lindholmen Final presentation
10 Jun 01 17:00 Sign Off

Examination

The assessment is done on both individual and team level. The assessment is done in terms of reflecting on pre-defined topics. Smith states that reflection is "assessment of what is in relation to what might or should be and includes feedback designed to reduce the gap" (R. Smith, Formative Evaluation and the Scholarship of Teaching and Learning, New Directions for Teaching and Learning, vol. 88, 2001, pp. 51-62) which can be boiled down to describing ...
... the current situation (A),
... what you want the situation to be (B), and
... a plan for getting from where you are to where you want to be (A -> B).

Each step is worth one point per topic, so that the maximum points for a topic is 3. But you can only score a point for a step if you received a point for the previous step(s). This means you get 0 points for only describing where you want to be since you don't have a point for describing the current situation. That also means that you can not reflect in week n if you have not recorded a reflection for week n-1, since this means that the chain of reflection is broken. We will only assign points to the last iteration (week 9) which should summarise and synthesise the learning from the previous iterations ("what is"), describe what you would like to do in a similar future project ("what might or should be") and how you can make the change come true ("feedback designed to reduce the gap").

As an individual you will upload a text document to the team repository where you each week reflect on the following questions

  • what do I want to learn or understand better?
  • how can I help someone else, or the entire team, to learn something new?
  • what is my contribution towards the team’s application of scrum?
  • what is my contribution towards the team’s deliveries?

That means that for the personal learning objective you will each week write down what you have achieved in relation to last week's ambition (technologies, concepts and skills learnt as well as how this was achieved), what you would like to achieve for the next week and how to make the change happen. The first week of the course you describe the current situation by motivating a learning objective. It is perfectly fine to change objective/s each week as long as you can motivate the change and you evaluate the outcome of the previous week (e.g. describing the current situation).

As a team you should reflect on the following topics:

  • the chosen scope of the application under development including priority of features and for whom you are creating value
  • your social contract, which means you should create one in the first week
  • the success criteria for the team in terms of what you want to achieve with your application
  • your acceptance tests, such as how they were performed and with whom
  • the design of your application (choice of APIs, architecture patterns etc)
  • the behavioural overview of your application (for instance through use cases, interaction diagrams or similar)
  • the structural overview of your application (such as class diagrams, domain models or component diagrams)
  • your user stories in terms of using a standard pattern, acceptance criteria, task breakdown and effort estimation
  • the three KPIs you use for monitoring your progress
  • code quality using a tool such as Findbugs (1 point if your code includes issues concerning correctness or bad style, 2 points if you have dodgy or performance issues and 3 points if the code is fine), only asses the code you have written yourself
  • the roles you have used within the team
  • the agile practices you have used for the current sprint
  • the time you have spent on the course (so keep track of your hours so you can describe the current situation)
  • the sprint review (either in terms of outcome of the current week's exercise or meeting the product owner)
  • best practices for using new tools and technologies (IDEs, version control, scrum boards etc.)
  • relation to literature and guest lectures (how do your reflections relate to what others have to say?)

The total for the team is then 16*3 = 48 but each team gets two additional points if all team members have completed their individual reflections, so that the total = 50. The team grade is then computed so that a total score within the range 00 - 20 = U (fail) 21 - 30 = 3 or G (pass) 31 - 40 = 4 41 - 50 = 5 or VG (pass w. distinction)

The individual grade is then based on the individual reflections, the outcome of analysing the contribution towards the team repository (for instance by gitinspector) and the outcome of the peer assessment. If the team has been awarded a grade for the course and there is a weekly individual reflection the grade of each team member can then be lowered or raised if both repository analysis and the peer assessment indicate a difference of 25% or more compared to the team mean. This means that in a team of six team members, receiving the team grade 4 where someone is responsible for 20% of the code and scored 14 out of 20 on the peer assessment, will get the individual grade 5. Conversely, a team of six with the team grade 3 where a team member committed 5% of the code and scored a mean of 7 out of 20 from peer assessment, will be failed.

We strive for a transparent and fair assessment strategy. That is why we as teachers are the ones that do the grading based on our experience.

dat255's People

Contributors

alehar9320 avatar antan avatar atom058 avatar bark avatar bellevik avatar emmagustaf avatar enlundj avatar filipcarlen avatar hakbur avatar hburden avatar helmertz avatar jswetzen avatar kirayatail avatar lucaspi avatar markusjohansson avatar matbern avatar micaels avatar morganericsson avatar nikhel avatar ollelindeman avatar patrikfritzner avatar petorsfz avatar robinjensen avatar simonwe avatar sir-hex avatar tomluvoe avatar torbjornr avatar trivoc avatar verath avatar villepetersson avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dat255's Issues

Clarification on technical discussion in Post Mortem Report

It is not explicitly stated if there should be any technical discussion about software architecture within the Post Mortem Report. As of now, it seems like the Post Mortem Report should ONLY elaborate on the development process, not on technical choices (IE discussing why we chose to use an Eventbus or why we regret using a singleton).

It would be nice if it was explicitly stated within the description of a Post Mortem Report whether technical discussions belong to a Post Mortem Report or not.

Email to Max and Erik

Hard to find the email adresses to Max and Erik on the hompeage, is it possible to add in the readme file?

Felstavat efternamn

I grupp 9 står det Magnus Danderstet som gruppdeltagare vilket är felstavat, efternamnet ska vara Dannerstedt

Slack invitation link

Det går inte att gå med i slacken för klassen utan att få en inbjudan från admin, så en invitation link skulle vara praktiskt för att ska kunna gå med

PortCDM Connector Lib setup

Skulle vara skönt att slippa skriva av xml filen från slidsen. Finns det någon möjlighet att hosta den någonstans?

Problem regarding the scenario

Hi, in the middle of the scenario document there seems to be a mix-up regarding the text and the email-example. The email I'm concerned about is after the paragraph "When Ship Agent 1 gets back to the office...". In the text it is explained that Ship Agent 1 sends the email, but in the example it is displayed as sent by the Captain of the vessel (below the "Best regards" part of the email). Which one is correct?

Swedish word in README

The word Litteratur within the headline "Course Litteratur / Recommended reading" in README.md should be translated to English.

Missing some kind of grading matrix

During the first supervision session we discussed different measures and how these are weighted into a final grade for the project. It would be nice to have these measures and the corresponding weights posted here on the web page.

Broken link

Fix [WatchMe for Android][http://github.com/johanbrook/watchme]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.