<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://eduwiki.innopolis.university/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=A.kruglov</id>
	<title>IU - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://eduwiki.innopolis.university/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=A.kruglov"/>
	<link rel="alternate" type="text/html" href="https://eduwiki.innopolis.university/index.php/Special:Contributions/A.kruglov"/>
	<updated>2026-05-07T18:25:22Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.36.1</generator>
	<entry>
		<id>https://eduwiki.innopolis.university/index.php?title=Professors&amp;diff=8196</id>
		<title>Professors</title>
		<link rel="alternate" type="text/html" href="https://eduwiki.innopolis.university/index.php?title=Professors&amp;diff=8196"/>
		<updated>2023-05-19T09:04:23Z</updated>

		<summary type="html">&lt;p&gt;A.kruglov: /* Assistant Professors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Full Professors =&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/AndreyFrolov Andrey Frolov]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/AlexanderHramov Alexander Hramov]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/AleksandrMaloletov Aleksandr Maloletov]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/AdilKhan Adil Khan]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/OlegKiselev Oleg Kiselev]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/ManuelMazzara Manuel Mazzara]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/GiancarloSucci Giancarlo Succi]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/AlexanderTormasov Alexander Tormasov]&lt;br /&gt;
&lt;br /&gt;
=Associate Professors =&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/JosephBrown Joseph Brown]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/RasheedHussain Rasheed Hussain]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/AlexanderKlimchik Alexander Klimchik]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/SemenKurkin Semen Kurkin]&lt;br /&gt;
&lt;br /&gt;
= Senior Professors of Practice =&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/EvgeniiZouev Evgenii Zouev]&lt;br /&gt;
&lt;br /&gt;
= Assistant Professors =&lt;br /&gt;
&amp;lt;!-- * [https://eduwiki.innopolis.university/index.php/LuizAraujo Luiz Araujo] --&amp;gt;&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/MohammedrezaBahrami Mohammedreza Bahrami]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/MirkoFarina Mirko Farina]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/IgorGaponov Igor Gaponov]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/SergeyGorodetsky Sergey Gorodetsky]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/VladimirIvanov Vladimir Ivanov]&lt;br /&gt;
&amp;lt;!-- * [https://eduwiki.innopolis.university/index.php/AhsanKazmi Ahsan Kazmi] --&amp;gt;&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/SergeyKladko Sergey Kladko]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/YaroslavKholodov Yaroslav Kholodov]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/IvanKonyukhov Ivan Konyukhov]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/ArtemKruglov Artem Kruglov]&lt;br /&gt;
&amp;lt;!-- * [https://eduwiki.innopolis.university/index.php/AlmaOracevic Alma Oracevic] --&amp;gt;&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/KirillPoletkin Kirill Poletkin]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/StanislavProtasov Stanislav Protasov]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/AndreySadovykh Andrey Sadovykh]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/SergeySavin Sergey Savin]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/NikolayShilov Nikolay Shilov]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/GeorgyGelvanovsky Georgy Gelvanovsky]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/RuslanSaduov Ruslan Saduov]&lt;br /&gt;
&lt;br /&gt;
= Postdocs =&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/ArtemBurmyakov Artem Burmyakov]&lt;br /&gt;
&lt;br /&gt;
= Adjunct Professors =&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/PaoloCiancarini Paolo Ciancarini]&lt;br /&gt;
&lt;br /&gt;
= Visiting Professors =&lt;br /&gt;
&lt;br /&gt;
= Teaching Assistants, Instructors, and Senior Instructors =&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/Nursultan_Askarbekuly ​​Nursultan Askarbekuly]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/OlegBulichev Oleg Bulichev]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/MansurKhazeev Mansur Khazeev]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/NikolayKudasov Nikolay Kudasov]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/MunirMakhmutov Munir Makhmutov]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/MaratMingazov ​Marat Mingazov]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/SaifMohammedsabri Saif Mohammedsabri]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/AnastasiyaPuzankova ​Anastasiya Puzankova]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/KirillSaltanov Kirill Saltanov]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/OksanaZhirosh Oksana Zhirosh]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/EvgeniyaKruglova Evgeniya Kruglova]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/RababMarouf Rabab Marouf]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/GuzelFazlyeva Guzel Fazlyeva]&lt;/div&gt;</summary>
		<author><name>A.kruglov</name></author>
	</entry>
	<entry>
		<id>https://eduwiki.innopolis.university/index.php?title=Professors&amp;diff=8195</id>
		<title>Professors</title>
		<link rel="alternate" type="text/html" href="https://eduwiki.innopolis.university/index.php?title=Professors&amp;diff=8195"/>
		<updated>2023-05-19T09:03:46Z</updated>

		<summary type="html">&lt;p&gt;A.kruglov: /* Postdocs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Full Professors =&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/AndreyFrolov Andrey Frolov]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/AlexanderHramov Alexander Hramov]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/AleksandrMaloletov Aleksandr Maloletov]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/AdilKhan Adil Khan]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/OlegKiselev Oleg Kiselev]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/ManuelMazzara Manuel Mazzara]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/GiancarloSucci Giancarlo Succi]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/AlexanderTormasov Alexander Tormasov]&lt;br /&gt;
&lt;br /&gt;
=Associate Professors =&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/JosephBrown Joseph Brown]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/RasheedHussain Rasheed Hussain]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/AlexanderKlimchik Alexander Klimchik]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/SemenKurkin Semen Kurkin]&lt;br /&gt;
&lt;br /&gt;
= Senior Professors of Practice =&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/EvgeniiZouev Evgenii Zouev]&lt;br /&gt;
&lt;br /&gt;
= Assistant Professors =&lt;br /&gt;
&amp;lt;!-- * [https://eduwiki.innopolis.university/index.php/LuizAraujo Luiz Araujo] --&amp;gt;&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/MohammedrezaBahrami Mohammedreza Bahrami]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/MirkoFarina Mirko Farina]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/IgorGaponov Igor Gaponov]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/SergeyGorodetsky Sergey Gorodetsky]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/VladimirIvanov Vladimir Ivanov]&lt;br /&gt;
&amp;lt;!-- * [https://eduwiki.innopolis.university/index.php/AhsanKazmi Ahsan Kazmi] --&amp;gt;&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/SergeyKladko Sergey Kladko]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/YaroslavKholodov Yaroslav Kholodov]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/IvanKonyukhov Ivan Konyukhov]&lt;br /&gt;
&amp;lt;!-- * [https://eduwiki.innopolis.university/index.php/AlmaOracevic Alma Oracevic] --&amp;gt;&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/KirillPoletkin Kirill Poletkin]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/StanislavProtasov Stanislav Protasov]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/AndreySadovykh Andrey Sadovykh]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/SergeySavin Sergey Savin]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/NikolayShilov Nikolay Shilov]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/GeorgyGelvanovsky Georgy Gelvanovsky]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/RuslanSaduov Ruslan Saduov]&lt;br /&gt;
&lt;br /&gt;
= Postdocs =&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/ArtemBurmyakov Artem Burmyakov]&lt;br /&gt;
&lt;br /&gt;
= Adjunct Professors =&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/PaoloCiancarini Paolo Ciancarini]&lt;br /&gt;
&lt;br /&gt;
= Visiting Professors =&lt;br /&gt;
&lt;br /&gt;
= Teaching Assistants, Instructors, and Senior Instructors =&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/Nursultan_Askarbekuly ​​Nursultan Askarbekuly]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/OlegBulichev Oleg Bulichev]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/MansurKhazeev Mansur Khazeev]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/NikolayKudasov Nikolay Kudasov]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/MunirMakhmutov Munir Makhmutov]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/MaratMingazov ​Marat Mingazov]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/SaifMohammedsabri Saif Mohammedsabri]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/AnastasiyaPuzankova ​Anastasiya Puzankova]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/KirillSaltanov Kirill Saltanov]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/OksanaZhirosh Oksana Zhirosh]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/EvgeniyaKruglova Evgeniya Kruglova]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/RababMarouf Rabab Marouf]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/GuzelFazlyeva Guzel Fazlyeva]&lt;/div&gt;</summary>
		<author><name>A.kruglov</name></author>
	</entry>
	<entry>
		<id>https://eduwiki.innopolis.university/index.php?title=ArtemKruglov&amp;diff=8194</id>
		<title>ArtemKruglov</title>
		<link rel="alternate" type="text/html" href="https://eduwiki.innopolis.university/index.php?title=ArtemKruglov&amp;diff=8194"/>
		<updated>2023-05-19T09:03:25Z</updated>

		<summary type="html">&lt;p&gt;A.kruglov: /* Courses */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Personal Information ==&lt;br /&gt;
&lt;br /&gt;
''' Email:''' a.kruglov@innopolis.ru&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/MSc:EmpiricalMethods Empirical Methods]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/BSc:OperatingSystems Operating Systems]&lt;br /&gt;
* [https://eduwiki.innopolis.university/index.php/BSc:LeanSoftwareDevelopment Lean Software Development]&lt;/div&gt;</summary>
		<author><name>A.kruglov</name></author>
	</entry>
	<entry>
		<id>https://eduwiki.innopolis.university/index.php?title=BSc:_Lean_Software_Development&amp;diff=8047</id>
		<title>BSc: Lean Software Development</title>
		<link rel="alternate" type="text/html" href="https://eduwiki.innopolis.university/index.php?title=BSc:_Lean_Software_Development&amp;diff=8047"/>
		<updated>2023-01-24T07:19:43Z</updated>

		<summary type="html">&lt;p&gt;A.kruglov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Lean Software Development =&lt;br /&gt;
* '''Course name''': Lean Software Development&lt;br /&gt;
* '''Code discipline''': XYZ&lt;br /&gt;
* '''Subject area''': &lt;br /&gt;
&lt;br /&gt;
== Short Description ==&lt;br /&gt;
This course covers the following concepts: Fundamental principles of producing software as a creative act of the human mind; Techniques to optimize such production, with specific focus on agile methods.&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
=== Prerequisite subjects ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Prerequisite topics ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Course Topics ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Course Sections and Topics&lt;br /&gt;
|-&lt;br /&gt;
! Section !! Topics within the section&lt;br /&gt;
|-&lt;br /&gt;
| Software as a creative activity || &lt;br /&gt;
# Nature of software&lt;br /&gt;
# Software and art&lt;br /&gt;
# Core resources for the production of software&lt;br /&gt;
# Tame and wicked projects&lt;br /&gt;
# Organizing the activities based on the GQM approach&lt;br /&gt;
|-&lt;br /&gt;
| Measurement in software || &lt;br /&gt;
# Meaning of measures&lt;br /&gt;
# The representational theory of measurement&lt;br /&gt;
# Measurement scales&lt;br /&gt;
# Fundamental measures for the production of software&lt;br /&gt;
# Procedural measures&lt;br /&gt;
# Object Oriented measures&lt;br /&gt;
|-&lt;br /&gt;
| Taylorism and Fordism || &lt;br /&gt;
# The increase of productivity in the idea of Taylor&lt;br /&gt;
# The role of division of work&lt;br /&gt;
# Planning and formalization of tasks&lt;br /&gt;
# Economies of scale&lt;br /&gt;
# Problems in understanding tasks&lt;br /&gt;
# Taylorism/Fordism and software development&lt;br /&gt;
|-&lt;br /&gt;
| Lean and Agile || &lt;br /&gt;
# Taiichi Ono and the Toyota Production System&lt;br /&gt;
# Creating a “Radiography” of the Production Process&lt;br /&gt;
# Workers involvement&lt;br /&gt;
# “Pull” and Not “Push”&lt;br /&gt;
# Kanban&lt;br /&gt;
# Quality management&lt;br /&gt;
# Process control&lt;br /&gt;
# Job enrichment&lt;br /&gt;
# Control and coordination mechanisms&lt;br /&gt;
# Case study: Extreme Programming&lt;br /&gt;
|-&lt;br /&gt;
| Issues in Lean and Agile || &lt;br /&gt;
# The “Hype of Agile”&lt;br /&gt;
# The dark side of agile&lt;br /&gt;
# Skepticism about agile methods&lt;br /&gt;
# Knowledge and software engineering&lt;br /&gt;
# Using burn-down charts&lt;br /&gt;
# The Zen of agile&lt;br /&gt;
|-&lt;br /&gt;
| Structuring a Lean Approach to software development || &lt;br /&gt;
# Existing proposals to create a “Lean Software Development”&lt;br /&gt;
# Sharing a common vision&lt;br /&gt;
# Depriving gurus of their power&lt;br /&gt;
# GQM+&lt;br /&gt;
# Applying the GQM+ step-by-step&lt;br /&gt;
# Business alignment&lt;br /&gt;
# GQM+ for business alignment&lt;br /&gt;
|-&lt;br /&gt;
| Optimizing the development process || &lt;br /&gt;
# Why the PDSA does not work in software&lt;br /&gt;
# The experience factory&lt;br /&gt;
# The QIP cycle&lt;br /&gt;
# Non invasive measurement&lt;br /&gt;
# The big-brother effect&lt;br /&gt;
# The role of autonomation&lt;br /&gt;
# Employing Andon boards&lt;br /&gt;
|} &lt;br /&gt;
== Intended Learning Outcomes (ILOs) ==&lt;br /&gt;
&lt;br /&gt;
=== What is the main purpose of this course? ===&lt;br /&gt;
This course exposes the student to the core concepts behind Lean Development in Software Engineering, beyond myths and legends, emphasizing how it relates to the general principles of Lean Development. It discusses the different possible software processes, how they can be tailored, enacted, and measured. In addition, a significant part of the course is centered around the application of lean to software development to knowledge intensive areas not necessarily connected to software.&lt;br /&gt;
&lt;br /&gt;
=== ILOs defined at three levels ===&lt;br /&gt;
&lt;br /&gt;
==== Level 1: What concepts should a student know/remember/explain? ====&lt;br /&gt;
By the end of the course, the students should be able to ...&lt;br /&gt;
* creative nature of software production as an act of creativity of the human mind,&lt;br /&gt;
* the substantial differences between tame and wicked problems,&lt;br /&gt;
* the core concepts of measurement in software engineering,&lt;br /&gt;
* the fundamentals of Taylorist/Fordist approaches to (software) production,&lt;br /&gt;
* the basis of lean and agile software development,&lt;br /&gt;
* the “dark” side of agility,&lt;br /&gt;
* the importance of knowledge and knowledge sharing in producing software,&lt;br /&gt;
* how to create an ad-hoc process for a development organization.&lt;br /&gt;
&lt;br /&gt;
==== Level 2: What basic practical skills should a student be able to perform? ====&lt;br /&gt;
By the end of the course, the students should be able to ...&lt;br /&gt;
* when a problem is “easy to solve” provided enough effort is put to such solution and when it is not,&lt;br /&gt;
* what is a measure in general,&lt;br /&gt;
* why it is important and how we can define and perform measurements in software engineering, especially in lean and agile development environments,&lt;br /&gt;
* how to organize the development process to collect metrics non invasively,&lt;br /&gt;
* the difference between pulling and pushing in (software) development,&lt;br /&gt;
* the fundamental principle of agility,&lt;br /&gt;
* the risk intrinsic in the dark side of agile,&lt;br /&gt;
* how to organize an agile development process based on the definition of overall Goals, associated Question, and milestones based on Metrics,&lt;br /&gt;
* an environment based on experience, like the Experience Factory.&lt;br /&gt;
&lt;br /&gt;
==== Level 3: What complex comprehensive skills should a student be able to apply in real-life scenarios? ====&lt;br /&gt;
By the end of the course, the students should be able to ...&lt;br /&gt;
* Compute the fundamental software metrics to track the evolution of a project,&lt;br /&gt;
* Organize the aims of a (software) development organization in terms of Goals, Questions, and Metrics,&lt;br /&gt;
* Create a tailored (lean and agile) development process for an organization producing software,&lt;br /&gt;
* Define a path to insert and manage such (lean and agile) development process into an organization producing software,&lt;br /&gt;
* Structure the experience gathering during inside an organization to based on it the future strategic decision of such organization,&lt;br /&gt;
* Relate the various proposals for Agile Methods to the overall principles of Lean Management,&lt;br /&gt;
* Define a suitable (lean) process for a new organization, a process to introduce and institutionalize it, and an approach to measure the outcome of such introduction and institutionalization. &lt;br /&gt;
== Grading ==&lt;br /&gt;
&lt;br /&gt;
=== Course grading range ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
! Grade !! Range !! Description of performance&lt;br /&gt;
|-&lt;br /&gt;
| A. Excellent || 91-100 || -&lt;br /&gt;
|-&lt;br /&gt;
| B. Good || 76-90 || -&lt;br /&gt;
|-&lt;br /&gt;
| C. Satisfactory || 51-75 || -&lt;br /&gt;
|-&lt;br /&gt;
| D. Poor || 0-50 || -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Course activities and grading breakdown ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
! Activity Type !! Percentage of the overall course grade&lt;br /&gt;
|-&lt;br /&gt;
| Class and lab participation (including class quizzes) || 20&lt;br /&gt;
|-&lt;br /&gt;
| Project || 40&lt;br /&gt;
|-&lt;br /&gt;
| Oral Exam || 40&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Each activity is mandatory and failing any component of the course implies failing the entire course and go to the retake, apart from the students declaring at the beginning of the course that they aim for a C, in which case the rule below applies.&lt;br /&gt;
&lt;br /&gt;
Students will be asked to define their learning goals at the beginning of the course and will have a personalized evaluation framework. In particular:&lt;br /&gt;
* Students aiming for a C can focus on attending lectures and having a pre-oral at the end of week 2, passing which they can achieve their goal, provided that they actively attend and participate at all lectures, including the final presentations;&lt;br /&gt;
* Students aiming for a B and A in addition to attending lecture and labs, sustaining an oral, also need to have a project with a clear output as written below, including a report and a presentation at the end.&lt;br /&gt;
&lt;br /&gt;
=== Recommendations for students on how to succeed in the course ===&lt;br /&gt;
The goal of the project is to read the book and understand what is the takeaway for software engineering, considering three fundamental aspects: a) the process to follow, b) the product being built c) the structure of the team and its organization. The projects will be executed in weekly iteration on traceable files.&lt;br /&gt;
&lt;br /&gt;
The projects will be partially graded weekly (30%) and part at the end (70%). Moreover, at the end you will need to give a 5-minute presentation of your work.&lt;br /&gt;
&lt;br /&gt;
During the first week of the project you will create the overall GQM of the project and you will be evaluated based on it during the second week. During the second week of the project you will also create the vision of your project with a roadmap. From the third week onward you will start to have the reviews of your project increments in terms of the a) progresses toward the completion b) accurate planning based on the defined GQM, and c) quality of the work. Weekly grade ranges from 0 to 2 points.&lt;br /&gt;
&lt;br /&gt;
The overall project success will be evaluated as following:&lt;br /&gt;
&lt;br /&gt;
=== Course activities and grading breakdown ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
! Grade !! Project outcome&lt;br /&gt;
|-&lt;br /&gt;
| A (100%) || In-depth analysis of the subject under investigation with original ideas for SE and practical experiments&lt;br /&gt;
|-&lt;br /&gt;
| B (80%) || In-depth analysis of the subject under investigation with original ideas for SE&lt;br /&gt;
|-&lt;br /&gt;
| C (60%) || Analysis of the subject under investigation, highlighting general ideas for SE, without novelty&lt;br /&gt;
|-&lt;br /&gt;
| D (0%) || No activities&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Resources, literature and reference materials ==&lt;br /&gt;
&lt;br /&gt;
=== Open access resources ===&lt;br /&gt;
* Textbook: Andrea Janes and Giancarlo Succi. Lean Software Development in Action. Springer, Heidelberg, Germany, 2014. ISBN 978-3-662-44178-7. doi: 10.1007/978-3-642-00503-9.&lt;br /&gt;
* Reference: James P. Womack and Daniel T. Jones. Lean Thinking: banish waste and create wealth in your corporation. Lean Enterprise Institute. Simon &amp;amp; Schuster, 1996. ISBN 9780684810355.&lt;br /&gt;
* Reference: Taiichi Ohno. Toyota production system: beyond large-scale production. CRC Press, 1988&lt;br /&gt;
* Reference: James P. Womack. Lean Thinking. Simon &amp;amp; Schuster, Limited, 1997. ISBN 9780671004712.&lt;br /&gt;
* Reference: James P. Womack, Daniel T. Jones, and Daniel Roos. The Machine That Changed the World: The Story of Lean Production. Harper Perennial modern classics. HarperCollins, 1991. ISBN 9780060974176.&lt;br /&gt;
* Reference: Mary Poppendieck and Tom Poppendieck. Implementing Lean Software Development: From Concept to Cash. A Kent Beck signature book. Addison-Wesley, 2007. ISBN 9780321437389.&lt;br /&gt;
* Reference: C.M. Christensen. The Innovator’s Dilemma: When New Technologies Cause Great Firms to Fail. Management of innovation and change series. Harvard Business School Press, 1997. ISBN 9780875845852.&lt;br /&gt;
&lt;br /&gt;
=== Closed access resources ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Software and tools used within the course ===&lt;br /&gt;
Moodle, Miro, Overleaf&lt;br /&gt;
 &lt;br /&gt;
= Teaching Methodology: Methods, techniques, &amp;amp; activities =&lt;br /&gt;
&lt;br /&gt;
== Activities and Teaching Methods ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Activities within each section&lt;br /&gt;
|-&lt;br /&gt;
! Learning Activities !! Section 1 !! Section 2 !! Section 3 !! Section 4 !! Section 5 !! Section 6 !! Section 7&lt;br /&gt;
|-&lt;br /&gt;
| Homework and group projects || 1 || 1 || 1 || 1 || 1 || 1 || 1&lt;br /&gt;
|-&lt;br /&gt;
| Reports || 1 || 1 || 1 || 1 || 1 || 1 || 1&lt;br /&gt;
|-&lt;br /&gt;
| Oral polls || 1 || 1 || 1 || 1 || 1 || 1 || 1&lt;br /&gt;
|-&lt;br /&gt;
| Discussions || 1 || 1 || 1 || 1 || 1 || 1 || 1&lt;br /&gt;
|} &lt;br /&gt;
== Formative Assessment and Course Activities ==&lt;br /&gt;
&lt;br /&gt;
=== Ongoing performance assessment ===&lt;br /&gt;
&lt;br /&gt;
==== Section 1 ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
! Activity Type !! Content !! Is Graded?&lt;br /&gt;
|-&lt;br /&gt;
| Question || Provide examples of creativity in the production of software. || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Describe the differences between tame and wicked projects. || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Discuss the key resources needed for the production of software. || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are key issues in creative production of software for distributed teams? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Provide examples of wicked problems from your everyday life || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Evidence wickedness in different aspects of software production || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Create a GQM for your aims of the semester || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Discuss the role of GQM in tame and wicked projects || 0&lt;br /&gt;
|} &lt;br /&gt;
==== Section 2 ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
! Activity Type !! Content !! Is Graded?&lt;br /&gt;
|-&lt;br /&gt;
| Question || Provide examples of the representational theory of measurement || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || List the measurement scales || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Present for each measurement scale the operations that can be performed on it || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Discuss the representational condition || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are key size metrics? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are key complexity metrics? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Provide examples of subjective and objective metrics || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || List 3 direct and 3 indirect measures, evidencing also the problems connected to the construction of indirect measures || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Compute LOC and other size metrics for code snippets || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Compute MCC and other complexity metrics for code snippets || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Compute the metrics of the CK suite for portions of Object Oriented systems || 0&lt;br /&gt;
|} &lt;br /&gt;
==== Section 3 ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
! Activity Type !! Content !! Is Graded?&lt;br /&gt;
|-&lt;br /&gt;
| Question || Detail the fundamental assumptions by Taylor || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are the fundamental activities of managers according to Taylor? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || In which sense Taylor has influenced what we now consider “good management practices?” || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || How does creativity relates to the “good management practices” of Taylor? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are the problems in applying Fordism/Taylorism to software development? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Provide examples of companies where the approach by Taylor has been successful || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Discuss how the approach of Taylor can be useful in attracting and/or retaining employees || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Analyse the fundamental activities of managers according to Taylor and determine their limits || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Determine the fundamental activities of managers according to Taylor can have an implication in the software crisis || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Outline how flexibility and variable requirements can be handled in the context of Taylorism and Fordism || 0&lt;br /&gt;
|} &lt;br /&gt;
==== Section 4 ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
! Activity Type !! Content !! Is Graded?&lt;br /&gt;
|-&lt;br /&gt;
| Question || Present the key problems in batch production || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Outline the key principles of the approach of Ono at Toyota || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are the fundamental steps in eliminating waste according to Ono? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Details the role of the customers and of the workers in the approach of Ono || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Explain the difference between “Pulling” and “Pushing” || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are key steps in improving quality according to Ono? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are the key control and coordination mechanisms available? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are the fundamental two actions needed to perform a Lean transformation according to Ono? || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are the associated three major needs? || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are the 5 steps to enact Lean Thinking according to Womak and Jones? || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Discuss the 8 constantly ongoing activities in a lean company like Toyota || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || How can activities been classified in a decision matrix in an environment like Toyota? || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Provide concrete examples of “Push” and of “Pull” in software production. || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Details the control and coordination mechanisms present in agile and in traditional development environments. || 0&lt;br /&gt;
|} &lt;br /&gt;
==== Section 5 ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
! Activity Type !! Content !! Is Graded?&lt;br /&gt;
|-&lt;br /&gt;
| Question || What is the Gartner’s Innovation Hype Cycle? Could you provide examples of application of it to a different field of knowledge? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Describe the so-called “Dark Agile Manifesto” || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are the sources of the skepticism present with respect to Agile? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What makes agile awkward in the eyes of “traditional” managers? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Given a production system, how do you determine what is the value of every step, how much improvement can be considered enough, and when is the point reached where value is not increased anymore but destroyed? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || How is it possible to obtain knowledge about the production process? How can I create visibility of the ongoing activities or problems? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Identify in other areas of software engineering phenomenon similar to the “Dark Side of Agile.” || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Identify in other knowledge-intensive fields phenomena similar to the “Dark Side of Agile” and discuss how they can be tackled. || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Given a production process, determine strategies to store knowledge to create experience? || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || How can you design the production process so that the team uses the gained experience? || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || How can you systematically improve your process, also building on the experience to anticipate problems (create wisdom)? || 0&lt;br /&gt;
|} &lt;br /&gt;
==== Section 6 ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
! Activity Type !! Content !! Is Graded?&lt;br /&gt;
|-&lt;br /&gt;
| Question || Reflect on the seven principles for characterizing Lean Software Development by Mary and Tom Poppendieck. || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What is the semantic gap and which threats it poses to effective software development? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Map the structure of Extreme Programming to the layered structure of Shalloway et al. || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || How does the scientific method deprives gurus from their power? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are the steps to implement the GQM+? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || For what reason measurement goals and business goals should be interconnected? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || How do the practices of Lean Management defined by Hibbs and colleagues relate to the seven principles by Mary and Tom Poppendieck || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Propose how you could develop software and hardware tools to promote common visions in companies. || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Elaborate a proposal to create some kind of Balanced Scorecards to evaluate your current study. || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Discuss the opinion of Ono about following plans and the extent to which such opinion contradicts (a) the practices, and (b) the principles of the tayloristic/fordistic approach || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Propose a SWAT analysis to introduce a Lean approach to your most recent software development endavour || 0&lt;br /&gt;
|} &lt;br /&gt;
==== Section 7 ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
! Activity Type !! Content !! Is Graded?&lt;br /&gt;
|-&lt;br /&gt;
| Question || Details the major components of an experience factory. || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are Reflection, Retrospective, and Post-Mortem Analysis? Why are they useful in Lean Software Development? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are the key components of a non invasive software measurement systems? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What is the big brother effect and how it is possible to alleviate it. || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Discuss how autonomation is present in Extreme Programming. || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Where is the term “Dashboard” coming from and what is its use in Lean Software Development? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || List the steps of a QIP. || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Discuss the risks of a measurement program and how non invasive software measurement can help alleviating them. || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Are there cases in which Theory X of management could be more effective than Theory Y? Discuss your findings. || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || For which aspects of software production autonomation could be useful? || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Which tools could be used to promote autonomation? || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Prototype by paper and pencil an Andon board that you would consider useful in a software production environment. || 0&lt;br /&gt;
|} &lt;br /&gt;
=== Final assessment ===&lt;br /&gt;
'''Section 1'''&lt;br /&gt;
# Present the salient aspects of wicked problems&lt;br /&gt;
# List the key aspects of software that make it a wicked problem&lt;br /&gt;
# Provide a link between wickedness and creativity in software production&lt;br /&gt;
# Discuss what promotes and what inhibit creativity in general and in software production&lt;br /&gt;
# Outline meaning and limitation of the concept of “engineering” the production of software&lt;br /&gt;
'''Section 2'''&lt;br /&gt;
# Structure the aims of a company using the GQM and detailing the metrics to compute, also explaining the deductions and the predictions that can be made with such metrics.&lt;br /&gt;
# Given an index computed as a combination of metrics, determine if it is a metrics according to the representational theory of measurement.&lt;br /&gt;
# Analyse a portion of a system and determine suitable metrics to extract and the information that would be provided by such metrics.&lt;br /&gt;
# Given a website performing a service (like flight reservations), compute the Function Points for such website.&lt;br /&gt;
# Discuss how to structure a taxonomy of quality for a specific company, explaining the role of reliability in it, and detailing how to compute the reliability again in the context of such company; please make the assumptions that you need to perform such computation.&lt;br /&gt;
'''Section 3'''&lt;br /&gt;
# What aspects of making software feel like an art, which like a craft to you and how could you bend Taylorism and Fordism to handle it?&lt;br /&gt;
# How does Fordism and Taylorism can explain that companies producing software containing bugs can still stay in the market, and, in certain case, also be successful?&lt;br /&gt;
# Based on your experience and previous courses, which development models can refer to Fordism and Taylorism and which cannot be reduced to it?&lt;br /&gt;
# How does the specialization of work in software development can be linked to Fordism and Taylorism?&lt;br /&gt;
# Provide an example for each of the fundamental activities of managers according to Taylor that shows how such activity is very useful in software development and one that shows that is is inadequate.&lt;br /&gt;
'''Section 4'''&lt;br /&gt;
# Structure a model like PDSA for a company producing websites for online marketing.&lt;br /&gt;
# How can the right part and the right information be always available without waste according to the Toyota approach?&lt;br /&gt;
# Compare a street crossing based on traffic lights with a roundabout and determine the approach that is safest and the one with the a highest throughput according to Waterfall and to Lean.&lt;br /&gt;
# Discuss the involvements of workers in tayloristic/fordistic and in Lean development processes and their implications for the retention and the improvement of the quality of the workforce.&lt;br /&gt;
# Outline the extent of which economies of scale exist in Lean development processes.&lt;br /&gt;
# Imagine you had to introduce Extreme Programming in a software development team that follows a waterfall process. Which problems do you foresee? How will the clients react (that until now are used to work with a team that used the waterfall process)? How would you address them?&lt;br /&gt;
'''Section 5'''&lt;br /&gt;
# Imagine you are the boss of a small software development company. Which actions would you do or which practices would you introduce to prevent that your programmers fall into the trap of following a software guru?&lt;br /&gt;
# Elaborate possible extreme (and damaging) positions that can be taken by gurus of agile.&lt;br /&gt;
# Explain the differences in introducing a methodology by a guru and by a smart and effective coach.&lt;br /&gt;
# Detail why Extreme Programming produces an informative workspace.&lt;br /&gt;
# Discuss effective ways of packaging and “distributing” knowledge in software teams, starting with the guru approach of organizing knowledge into simple, clear practices which are easy to explain and to follow.&lt;br /&gt;
'''Section 6'''&lt;br /&gt;
# Discuss the role of customer on-site under the perspective of lean and outline it relevance in the earlier and then in the later proposals of agile software development.&lt;br /&gt;
# Suppose that you have to develop Balanced Scorecards for a software development team. Which perspectives would you use? Which goals would you use for each perspective?&lt;br /&gt;
# What is a socio-technical system and how can it be used to describe an (agile) software production environement?&lt;br /&gt;
# Imagine you want to evaluate how readable the source code of some program is. Define a GQM+ model to describe what and why you would measure.&lt;br /&gt;
# The development in company M occurs according to the following schema: when a new project is started, a developer takes an old project that is the most similar to the new requirements and makes a copy and starts implementing the required modifications. To improve this process and to help the company to adopt a component-based approach, we want to understand which pieces of code are the best candidates for future components and which variability points they have. Define a suitable GQM+ for such purpose.&lt;br /&gt;
'''Section 7'''&lt;br /&gt;
# What type of wisdom (in the sense of “know-why”) would you manage in an Experience Factory to support Lean Thinking? Distinguish between organizational learning and project learning.&lt;br /&gt;
# Assume you are a manager convinced that Theory X is true. Which non-invasive measurement probes would you want to develop to maximize productivity? Now assume you are convinced that Theory Y is true. Which non-invasive measurement probes would you need now?&lt;br /&gt;
# We discussed that we foresee two ways to collect measurements non- invasively: in batch and in background mode. What are the advantages and disadvantages of each approach?&lt;br /&gt;
# There are many interrelated building blocks (or concepts) of Lean Software Development and each contributes differently to it. What types of data are handled by each of these building blocks (or concepts)? How do the contribution to the overall value stream, to the creation of knowledge, and to the overall improvement?&lt;br /&gt;
# Assume you set up a fantastic dashboard for your team. As you collect the data and visualize it, you notice that all the measurements show problematic values. You let the dashboard in place for some days and also show it to your collaborators, but nobody cares; everybody continues his job as if everything would be fine. What is going wrong?&lt;/div&gt;</summary>
		<author><name>A.kruglov</name></author>
	</entry>
	<entry>
		<id>https://eduwiki.innopolis.university/index.php?title=BSc:_Lean_Software_Development&amp;diff=8009</id>
		<title>BSc: Lean Software Development</title>
		<link rel="alternate" type="text/html" href="https://eduwiki.innopolis.university/index.php?title=BSc:_Lean_Software_Development&amp;diff=8009"/>
		<updated>2023-01-18T06:24:01Z</updated>

		<summary type="html">&lt;p&gt;A.kruglov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Lean Software Development =&lt;br /&gt;
* '''Course name''': Lean Software Development&lt;br /&gt;
* '''Code discipline''': XYZ&lt;br /&gt;
* '''Subject area''': &lt;br /&gt;
&lt;br /&gt;
== Short Description ==&lt;br /&gt;
This course covers the following concepts: Fundamental principles of producing software as a creative act of the human mind; Techniques to optimize such production, with specific focus on agile methods.&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
=== Prerequisite subjects ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Prerequisite topics ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Course Topics ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Course Sections and Topics&lt;br /&gt;
|-&lt;br /&gt;
! Section !! Topics within the section&lt;br /&gt;
|-&lt;br /&gt;
| Software as a creative activity || &lt;br /&gt;
# Nature of software&lt;br /&gt;
# Software and art&lt;br /&gt;
# Core resources for the production of software&lt;br /&gt;
# Tame and wicked projects&lt;br /&gt;
# Organizing the activities based on the GQM approach&lt;br /&gt;
|-&lt;br /&gt;
| Measurement in software || &lt;br /&gt;
# Meaning of measures&lt;br /&gt;
# The representational theory of measurement&lt;br /&gt;
# Measurement scales&lt;br /&gt;
# Fundamental measures for the production of software&lt;br /&gt;
# Procedural measures&lt;br /&gt;
# Object Oriented measures&lt;br /&gt;
|-&lt;br /&gt;
| Taylorism and Fordism || &lt;br /&gt;
# The increase of productivity in the idea of Taylor&lt;br /&gt;
# The role of division of work&lt;br /&gt;
# Planning and formalization of tasks&lt;br /&gt;
# Economies of scale&lt;br /&gt;
# Problems in understanding tasks&lt;br /&gt;
# Taylorism/Fordism and software development&lt;br /&gt;
|-&lt;br /&gt;
| Lean and Agile || &lt;br /&gt;
# Taiichi Ono and the Toyota Production System&lt;br /&gt;
# Creating a “Radiography” of the Production Process&lt;br /&gt;
# Workers involvement&lt;br /&gt;
# “Pull” and Not “Push”&lt;br /&gt;
# Kanban&lt;br /&gt;
# Quality management&lt;br /&gt;
# Process control&lt;br /&gt;
# Job enrichment&lt;br /&gt;
# Control and coordination mechanisms&lt;br /&gt;
# Case study: Extreme Programming&lt;br /&gt;
|-&lt;br /&gt;
| Issues in Lean and Agile || &lt;br /&gt;
# The “Hype of Agile”&lt;br /&gt;
# The dark side of agile&lt;br /&gt;
# Skepticism about agile methods&lt;br /&gt;
# Knowledge and software engineering&lt;br /&gt;
# Using burn-down charts&lt;br /&gt;
# The Zen of agile&lt;br /&gt;
|-&lt;br /&gt;
| Structuring a Lean Approach to software development || &lt;br /&gt;
# Existing proposals to create a “Lean Software Development”&lt;br /&gt;
# Sharing a common vision&lt;br /&gt;
# Depriving gurus of their power&lt;br /&gt;
# GQM+&lt;br /&gt;
# Applying the GQM+ step-by-step&lt;br /&gt;
# Business alignment&lt;br /&gt;
# GQM+ for business alignment&lt;br /&gt;
|-&lt;br /&gt;
| Optimizing the development process || &lt;br /&gt;
# Why the PDSA does not work in software&lt;br /&gt;
# The experience factory&lt;br /&gt;
# The QIP cycle&lt;br /&gt;
# Non invasive measurement&lt;br /&gt;
# The big-brother effect&lt;br /&gt;
# The role of autonomation&lt;br /&gt;
# Employing Andon boards&lt;br /&gt;
|} &lt;br /&gt;
== Intended Learning Outcomes (ILOs) ==&lt;br /&gt;
&lt;br /&gt;
=== What is the main purpose of this course? ===&lt;br /&gt;
This course exposes the student to the core concepts behind Lean Development in Software Engineering, beyond myths and legends, emphasizing how it relates to the general principles of Lean Development. It discusses the different possible software processes, how they can be tailored, enacted, and measured. In addition, a significant part of the course is centered around the application of lean to software development to knowledge intensive areas not necessarily connected to software.&lt;br /&gt;
&lt;br /&gt;
=== ILOs defined at three levels ===&lt;br /&gt;
&lt;br /&gt;
==== Level 1: What concepts should a student know/remember/explain? ====&lt;br /&gt;
By the end of the course, the students should be able to ...&lt;br /&gt;
* creative nature of software production as an act of creativity of the human mind,&lt;br /&gt;
* the substantial differences between tame and wicked problems,&lt;br /&gt;
* the core concepts of measurement in software engineering,&lt;br /&gt;
* the fundamentals of Taylorist/Fordist approaches to (software) production,&lt;br /&gt;
* the basis of lean and agile software development,&lt;br /&gt;
* the “dark” side of agility,&lt;br /&gt;
* the importance of knowledge and knowledge sharing in producing software,&lt;br /&gt;
* how to create an ad-hoc process for a development organization.&lt;br /&gt;
&lt;br /&gt;
==== Level 2: What basic practical skills should a student be able to perform? ====&lt;br /&gt;
By the end of the course, the students should be able to ...&lt;br /&gt;
* when a problem is “easy to solve” provided enough effort is put to such solution and when it is not,&lt;br /&gt;
* what is a measure in general,&lt;br /&gt;
* why it is important and how we can define and perform measurements in software engineering, especially in lean and agile development environments,&lt;br /&gt;
* how to organize the development process to collect metrics non invasively,&lt;br /&gt;
* the difference between pulling and pushing in (software) development,&lt;br /&gt;
* the fundamental principle of agility,&lt;br /&gt;
* the risk intrinsic in the dark side of agile,&lt;br /&gt;
* how to organize an agile development process based on the definition of overall Goals, associated Question, and milestones based on Metrics,&lt;br /&gt;
* an environment based on experience, like the Experience Factory.&lt;br /&gt;
&lt;br /&gt;
==== Level 3: What complex comprehensive skills should a student be able to apply in real-life scenarios? ====&lt;br /&gt;
By the end of the course, the students should be able to ...&lt;br /&gt;
* Compute the fundamental software metrics to track the evolution of a project,&lt;br /&gt;
* Organize the aims of a (software) development organization in terms of Goals, Questions, and Metrics,&lt;br /&gt;
* Create a tailored (lean and agile) development process for an organization producing software,&lt;br /&gt;
* Define a path to insert and manage such (lean and agile) development process into an organization producing software,&lt;br /&gt;
* Structure the experience gathering during inside an organization to based on it the future strategic decision of such organization,&lt;br /&gt;
* Relate the various proposals for Agile Methods to the overall principles of Lean Management,&lt;br /&gt;
* Define a suitable (lean) process for a new organization, a process to introduce and institutionalize it, and an approach to measure the outcome of such introduction and institutionalization. &lt;br /&gt;
== Grading ==&lt;br /&gt;
&lt;br /&gt;
=== Course grading range ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
! Grade !! Range !! Description of performance&lt;br /&gt;
|-&lt;br /&gt;
| A. Excellent || 91-100 || -&lt;br /&gt;
|-&lt;br /&gt;
| B. Good || 76-90 || -&lt;br /&gt;
|-&lt;br /&gt;
| C. Satisfactory || 51-75 || -&lt;br /&gt;
|-&lt;br /&gt;
| D. Poor || 0-50 || -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Course activities and grading breakdown ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
! Activity Type !! Percentage of the overall course grade&lt;br /&gt;
|-&lt;br /&gt;
| Class and lab participation (including class quizzes) || 20&lt;br /&gt;
|-&lt;br /&gt;
| Project || 40&lt;br /&gt;
|-&lt;br /&gt;
| Oral Exam || 40&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Recommendations for students on how to succeed in the course ===&lt;br /&gt;
The goal of the project is to read the book and understand what is the takeaway for software engineering, considering three fundamental aspects: a) the process to follow, b) the product being built c) the structure of the team and its organization. The projects will be executed in weekly iteration on traceable files.&lt;br /&gt;
&lt;br /&gt;
The projects will be partially graded weekly (30%) and part at the end (70%). Moreover, at the end you will need to give a 5-minute presentation of your work.&lt;br /&gt;
&lt;br /&gt;
During the first week of the project you will create the overall GQM of the project and you will be evaluated based on it during the second week. During the second week of the project you will also create the vision of your project with a roadmap. From the third week onward you will start to have the reviews of your project increments in terms of the a) progresses toward the completion b) accurate planning based on the defined GQM, and c) quality of the work. Weekly grade ranges from 0 to 2 points.&lt;br /&gt;
&lt;br /&gt;
The overall project success will be evaluated as following:&lt;br /&gt;
&lt;br /&gt;
=== Course activities and grading breakdown ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
! Grade !! Project outcome&lt;br /&gt;
|-&lt;br /&gt;
| A (100%) || In-depth analysis of the book with original ideas for SE and practical experiments&lt;br /&gt;
|-&lt;br /&gt;
| B (80%) || In-depth analysis of the book with original ideas for SE&lt;br /&gt;
|-&lt;br /&gt;
| C (60%) || Analysis of the book, highlighting general ideas for SE, without novelty&lt;br /&gt;
|-&lt;br /&gt;
| D (0%) || No project activities&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Resources, literature and reference materials ==&lt;br /&gt;
&lt;br /&gt;
=== Open access resources ===&lt;br /&gt;
* Textbook: Andrea Janes and Giancarlo Succi. Lean Software Development in Action. Springer, Heidelberg, Germany, 2014. ISBN 978-3-662-44178-7. doi: 10.1007/978-3-642-00503-9.&lt;br /&gt;
* Reference: James P. Womack and Daniel T. Jones. Lean Thinking: banish waste and create wealth in your corporation. Lean Enterprise Institute. Simon &amp;amp; Schuster, 1996. ISBN 9780684810355.&lt;br /&gt;
* Reference: Taiichi Ohno. Toyota production system: beyond large-scale production. CRC Press, 1988&lt;br /&gt;
* Reference: James P. Womack. Lean Thinking. Simon &amp;amp; Schuster, Limited, 1997. ISBN 9780671004712.&lt;br /&gt;
* Reference: James P. Womack, Daniel T. Jones, and Daniel Roos. The Machine That Changed the World: The Story of Lean Production. Harper Perennial modern classics. HarperCollins, 1991. ISBN 9780060974176.&lt;br /&gt;
* Reference: Mary Poppendieck and Tom Poppendieck. Implementing Lean Software Development: From Concept to Cash. A Kent Beck signature book. Addison-Wesley, 2007. ISBN 9780321437389.&lt;br /&gt;
* Reference: C.M. Christensen. The Innovator’s Dilemma: When New Technologies Cause Great Firms to Fail. Management of innovation and change series. Harvard Business School Press, 1997. ISBN 9780875845852.&lt;br /&gt;
&lt;br /&gt;
=== Closed access resources ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Software and tools used within the course ===&lt;br /&gt;
Moodle, Miro, Overleaf&lt;br /&gt;
 &lt;br /&gt;
= Teaching Methodology: Methods, techniques, &amp;amp; activities =&lt;br /&gt;
&lt;br /&gt;
== Activities and Teaching Methods ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Activities within each section&lt;br /&gt;
|-&lt;br /&gt;
! Learning Activities !! Section 1 !! Section 2 !! Section 3 !! Section 4 !! Section 5 !! Section 6 !! Section 7&lt;br /&gt;
|-&lt;br /&gt;
| Homework and group projects || 1 || 1 || 1 || 1 || 1 || 1 || 1&lt;br /&gt;
|-&lt;br /&gt;
| Reports || 1 || 1 || 1 || 1 || 1 || 1 || 1&lt;br /&gt;
|-&lt;br /&gt;
| Oral polls || 1 || 1 || 1 || 1 || 1 || 1 || 1&lt;br /&gt;
|-&lt;br /&gt;
| Discussions || 1 || 1 || 1 || 1 || 1 || 1 || 1&lt;br /&gt;
|} &lt;br /&gt;
== Formative Assessment and Course Activities ==&lt;br /&gt;
&lt;br /&gt;
=== Ongoing performance assessment ===&lt;br /&gt;
&lt;br /&gt;
==== Section 1 ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
! Activity Type !! Content !! Is Graded?&lt;br /&gt;
|-&lt;br /&gt;
| Question || Provide examples of creativity in the production of software. || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Describe the differences between tame and wicked projects. || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Discuss the key resources needed for the production of software. || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are key issues in creative production of software for distributed teams? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Provide examples of wicked problems from your everyday life || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Evidence wickedness in different aspects of software production || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Create a GQM for your aims of the semester || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Discuss the role of GQM in tame and wicked projects || 0&lt;br /&gt;
|} &lt;br /&gt;
==== Section 2 ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
! Activity Type !! Content !! Is Graded?&lt;br /&gt;
|-&lt;br /&gt;
| Question || Provide examples of the representational theory of measurement || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || List the measurement scales || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Present for each measurement scale the operations that can be performed on it || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Discuss the representational condition || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are key size metrics? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are key complexity metrics? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Provide examples of subjective and objective metrics || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || List 3 direct and 3 indirect measures, evidencing also the problems connected to the construction of indirect measures || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Compute LOC and other size metrics for code snippets || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Compute MCC and other complexity metrics for code snippets || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Compute the metrics of the CK suite for portions of Object Oriented systems || 0&lt;br /&gt;
|} &lt;br /&gt;
==== Section 3 ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
! Activity Type !! Content !! Is Graded?&lt;br /&gt;
|-&lt;br /&gt;
| Question || Detail the fundamental assumptions by Taylor || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are the fundamental activities of managers according to Taylor? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || In which sense Taylor has influenced what we now consider “good management practices?” || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || How does creativity relates to the “good management practices” of Taylor? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are the problems in applying Fordism/Taylorism to software development? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Provide examples of companies where the approach by Taylor has been successful || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Discuss how the approach of Taylor can be useful in attracting and/or retaining employees || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Analyse the fundamental activities of managers according to Taylor and determine their limits || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Determine the fundamental activities of managers according to Taylor can have an implication in the software crisis || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Outline how flexibility and variable requirements can be handled in the context of Taylorism and Fordism || 0&lt;br /&gt;
|} &lt;br /&gt;
==== Section 4 ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
! Activity Type !! Content !! Is Graded?&lt;br /&gt;
|-&lt;br /&gt;
| Question || Present the key problems in batch production || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Outline the key principles of the approach of Ono at Toyota || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are the fundamental steps in eliminating waste according to Ono? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Details the role of the customers and of the workers in the approach of Ono || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Explain the difference between “Pulling” and “Pushing” || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are key steps in improving quality according to Ono? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are the key control and coordination mechanisms available? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are the fundamental two actions needed to perform a Lean transformation according to Ono? || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are the associated three major needs? || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are the 5 steps to enact Lean Thinking according to Womak and Jones? || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Discuss the 8 constantly ongoing activities in a lean company like Toyota || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || How can activities been classified in a decision matrix in an environment like Toyota? || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Provide concrete examples of “Push” and of “Pull” in software production. || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Details the control and coordination mechanisms present in agile and in traditional development environments. || 0&lt;br /&gt;
|} &lt;br /&gt;
==== Section 5 ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
! Activity Type !! Content !! Is Graded?&lt;br /&gt;
|-&lt;br /&gt;
| Question || What is the Gartner’s Innovation Hype Cycle? Could you provide examples of application of it to a different field of knowledge? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Describe the so-called “Dark Agile Manifesto” || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are the sources of the skepticism present with respect to Agile? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What makes agile awkward in the eyes of “traditional” managers? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Given a production system, how do you determine what is the value of every step, how much improvement can be considered enough, and when is the point reached where value is not increased anymore but destroyed? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || How is it possible to obtain knowledge about the production process? How can I create visibility of the ongoing activities or problems? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Identify in other areas of software engineering phenomenon similar to the “Dark Side of Agile.” || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Identify in other knowledge-intensive fields phenomena similar to the “Dark Side of Agile” and discuss how they can be tackled. || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Given a production process, determine strategies to store knowledge to create experience? || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || How can you design the production process so that the team uses the gained experience? || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || How can you systematically improve your process, also building on the experience to anticipate problems (create wisdom)? || 0&lt;br /&gt;
|} &lt;br /&gt;
==== Section 6 ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
! Activity Type !! Content !! Is Graded?&lt;br /&gt;
|-&lt;br /&gt;
| Question || Reflect on the seven principles for characterizing Lean Software Development by Mary and Tom Poppendieck. || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What is the semantic gap and which threats it poses to effective software development? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Map the structure of Extreme Programming to the layered structure of Shalloway et al. || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || How does the scientific method deprives gurus from their power? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are the steps to implement the GQM+? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || For what reason measurement goals and business goals should be interconnected? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || How do the practices of Lean Management defined by Hibbs and colleagues relate to the seven principles by Mary and Tom Poppendieck || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Propose how you could develop software and hardware tools to promote common visions in companies. || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Elaborate a proposal to create some kind of Balanced Scorecards to evaluate your current study. || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Discuss the opinion of Ono about following plans and the extent to which such opinion contradicts (a) the practices, and (b) the principles of the tayloristic/fordistic approach || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Propose a SWAT analysis to introduce a Lean approach to your most recent software development endavour || 0&lt;br /&gt;
|} &lt;br /&gt;
==== Section 7 ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
! Activity Type !! Content !! Is Graded?&lt;br /&gt;
|-&lt;br /&gt;
| Question || Details the major components of an experience factory. || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are Reflection, Retrospective, and Post-Mortem Analysis? Why are they useful in Lean Software Development? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are the key components of a non invasive software measurement systems? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What is the big brother effect and how it is possible to alleviate it. || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Discuss how autonomation is present in Extreme Programming. || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Where is the term “Dashboard” coming from and what is its use in Lean Software Development? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || List the steps of a QIP. || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Discuss the risks of a measurement program and how non invasive software measurement can help alleviating them. || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Are there cases in which Theory X of management could be more effective than Theory Y? Discuss your findings. || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || For which aspects of software production autonomation could be useful? || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Which tools could be used to promote autonomation? || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Prototype by paper and pencil an Andon board that you would consider useful in a software production environment. || 0&lt;br /&gt;
|} &lt;br /&gt;
=== Final assessment ===&lt;br /&gt;
'''Section 1'''&lt;br /&gt;
# Present the salient aspects of wicked problems&lt;br /&gt;
# List the key aspects of software that make it a wicked problem&lt;br /&gt;
# Provide a link between wickedness and creativity in software production&lt;br /&gt;
# Discuss what promotes and what inhibit creativity in general and in software production&lt;br /&gt;
# Outline meaning and limitation of the concept of “engineering” the production of software&lt;br /&gt;
'''Section 2'''&lt;br /&gt;
# Structure the aims of a company using the GQM and detailing the metrics to compute, also explaining the deductions and the predictions that can be made with such metrics.&lt;br /&gt;
# Given an index computed as a combination of metrics, determine if it is a metrics according to the representational theory of measurement.&lt;br /&gt;
# Analyse a portion of a system and determine suitable metrics to extract and the information that would be provided by such metrics.&lt;br /&gt;
# Given a website performing a service (like flight reservations), compute the Function Points for such website.&lt;br /&gt;
# Discuss how to structure a taxonomy of quality for a specific company, explaining the role of reliability in it, and detailing how to compute the reliability again in the context of such company; please make the assumptions that you need to perform such computation.&lt;br /&gt;
'''Section 3'''&lt;br /&gt;
# What aspects of making software feel like an art, which like a craft to you and how could you bend Taylorism and Fordism to handle it?&lt;br /&gt;
# How does Fordism and Taylorism can explain that companies producing software containing bugs can still stay in the market, and, in certain case, also be successful?&lt;br /&gt;
# Based on your experience and previous courses, which development models can refer to Fordism and Taylorism and which cannot be reduced to it?&lt;br /&gt;
# How does the specialization of work in software development can be linked to Fordism and Taylorism?&lt;br /&gt;
# Provide an example for each of the fundamental activities of managers according to Taylor that shows how such activity is very useful in software development and one that shows that is is inadequate.&lt;br /&gt;
'''Section 4'''&lt;br /&gt;
# Structure a model like PDSA for a company producing websites for online marketing.&lt;br /&gt;
# How can the right part and the right information be always available without waste according to the Toyota approach?&lt;br /&gt;
# Compare a street crossing based on traffic lights with a roundabout and determine the approach that is safest and the one with the a highest throughput according to Waterfall and to Lean.&lt;br /&gt;
# Discuss the involvements of workers in tayloristic/fordistic and in Lean development processes and their implications for the retention and the improvement of the quality of the workforce.&lt;br /&gt;
# Outline the extent of which economies of scale exist in Lean development processes.&lt;br /&gt;
# Imagine you had to introduce Extreme Programming in a software development team that follows a waterfall process. Which problems do you foresee? How will the clients react (that until now are used to work with a team that used the waterfall process)? How would you address them?&lt;br /&gt;
'''Section 5'''&lt;br /&gt;
# Imagine you are the boss of a small software development company. Which actions would you do or which practices would you introduce to prevent that your programmers fall into the trap of following a software guru?&lt;br /&gt;
# Elaborate possible extreme (and damaging) positions that can be taken by gurus of agile.&lt;br /&gt;
# Explain the differences in introducing a methodology by a guru and by a smart and effective coach.&lt;br /&gt;
# Detail why Extreme Programming produces an informative workspace.&lt;br /&gt;
# Discuss effective ways of packaging and “distributing” knowledge in software teams, starting with the guru approach of organizing knowledge into simple, clear practices which are easy to explain and to follow.&lt;br /&gt;
'''Section 6'''&lt;br /&gt;
# Discuss the role of customer on-site under the perspective of lean and outline it relevance in the earlier and then in the later proposals of agile software development.&lt;br /&gt;
# Suppose that you have to develop Balanced Scorecards for a software development team. Which perspectives would you use? Which goals would you use for each perspective?&lt;br /&gt;
# What is a socio-technical system and how can it be used to describe an (agile) software production environement?&lt;br /&gt;
# Imagine you want to evaluate how readable the source code of some program is. Define a GQM+ model to describe what and why you would measure.&lt;br /&gt;
# The development in company M occurs according to the following schema: when a new project is started, a developer takes an old project that is the most similar to the new requirements and makes a copy and starts implementing the required modifications. To improve this process and to help the company to adopt a component-based approach, we want to understand which pieces of code are the best candidates for future components and which variability points they have. Define a suitable GQM+ for such purpose.&lt;br /&gt;
'''Section 7'''&lt;br /&gt;
# What type of wisdom (in the sense of “know-why”) would you manage in an Experience Factory to support Lean Thinking? Distinguish between organizational learning and project learning.&lt;br /&gt;
# Assume you are a manager convinced that Theory X is true. Which non-invasive measurement probes would you want to develop to maximize productivity? Now assume you are convinced that Theory Y is true. Which non-invasive measurement probes would you need now?&lt;br /&gt;
# We discussed that we foresee two ways to collect measurements non- invasively: in batch and in background mode. What are the advantages and disadvantages of each approach?&lt;br /&gt;
# There are many interrelated building blocks (or concepts) of Lean Software Development and each contributes differently to it. What types of data are handled by each of these building blocks (or concepts)? How do the contribution to the overall value stream, to the creation of knowledge, and to the overall improvement?&lt;br /&gt;
# Assume you set up a fantastic dashboard for your team. As you collect the data and visualize it, you notice that all the measurements show problematic values. You let the dashboard in place for some days and also show it to your collaborators, but nobody cares; everybody continues his job as if everything would be fine. What is going wrong?&lt;/div&gt;</summary>
		<author><name>A.kruglov</name></author>
	</entry>
	<entry>
		<id>https://eduwiki.innopolis.university/index.php?title=BSc:_Lean_Software_Development&amp;diff=8008</id>
		<title>BSc: Lean Software Development</title>
		<link rel="alternate" type="text/html" href="https://eduwiki.innopolis.university/index.php?title=BSc:_Lean_Software_Development&amp;diff=8008"/>
		<updated>2023-01-17T06:52:21Z</updated>

		<summary type="html">&lt;p&gt;A.kruglov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Lean Software Development =&lt;br /&gt;
* '''Course name''': Lean Software Development&lt;br /&gt;
* '''Code discipline''': XYZ&lt;br /&gt;
* '''Subject area''': &lt;br /&gt;
&lt;br /&gt;
== Short Description ==&lt;br /&gt;
This course covers the following concepts: Fundamental principles of producing software as a creative act of the human mind; Techniques to optimize such production, with specific focus on agile methods.&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
=== Prerequisite subjects ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Prerequisite topics ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Course Topics ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Course Sections and Topics&lt;br /&gt;
|-&lt;br /&gt;
! Section !! Topics within the section&lt;br /&gt;
|-&lt;br /&gt;
| Software as a creative activity || &lt;br /&gt;
# Nature of software&lt;br /&gt;
# Software and art&lt;br /&gt;
# Core resources for the production of software&lt;br /&gt;
# Tame and wicked projects&lt;br /&gt;
# Organizing the activities based on the GQM approach&lt;br /&gt;
|-&lt;br /&gt;
| Measurement in software || &lt;br /&gt;
# Meaning of measures&lt;br /&gt;
# The representational theory of measurement&lt;br /&gt;
# Measurement scales&lt;br /&gt;
# Fundamental measures for the production of software&lt;br /&gt;
# Procedural measures&lt;br /&gt;
# Object Oriented measures&lt;br /&gt;
|-&lt;br /&gt;
| Taylorism and Fordism || &lt;br /&gt;
# The increase of productivity in the idea of Taylor&lt;br /&gt;
# The role of division of work&lt;br /&gt;
# Planning and formalization of tasks&lt;br /&gt;
# Economies of scale&lt;br /&gt;
# Problems in understanding tasks&lt;br /&gt;
# Taylorism/Fordism and software development&lt;br /&gt;
|-&lt;br /&gt;
| Lean and Agile || &lt;br /&gt;
# Taiichi Ono and the Toyota Production System&lt;br /&gt;
# Creating a “Radiography” of the Production Process&lt;br /&gt;
# Workers involvement&lt;br /&gt;
# “Pull” and Not “Push”&lt;br /&gt;
# Kanban&lt;br /&gt;
# Quality management&lt;br /&gt;
# Process control&lt;br /&gt;
# Job enrichment&lt;br /&gt;
# Control and coordination mechanisms&lt;br /&gt;
# Case study: Extreme Programming&lt;br /&gt;
|-&lt;br /&gt;
| Issues in Lean and Agile || &lt;br /&gt;
# The “Hype of Agile”&lt;br /&gt;
# The dark side of agile&lt;br /&gt;
# Skepticism about agile methods&lt;br /&gt;
# Knowledge and software engineering&lt;br /&gt;
# Using burn-down charts&lt;br /&gt;
# The Zen of agile&lt;br /&gt;
|-&lt;br /&gt;
| Structuring a Lean Approach to software development || &lt;br /&gt;
# Existing proposals to create a “Lean Software Development”&lt;br /&gt;
# Sharing a common vision&lt;br /&gt;
# Depriving gurus of their power&lt;br /&gt;
# GQM+&lt;br /&gt;
# Applying the GQM+ step-by-step&lt;br /&gt;
# Business alignment&lt;br /&gt;
# GQM+ for business alignment&lt;br /&gt;
|-&lt;br /&gt;
| Optimizing the development process || &lt;br /&gt;
# Why the PDSA does not work in software&lt;br /&gt;
# The experience factory&lt;br /&gt;
# The QIP cycle&lt;br /&gt;
# Non invasive measurement&lt;br /&gt;
# The big-brother effect&lt;br /&gt;
# The role of autonomation&lt;br /&gt;
# Employing Andon boards&lt;br /&gt;
|} &lt;br /&gt;
== Intended Learning Outcomes (ILOs) ==&lt;br /&gt;
&lt;br /&gt;
=== What is the main purpose of this course? ===&lt;br /&gt;
This course exposes the student to the core concepts behind Lean Development in Software Engineering, beyond myths and legends, emphasizing how it relates to the general principles of Lean Development. It discusses the different possible software processes, how they can be tailored, enacted, and measured. In addition, a significant part of the course is centered around the application of lean to software development to knowledge intensive areas not necessarily connected to software.&lt;br /&gt;
&lt;br /&gt;
=== ILOs defined at three levels ===&lt;br /&gt;
&lt;br /&gt;
==== Level 1: What concepts should a student know/remember/explain? ====&lt;br /&gt;
By the end of the course, the students should be able to ...&lt;br /&gt;
* creative nature of software production as an act of creativity of the human mind,&lt;br /&gt;
* the substantial differences between tame and wicked problems,&lt;br /&gt;
* the core concepts of measurement in software engineering,&lt;br /&gt;
* the fundamentals of Taylorist/Fordist approaches to (software) production,&lt;br /&gt;
* the basis of lean and agile software development,&lt;br /&gt;
* the “dark” side of agility,&lt;br /&gt;
* the importance of knowledge and knowledge sharing in producing software,&lt;br /&gt;
* how to create an ad-hoc process for a development organization.&lt;br /&gt;
&lt;br /&gt;
==== Level 2: What basic practical skills should a student be able to perform? ====&lt;br /&gt;
By the end of the course, the students should be able to ...&lt;br /&gt;
* when a problem is “easy to solve” provided enough effort is put to such solution and when it is not,&lt;br /&gt;
* what is a measure in general,&lt;br /&gt;
* why it is important and how we can define and perform measurements in software engineering, especially in lean and agile development environments,&lt;br /&gt;
* how to organize the development process to collect metrics non invasively,&lt;br /&gt;
* the difference between pulling and pushing in (software) development,&lt;br /&gt;
* the fundamental principle of agility,&lt;br /&gt;
* the risk intrinsic in the dark side of agile,&lt;br /&gt;
* how to organize an agile development process based on the definition of overall Goals, associated Question, and milestones based on Metrics,&lt;br /&gt;
* an environment based on experience, like the Experience Factory.&lt;br /&gt;
&lt;br /&gt;
==== Level 3: What complex comprehensive skills should a student be able to apply in real-life scenarios? ====&lt;br /&gt;
By the end of the course, the students should be able to ...&lt;br /&gt;
* Compute the fundamental software metrics to track the evolution of a project,&lt;br /&gt;
* Organize the aims of a (software) development organization in terms of Goals, Questions, and Metrics,&lt;br /&gt;
* Create a tailored (lean and agile) development process for an organization producing software,&lt;br /&gt;
* Define a path to insert and manage such (lean and agile) development process into an organization producing software,&lt;br /&gt;
* Structure the experience gathering during inside an organization to based on it the future strategic decision of such organization,&lt;br /&gt;
* Relate the various proposals for Agile Methods to the overall principles of Lean Management,&lt;br /&gt;
* Define a suitable (lean) process for a new organization, a process to introduce and institutionalize it, and an approach to measure the outcome of such introduction and institutionalization. &lt;br /&gt;
== Grading ==&lt;br /&gt;
&lt;br /&gt;
=== Course grading range ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
! Grade !! Range !! Description of performance&lt;br /&gt;
|-&lt;br /&gt;
| A. Excellent || 91-100 || -&lt;br /&gt;
|-&lt;br /&gt;
| B. Good || 76-90 || -&lt;br /&gt;
|-&lt;br /&gt;
| C. Satisfactory || 51-75 || -&lt;br /&gt;
|-&lt;br /&gt;
| D. Poor || 0-50 || -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Course activities and grading breakdown ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
! Activity Type !! Percentage of the overall course grade&lt;br /&gt;
|-&lt;br /&gt;
| Class and lab participation (including class quizzes) || 20&lt;br /&gt;
|-&lt;br /&gt;
| Project || 40&lt;br /&gt;
|-&lt;br /&gt;
| Oral Exam || 40&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Recommendations for students on how to succeed in the course ===&lt;br /&gt;
The goal of the project is to read the book and understand what is the takeaway for software engineering, considering three fundamental aspects: a) the process to follow, b) the product being built c) the structure of the team and its organization. The projects will be executed in weekly iteration on traceable files.&lt;br /&gt;
&lt;br /&gt;
The projects will be partially graded weekly (30%) and part at the end (70%). Moreover, at the end you will need to provide a max 5 minutes video presenting your work.&lt;br /&gt;
&lt;br /&gt;
During the first week of the project you will create the overall GQM of the project and you will be evaluated based on it during the second week. During the second week of the project you will also create the vision of your project with a roadmap. From the third week onward you will start to have the reviews of your project increments in terms of the a) progresses toward the completion b) accurate planning based on the defined GQM, and c) quality of the work. Weekly grade ranges from 0 to 2 points.&lt;br /&gt;
&lt;br /&gt;
The overall project success will be evaluated as following:&lt;br /&gt;
&lt;br /&gt;
=== Course activities and grading breakdown ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
! Grade !! Project outcome&lt;br /&gt;
|-&lt;br /&gt;
| A (100%) || In-depth analysis of the book with original ideas for SE and practical experiments&lt;br /&gt;
|-&lt;br /&gt;
| B (80%) || In-depth analysis of the book with original ideas for SE&lt;br /&gt;
|-&lt;br /&gt;
| C (60%) || Analysis of the book, highlighting general ideas for SE, without novelty&lt;br /&gt;
|-&lt;br /&gt;
| D (0%) || No project activities&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Resources, literature and reference materials ==&lt;br /&gt;
&lt;br /&gt;
=== Open access resources ===&lt;br /&gt;
* Textbook: Andrea Janes and Giancarlo Succi. Lean Software Development in Action. Springer, Heidelberg, Germany, 2014. ISBN 978-3-662-44178-7. doi: 10.1007/978-3-642-00503-9.&lt;br /&gt;
* Reference: James P. Womack and Daniel T. Jones. Lean Thinking: banish waste and create wealth in your corporation. Lean Enterprise Institute. Simon &amp;amp; Schuster, 1996. ISBN 9780684810355.&lt;br /&gt;
* Reference: Taiichi Ohno. Toyota production system: beyond large-scale production. CRC Press, 1988&lt;br /&gt;
* Reference: James P. Womack. Lean Thinking. Simon &amp;amp; Schuster, Limited, 1997. ISBN 9780671004712.&lt;br /&gt;
* Reference: James P. Womack, Daniel T. Jones, and Daniel Roos. The Machine That Changed the World: The Story of Lean Production. Harper Perennial modern classics. HarperCollins, 1991. ISBN 9780060974176.&lt;br /&gt;
* Reference: Mary Poppendieck and Tom Poppendieck. Implementing Lean Software Development: From Concept to Cash. A Kent Beck signature book. Addison-Wesley, 2007. ISBN 9780321437389.&lt;br /&gt;
* Reference: C.M. Christensen. The Innovator’s Dilemma: When New Technologies Cause Great Firms to Fail. Management of innovation and change series. Harvard Business School Press, 1997. ISBN 9780875845852.&lt;br /&gt;
&lt;br /&gt;
=== Closed access resources ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Software and tools used within the course ===&lt;br /&gt;
Moodle, Miro, Overleaf&lt;br /&gt;
 &lt;br /&gt;
= Teaching Methodology: Methods, techniques, &amp;amp; activities =&lt;br /&gt;
&lt;br /&gt;
== Activities and Teaching Methods ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Activities within each section&lt;br /&gt;
|-&lt;br /&gt;
! Learning Activities !! Section 1 !! Section 2 !! Section 3 !! Section 4 !! Section 5 !! Section 6 !! Section 7&lt;br /&gt;
|-&lt;br /&gt;
| Homework and group projects || 1 || 1 || 1 || 1 || 1 || 1 || 1&lt;br /&gt;
|-&lt;br /&gt;
| Reports || 1 || 1 || 1 || 1 || 1 || 1 || 1&lt;br /&gt;
|-&lt;br /&gt;
| Oral polls || 1 || 1 || 1 || 1 || 1 || 1 || 1&lt;br /&gt;
|-&lt;br /&gt;
| Discussions || 1 || 1 || 1 || 1 || 1 || 1 || 1&lt;br /&gt;
|} &lt;br /&gt;
== Formative Assessment and Course Activities ==&lt;br /&gt;
&lt;br /&gt;
=== Ongoing performance assessment ===&lt;br /&gt;
&lt;br /&gt;
==== Section 1 ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
! Activity Type !! Content !! Is Graded?&lt;br /&gt;
|-&lt;br /&gt;
| Question || Provide examples of creativity in the production of software. || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Describe the differences between tame and wicked projects. || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Discuss the key resources needed for the production of software. || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are key issues in creative production of software for distributed teams? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Provide examples of wicked problems from your everyday life || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Evidence wickedness in different aspects of software production || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Create a GQM for your aims of the semester || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Discuss the role of GQM in tame and wicked projects || 0&lt;br /&gt;
|} &lt;br /&gt;
==== Section 2 ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
! Activity Type !! Content !! Is Graded?&lt;br /&gt;
|-&lt;br /&gt;
| Question || Provide examples of the representational theory of measurement || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || List the measurement scales || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Present for each measurement scale the operations that can be performed on it || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Discuss the representational condition || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are key size metrics? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are key complexity metrics? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Provide examples of subjective and objective metrics || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || List 3 direct and 3 indirect measures, evidencing also the problems connected to the construction of indirect measures || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Compute LOC and other size metrics for code snippets || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Compute MCC and other complexity metrics for code snippets || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Compute the metrics of the CK suite for portions of Object Oriented systems || 0&lt;br /&gt;
|} &lt;br /&gt;
==== Section 3 ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
! Activity Type !! Content !! Is Graded?&lt;br /&gt;
|-&lt;br /&gt;
| Question || Detail the fundamental assumptions by Taylor || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are the fundamental activities of managers according to Taylor? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || In which sense Taylor has influenced what we now consider “good management practices?” || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || How does creativity relates to the “good management practices” of Taylor? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are the problems in applying Fordism/Taylorism to software development? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Provide examples of companies where the approach by Taylor has been successful || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Discuss how the approach of Taylor can be useful in attracting and/or retaining employees || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Analyse the fundamental activities of managers according to Taylor and determine their limits || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Determine the fundamental activities of managers according to Taylor can have an implication in the software crisis || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Outline how flexibility and variable requirements can be handled in the context of Taylorism and Fordism || 0&lt;br /&gt;
|} &lt;br /&gt;
==== Section 4 ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
! Activity Type !! Content !! Is Graded?&lt;br /&gt;
|-&lt;br /&gt;
| Question || Present the key problems in batch production || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Outline the key principles of the approach of Ono at Toyota || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are the fundamental steps in eliminating waste according to Ono? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Details the role of the customers and of the workers in the approach of Ono || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Explain the difference between “Pulling” and “Pushing” || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are key steps in improving quality according to Ono? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are the key control and coordination mechanisms available? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are the fundamental two actions needed to perform a Lean transformation according to Ono? || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are the associated three major needs? || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are the 5 steps to enact Lean Thinking according to Womak and Jones? || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Discuss the 8 constantly ongoing activities in a lean company like Toyota || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || How can activities been classified in a decision matrix in an environment like Toyota? || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Provide concrete examples of “Push” and of “Pull” in software production. || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Details the control and coordination mechanisms present in agile and in traditional development environments. || 0&lt;br /&gt;
|} &lt;br /&gt;
==== Section 5 ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
! Activity Type !! Content !! Is Graded?&lt;br /&gt;
|-&lt;br /&gt;
| Question || What is the Gartner’s Innovation Hype Cycle? Could you provide examples of application of it to a different field of knowledge? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Describe the so-called “Dark Agile Manifesto” || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are the sources of the skepticism present with respect to Agile? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What makes agile awkward in the eyes of “traditional” managers? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Given a production system, how do you determine what is the value of every step, how much improvement can be considered enough, and when is the point reached where value is not increased anymore but destroyed? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || How is it possible to obtain knowledge about the production process? How can I create visibility of the ongoing activities or problems? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Identify in other areas of software engineering phenomenon similar to the “Dark Side of Agile.” || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Identify in other knowledge-intensive fields phenomena similar to the “Dark Side of Agile” and discuss how they can be tackled. || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Given a production process, determine strategies to store knowledge to create experience? || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || How can you design the production process so that the team uses the gained experience? || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || How can you systematically improve your process, also building on the experience to anticipate problems (create wisdom)? || 0&lt;br /&gt;
|} &lt;br /&gt;
==== Section 6 ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
! Activity Type !! Content !! Is Graded?&lt;br /&gt;
|-&lt;br /&gt;
| Question || Reflect on the seven principles for characterizing Lean Software Development by Mary and Tom Poppendieck. || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What is the semantic gap and which threats it poses to effective software development? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Map the structure of Extreme Programming to the layered structure of Shalloway et al. || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || How does the scientific method deprives gurus from their power? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are the steps to implement the GQM+? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || For what reason measurement goals and business goals should be interconnected? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || How do the practices of Lean Management defined by Hibbs and colleagues relate to the seven principles by Mary and Tom Poppendieck || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Propose how you could develop software and hardware tools to promote common visions in companies. || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Elaborate a proposal to create some kind of Balanced Scorecards to evaluate your current study. || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Discuss the opinion of Ono about following plans and the extent to which such opinion contradicts (a) the practices, and (b) the principles of the tayloristic/fordistic approach || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Propose a SWAT analysis to introduce a Lean approach to your most recent software development endavour || 0&lt;br /&gt;
|} &lt;br /&gt;
==== Section 7 ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
! Activity Type !! Content !! Is Graded?&lt;br /&gt;
|-&lt;br /&gt;
| Question || Details the major components of an experience factory. || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are Reflection, Retrospective, and Post-Mortem Analysis? Why are they useful in Lean Software Development? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are the key components of a non invasive software measurement systems? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What is the big brother effect and how it is possible to alleviate it. || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Discuss how autonomation is present in Extreme Programming. || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Where is the term “Dashboard” coming from and what is its use in Lean Software Development? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || List the steps of a QIP. || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Discuss the risks of a measurement program and how non invasive software measurement can help alleviating them. || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Are there cases in which Theory X of management could be more effective than Theory Y? Discuss your findings. || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || For which aspects of software production autonomation could be useful? || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Which tools could be used to promote autonomation? || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Prototype by paper and pencil an Andon board that you would consider useful in a software production environment. || 0&lt;br /&gt;
|} &lt;br /&gt;
=== Final assessment ===&lt;br /&gt;
'''Section 1'''&lt;br /&gt;
# Present the salient aspects of wicked problems&lt;br /&gt;
# List the key aspects of software that make it a wicked problem&lt;br /&gt;
# Provide a link between wickedness and creativity in software production&lt;br /&gt;
# Discuss what promotes and what inhibit creativity in general and in software production&lt;br /&gt;
# Outline meaning and limitation of the concept of “engineering” the production of software&lt;br /&gt;
'''Section 2'''&lt;br /&gt;
# Structure the aims of a company using the GQM and detailing the metrics to compute, also explaining the deductions and the predictions that can be made with such metrics.&lt;br /&gt;
# Given an index computed as a combination of metrics, determine if it is a metrics according to the representational theory of measurement.&lt;br /&gt;
# Analyse a portion of a system and determine suitable metrics to extract and the information that would be provided by such metrics.&lt;br /&gt;
# Given a website performing a service (like flight reservations), compute the Function Points for such website.&lt;br /&gt;
# Discuss how to structure a taxonomy of quality for a specific company, explaining the role of reliability in it, and detailing how to compute the reliability again in the context of such company; please make the assumptions that you need to perform such computation.&lt;br /&gt;
'''Section 3'''&lt;br /&gt;
# What aspects of making software feel like an art, which like a craft to you and how could you bend Taylorism and Fordism to handle it?&lt;br /&gt;
# How does Fordism and Taylorism can explain that companies producing software containing bugs can still stay in the market, and, in certain case, also be successful?&lt;br /&gt;
# Based on your experience and previous courses, which development models can refer to Fordism and Taylorism and which cannot be reduced to it?&lt;br /&gt;
# How does the specialization of work in software development can be linked to Fordism and Taylorism?&lt;br /&gt;
# Provide an example for each of the fundamental activities of managers according to Taylor that shows how such activity is very useful in software development and one that shows that is is inadequate.&lt;br /&gt;
'''Section 4'''&lt;br /&gt;
# Structure a model like PDSA for a company producing websites for online marketing.&lt;br /&gt;
# How can the right part and the right information be always available without waste according to the Toyota approach?&lt;br /&gt;
# Compare a street crossing based on traffic lights with a roundabout and determine the approach that is safest and the one with the a highest throughput according to Waterfall and to Lean.&lt;br /&gt;
# Discuss the involvements of workers in tayloristic/fordistic and in Lean development processes and their implications for the retention and the improvement of the quality of the workforce.&lt;br /&gt;
# Outline the extent of which economies of scale exist in Lean development processes.&lt;br /&gt;
# Imagine you had to introduce Extreme Programming in a software development team that follows a waterfall process. Which problems do you foresee? How will the clients react (that until now are used to work with a team that used the waterfall process)? How would you address them?&lt;br /&gt;
'''Section 5'''&lt;br /&gt;
# Imagine you are the boss of a small software development company. Which actions would you do or which practices would you introduce to prevent that your programmers fall into the trap of following a software guru?&lt;br /&gt;
# Elaborate possible extreme (and damaging) positions that can be taken by gurus of agile.&lt;br /&gt;
# Explain the differences in introducing a methodology by a guru and by a smart and effective coach.&lt;br /&gt;
# Detail why Extreme Programming produces an informative workspace.&lt;br /&gt;
# Discuss effective ways of packaging and “distributing” knowledge in software teams, starting with the guru approach of organizing knowledge into simple, clear practices which are easy to explain and to follow.&lt;br /&gt;
'''Section 6'''&lt;br /&gt;
# Discuss the role of customer on-site under the perspective of lean and outline it relevance in the earlier and then in the later proposals of agile software development.&lt;br /&gt;
# Suppose that you have to develop Balanced Scorecards for a software development team. Which perspectives would you use? Which goals would you use for each perspective?&lt;br /&gt;
# What is a socio-technical system and how can it be used to describe an (agile) software production environement?&lt;br /&gt;
# Imagine you want to evaluate how readable the source code of some program is. Define a GQM+ model to describe what and why you would measure.&lt;br /&gt;
# The development in company M occurs according to the following schema: when a new project is started, a developer takes an old project that is the most similar to the new requirements and makes a copy and starts implementing the required modifications. To improve this process and to help the company to adopt a component-based approach, we want to understand which pieces of code are the best candidates for future components and which variability points they have. Define a suitable GQM+ for such purpose.&lt;br /&gt;
'''Section 7'''&lt;br /&gt;
# What type of wisdom (in the sense of “know-why”) would you manage in an Experience Factory to support Lean Thinking? Distinguish between organizational learning and project learning.&lt;br /&gt;
# Assume you are a manager convinced that Theory X is true. Which non-invasive measurement probes would you want to develop to maximize productivity? Now assume you are convinced that Theory Y is true. Which non-invasive measurement probes would you need now?&lt;br /&gt;
# We discussed that we foresee two ways to collect measurements non- invasively: in batch and in background mode. What are the advantages and disadvantages of each approach?&lt;br /&gt;
# There are many interrelated building blocks (or concepts) of Lean Software Development and each contributes differently to it. What types of data are handled by each of these building blocks (or concepts)? How do the contribution to the overall value stream, to the creation of knowledge, and to the overall improvement?&lt;br /&gt;
# Assume you set up a fantastic dashboard for your team. As you collect the data and visualize it, you notice that all the measurements show problematic values. You let the dashboard in place for some days and also show it to your collaborators, but nobody cares; everybody continues his job as if everything would be fine. What is going wrong?&lt;/div&gt;</summary>
		<author><name>A.kruglov</name></author>
	</entry>
	<entry>
		<id>https://eduwiki.innopolis.university/index.php?title=BSc:_Lean_Software_Development&amp;diff=8007</id>
		<title>BSc: Lean Software Development</title>
		<link rel="alternate" type="text/html" href="https://eduwiki.innopolis.university/index.php?title=BSc:_Lean_Software_Development&amp;diff=8007"/>
		<updated>2023-01-17T06:46:56Z</updated>

		<summary type="html">&lt;p&gt;A.kruglov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Lean Software Development =&lt;br /&gt;
* '''Course name''': Lean Software Development&lt;br /&gt;
* '''Code discipline''': XYZ&lt;br /&gt;
* '''Subject area''': &lt;br /&gt;
&lt;br /&gt;
== Short Description ==&lt;br /&gt;
This course covers the following concepts: Fundamental principles of producing software as a creative act of the human mind; Techniques to optimize such production, with specific focus on agile methods.&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
=== Prerequisite subjects ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Prerequisite topics ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Course Topics ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Course Sections and Topics&lt;br /&gt;
|-&lt;br /&gt;
! Section !! Topics within the section&lt;br /&gt;
|-&lt;br /&gt;
| Software as a creative activity || &lt;br /&gt;
# Nature of software&lt;br /&gt;
# Software and art&lt;br /&gt;
# Core resources for the production of software&lt;br /&gt;
# Tame and wicked projects&lt;br /&gt;
# Organizing the activities based on the GQM approach&lt;br /&gt;
|-&lt;br /&gt;
| Measurement in software || &lt;br /&gt;
# Meaning of measures&lt;br /&gt;
# The representational theory of measurement&lt;br /&gt;
# Measurement scales&lt;br /&gt;
# Fundamental measures for the production of software&lt;br /&gt;
# Procedural measures&lt;br /&gt;
# Object Oriented measures&lt;br /&gt;
|-&lt;br /&gt;
| Taylorism and Fordism || &lt;br /&gt;
# The increase of productivity in the idea of Taylor&lt;br /&gt;
# The role of division of work&lt;br /&gt;
# Planning and formalization of tasks&lt;br /&gt;
# Economies of scale&lt;br /&gt;
# Problems in understanding tasks&lt;br /&gt;
# Taylorism/Fordism and software development&lt;br /&gt;
|-&lt;br /&gt;
| Lean and Agile || &lt;br /&gt;
# Taiichi Ono and the Toyota Production System&lt;br /&gt;
# Creating a “Radiography” of the Production Process&lt;br /&gt;
# Workers involvement&lt;br /&gt;
# “Pull” and Not “Push”&lt;br /&gt;
# Kanban&lt;br /&gt;
# Quality management&lt;br /&gt;
# Process control&lt;br /&gt;
# Job enrichment&lt;br /&gt;
# Control and coordination mechanisms&lt;br /&gt;
# Case study: Extreme Programming&lt;br /&gt;
|-&lt;br /&gt;
| Issues in Lean and Agile || &lt;br /&gt;
# The “Hype of Agile”&lt;br /&gt;
# The dark side of agile&lt;br /&gt;
# Skepticism about agile methods&lt;br /&gt;
# Knowledge and software engineering&lt;br /&gt;
# Using burn-down charts&lt;br /&gt;
# The Zen of agile&lt;br /&gt;
|-&lt;br /&gt;
| Structuring a Lean Approach to software development || &lt;br /&gt;
# Existing proposals to create a “Lean Software Development”&lt;br /&gt;
# Sharing a common vision&lt;br /&gt;
# Depriving gurus of their power&lt;br /&gt;
# GQM+&lt;br /&gt;
# Applying the GQM+ step-by-step&lt;br /&gt;
# Business alignment&lt;br /&gt;
# GQM+ for business alignment&lt;br /&gt;
|-&lt;br /&gt;
| Optimizing the development process || &lt;br /&gt;
# Why the PDSA does not work in software&lt;br /&gt;
# The experience factory&lt;br /&gt;
# The QIP cycle&lt;br /&gt;
# Non invasive measurement&lt;br /&gt;
# The big-brother effect&lt;br /&gt;
# The role of autonomation&lt;br /&gt;
# Employing Andon boards&lt;br /&gt;
|} &lt;br /&gt;
== Intended Learning Outcomes (ILOs) ==&lt;br /&gt;
&lt;br /&gt;
=== What is the main purpose of this course? ===&lt;br /&gt;
This course exposes the student to the core concepts behind Lean Development in Software Engineering, beyond myths and legends, emphasizing how it relates to the general principles of Lean Development. It discusses the different possible software processes, how they can be tailored, enacted, and measured. In addition, a significant part of the course is centered around the application of lean to software development to knowledge intensive areas not necessarily connected to software.&lt;br /&gt;
&lt;br /&gt;
=== ILOs defined at three levels ===&lt;br /&gt;
&lt;br /&gt;
==== Level 1: What concepts should a student know/remember/explain? ====&lt;br /&gt;
By the end of the course, the students should be able to ...&lt;br /&gt;
* creative nature of software production as an act of creativity of the human mind,&lt;br /&gt;
* the substantial differences between tame and wicked problems,&lt;br /&gt;
* the core concepts of measurement in software engineering,&lt;br /&gt;
* the fundamentals of Taylorist/Fordist approaches to (software) production,&lt;br /&gt;
* the basis of lean and agile software development,&lt;br /&gt;
* the “dark” side of agility,&lt;br /&gt;
* the importance of knowledge and knowledge sharing in producing software,&lt;br /&gt;
* how to create an ad-hoc process for a development organization.&lt;br /&gt;
&lt;br /&gt;
==== Level 2: What basic practical skills should a student be able to perform? ====&lt;br /&gt;
By the end of the course, the students should be able to ...&lt;br /&gt;
* when a problem is “easy to solve” provided enough effort is put to such solution and when it is not,&lt;br /&gt;
* what is a measure in general,&lt;br /&gt;
* why it is important and how we can define and perform measurements in software engineering, especially in lean and agile development environments,&lt;br /&gt;
* how to organize the development process to collect metrics non invasively,&lt;br /&gt;
* the difference between pulling and pushing in (software) development,&lt;br /&gt;
* the fundamental principle of agility,&lt;br /&gt;
* the risk intrinsic in the dark side of agile,&lt;br /&gt;
* how to organize an agile development process based on the definition of overall Goals, associated Question, and milestones based on Metrics,&lt;br /&gt;
* an environment based on experience, like the Experience Factory.&lt;br /&gt;
&lt;br /&gt;
==== Level 3: What complex comprehensive skills should a student be able to apply in real-life scenarios? ====&lt;br /&gt;
By the end of the course, the students should be able to ...&lt;br /&gt;
* Compute the fundamental software metrics to track the evolution of a project,&lt;br /&gt;
* Organize the aims of a (software) development organization in terms of Goals, Questions, and Metrics,&lt;br /&gt;
* Create a tailored (lean and agile) development process for an organization producing software,&lt;br /&gt;
* Define a path to insert and manage such (lean and agile) development process into an organization producing software,&lt;br /&gt;
* Structure the experience gathering during inside an organization to based on it the future strategic decision of such organization,&lt;br /&gt;
* Relate the various proposals for Agile Methods to the overall principles of Lean Management,&lt;br /&gt;
* Define a suitable (lean) process for a new organization, a process to introduce and institutionalize it, and an approach to measure the outcome of such introduction and institutionalization. &lt;br /&gt;
== Grading ==&lt;br /&gt;
&lt;br /&gt;
=== Course grading range ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
! Grade !! Range !! Description of performance&lt;br /&gt;
|-&lt;br /&gt;
| A. Excellent || 91-100 || -&lt;br /&gt;
|-&lt;br /&gt;
| B. Good || 76-90 || -&lt;br /&gt;
|-&lt;br /&gt;
| C. Satisfactory || 51-75 || -&lt;br /&gt;
|-&lt;br /&gt;
| D. Poor || 0-50 || -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Course activities and grading breakdown ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
! Activity Type !! Percentage of the overall course grade&lt;br /&gt;
|-&lt;br /&gt;
| Class and lab participation (including class quizzes) || 20&lt;br /&gt;
|-&lt;br /&gt;
| Project || 40&lt;br /&gt;
|-&lt;br /&gt;
| Oral Exam || 40&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Recommendations for students on how to succeed in the course ===&lt;br /&gt;
The goal of the project is to read the book and understand what is the takeaway for software engineering, considering three fundamental aspects: a) the process to follow, b) the product being built c) the structure of the team and its organization. The projects will be executed in weekly iteration on traceable files.&lt;br /&gt;
&lt;br /&gt;
The projects will be partially graded weekly (30%) and part at the end (70%). Moreover, at the end you will need to provide a max 5 minutes video presenting your work.&lt;br /&gt;
&lt;br /&gt;
During the first week of the project you will create the overall GQM of the project and you will be evaluated based on it during the second week. During the second week of the project you will also create the vision of your project with a roadmap. From the third week onward you will start to have the reviews of your project increments in terms of the a) progresses toward the completion b) accurate planning based on the defined GQM, and c) quality of the work. Weekly grade ranges from 0 to 2 points.&lt;br /&gt;
&lt;br /&gt;
The overall project success will be evaluated as following:&lt;br /&gt;
&lt;br /&gt;
=== Course activities and grading breakdown ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
! Grade !! Project outcome&lt;br /&gt;
|-&lt;br /&gt;
| A (100%) || In-depth analysis of the book with original ideas for SE and practical experiments&lt;br /&gt;
|-&lt;br /&gt;
| B (80%) || In-depth analysis of the book with original ideas for SE&lt;br /&gt;
|-&lt;br /&gt;
| C (60%) || Analysis of the book, highlighting general ideas for SE, without novelty&lt;br /&gt;
|-&lt;br /&gt;
| D (0%) || No project activities&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Resources, literature and reference materials ==&lt;br /&gt;
&lt;br /&gt;
=== Open access resources ===&lt;br /&gt;
* Textbook: Andrea Janes and Giancarlo Succi. Lean Software Development in Action. Springer, Heidelberg, Germany, 2014. ISBN 978-3-662-44178-7. doi: 10.1007/978-3-642-00503-9.&lt;br /&gt;
* Reference: James P. Womack and Daniel T. Jones. Lean Thinking: banish waste and create wealth in your corporation. Lean Enterprise Institute. Simon &amp;amp; Schuster, 1996. ISBN 9780684810355.&lt;br /&gt;
* Reference: Taiichi Ohno. Toyota production system: beyond large-scale production. CRC Press, 1988&lt;br /&gt;
* Reference: James P. Womack. Lean Thinking. Simon &amp;amp; Schuster, Limited, 1997. ISBN 9780671004712.&lt;br /&gt;
* Reference: James P. Womack, Daniel T. Jones, and Daniel Roos. The Machine That Changed the World: The Story of Lean Production. Harper Perennial modern classics. HarperCollins, 1991. ISBN 9780060974176.&lt;br /&gt;
* Reference: Mary Poppendieck and Tom Poppendieck. Implementing Lean Software Development: From Concept to Cash. A Kent Beck signature book. Addison-Wesley, 2007. ISBN 9780321437389.&lt;br /&gt;
* Reference: C.M. Christensen. The Innovator’s Dilemma: When New Technologies Cause Great Firms to Fail. Management of innovation and change series. Harvard Business School Press, 1997. ISBN 9780875845852.&lt;br /&gt;
&lt;br /&gt;
=== Closed access resources ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Software and tools used within the course ===&lt;br /&gt;
 &lt;br /&gt;
= Teaching Methodology: Methods, techniques, &amp;amp; activities =&lt;br /&gt;
&lt;br /&gt;
== Activities and Teaching Methods ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Activities within each section&lt;br /&gt;
|-&lt;br /&gt;
! Learning Activities !! Section 1 !! Section 2 !! Section 3 !! Section 4 !! Section 5 !! Section 6 !! Section 7&lt;br /&gt;
|-&lt;br /&gt;
| Homework and group projects || 1 || 1 || 1 || 1 || 1 || 1 || 1&lt;br /&gt;
|-&lt;br /&gt;
| Reports || 1 || 1 || 1 || 1 || 1 || 1 || 1&lt;br /&gt;
|-&lt;br /&gt;
| Oral polls || 1 || 1 || 1 || 1 || 1 || 1 || 1&lt;br /&gt;
|-&lt;br /&gt;
| Discussions || 1 || 1 || 1 || 1 || 1 || 1 || 1&lt;br /&gt;
|} &lt;br /&gt;
== Formative Assessment and Course Activities ==&lt;br /&gt;
&lt;br /&gt;
=== Ongoing performance assessment ===&lt;br /&gt;
&lt;br /&gt;
==== Section 1 ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
! Activity Type !! Content !! Is Graded?&lt;br /&gt;
|-&lt;br /&gt;
| Question || Provide examples of creativity in the production of software. || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Describe the differences between tame and wicked projects. || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Discuss the key resources needed for the production of software. || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are key issues in creative production of software for distributed teams? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Provide examples of wicked problems from your everyday life || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Evidence wickedness in different aspects of software production || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Create a GQM for your aims of the semester || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Discuss the role of GQM in tame and wicked projects || 0&lt;br /&gt;
|} &lt;br /&gt;
==== Section 2 ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
! Activity Type !! Content !! Is Graded?&lt;br /&gt;
|-&lt;br /&gt;
| Question || Provide examples of the representational theory of measurement || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || List the measurement scales || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Present for each measurement scale the operations that can be performed on it || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Discuss the representational condition || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are key size metrics? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are key complexity metrics? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Provide examples of subjective and objective metrics || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || List 3 direct and 3 indirect measures, evidencing also the problems connected to the construction of indirect measures || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Compute LOC and other size metrics for code snippets || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Compute MCC and other complexity metrics for code snippets || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Compute the metrics of the CK suite for portions of Object Oriented systems || 0&lt;br /&gt;
|} &lt;br /&gt;
==== Section 3 ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
! Activity Type !! Content !! Is Graded?&lt;br /&gt;
|-&lt;br /&gt;
| Question || Detail the fundamental assumptions by Taylor || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are the fundamental activities of managers according to Taylor? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || In which sense Taylor has influenced what we now consider “good management practices?” || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || How does creativity relates to the “good management practices” of Taylor? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are the problems in applying Fordism/Taylorism to software development? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Provide examples of companies where the approach by Taylor has been successful || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Discuss how the approach of Taylor can be useful in attracting and/or retaining employees || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Analyse the fundamental activities of managers according to Taylor and determine their limits || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Determine the fundamental activities of managers according to Taylor can have an implication in the software crisis || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Outline how flexibility and variable requirements can be handled in the context of Taylorism and Fordism || 0&lt;br /&gt;
|} &lt;br /&gt;
==== Section 4 ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
! Activity Type !! Content !! Is Graded?&lt;br /&gt;
|-&lt;br /&gt;
| Question || Present the key problems in batch production || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Outline the key principles of the approach of Ono at Toyota || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are the fundamental steps in eliminating waste according to Ono? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Details the role of the customers and of the workers in the approach of Ono || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Explain the difference between “Pulling” and “Pushing” || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are key steps in improving quality according to Ono? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are the key control and coordination mechanisms available? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are the fundamental two actions needed to perform a Lean transformation according to Ono? || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are the associated three major needs? || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are the 5 steps to enact Lean Thinking according to Womak and Jones? || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Discuss the 8 constantly ongoing activities in a lean company like Toyota || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || How can activities been classified in a decision matrix in an environment like Toyota? || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Provide concrete examples of “Push” and of “Pull” in software production. || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Details the control and coordination mechanisms present in agile and in traditional development environments. || 0&lt;br /&gt;
|} &lt;br /&gt;
==== Section 5 ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
! Activity Type !! Content !! Is Graded?&lt;br /&gt;
|-&lt;br /&gt;
| Question || What is the Gartner’s Innovation Hype Cycle? Could you provide examples of application of it to a different field of knowledge? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Describe the so-called “Dark Agile Manifesto” || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are the sources of the skepticism present with respect to Agile? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What makes agile awkward in the eyes of “traditional” managers? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Given a production system, how do you determine what is the value of every step, how much improvement can be considered enough, and when is the point reached where value is not increased anymore but destroyed? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || How is it possible to obtain knowledge about the production process? How can I create visibility of the ongoing activities or problems? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Identify in other areas of software engineering phenomenon similar to the “Dark Side of Agile.” || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Identify in other knowledge-intensive fields phenomena similar to the “Dark Side of Agile” and discuss how they can be tackled. || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Given a production process, determine strategies to store knowledge to create experience? || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || How can you design the production process so that the team uses the gained experience? || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || How can you systematically improve your process, also building on the experience to anticipate problems (create wisdom)? || 0&lt;br /&gt;
|} &lt;br /&gt;
==== Section 6 ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
! Activity Type !! Content !! Is Graded?&lt;br /&gt;
|-&lt;br /&gt;
| Question || Reflect on the seven principles for characterizing Lean Software Development by Mary and Tom Poppendieck. || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What is the semantic gap and which threats it poses to effective software development? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Map the structure of Extreme Programming to the layered structure of Shalloway et al. || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || How does the scientific method deprives gurus from their power? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are the steps to implement the GQM+? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || For what reason measurement goals and business goals should be interconnected? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || How do the practices of Lean Management defined by Hibbs and colleagues relate to the seven principles by Mary and Tom Poppendieck || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Propose how you could develop software and hardware tools to promote common visions in companies. || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Elaborate a proposal to create some kind of Balanced Scorecards to evaluate your current study. || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Discuss the opinion of Ono about following plans and the extent to which such opinion contradicts (a) the practices, and (b) the principles of the tayloristic/fordistic approach || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Propose a SWAT analysis to introduce a Lean approach to your most recent software development endavour || 0&lt;br /&gt;
|} &lt;br /&gt;
==== Section 7 ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
! Activity Type !! Content !! Is Graded?&lt;br /&gt;
|-&lt;br /&gt;
| Question || Details the major components of an experience factory. || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are Reflection, Retrospective, and Post-Mortem Analysis? Why are they useful in Lean Software Development? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are the key components of a non invasive software measurement systems? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What is the big brother effect and how it is possible to alleviate it. || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Discuss how autonomation is present in Extreme Programming. || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Where is the term “Dashboard” coming from and what is its use in Lean Software Development? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || List the steps of a QIP. || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Discuss the risks of a measurement program and how non invasive software measurement can help alleviating them. || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Are there cases in which Theory X of management could be more effective than Theory Y? Discuss your findings. || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || For which aspects of software production autonomation could be useful? || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Which tools could be used to promote autonomation? || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Prototype by paper and pencil an Andon board that you would consider useful in a software production environment. || 0&lt;br /&gt;
|} &lt;br /&gt;
=== Final assessment ===&lt;br /&gt;
'''Section 1'''&lt;br /&gt;
# Present the salient aspects of wicked problems&lt;br /&gt;
# List the key aspects of software that make it a wicked problem&lt;br /&gt;
# Provide a link between wickedness and creativity in software production&lt;br /&gt;
# Discuss what promotes and what inhibit creativity in general and in software production&lt;br /&gt;
# Outline meaning and limitation of the concept of “engineering” the production of software&lt;br /&gt;
'''Section 2'''&lt;br /&gt;
# Structure the aims of a company using the GQM and detailing the metrics to compute, also explaining the deductions and the predictions that can be made with such metrics.&lt;br /&gt;
# Given an index computed as a combination of metrics, determine if it is a metrics according to the representational theory of measurement.&lt;br /&gt;
# Analyse a portion of a system and determine suitable metrics to extract and the information that would be provided by such metrics.&lt;br /&gt;
# Given a website performing a service (like flight reservations), compute the Function Points for such website.&lt;br /&gt;
# Discuss how to structure a taxonomy of quality for a specific company, explaining the role of reliability in it, and detailing how to compute the reliability again in the context of such company; please make the assumptions that you need to perform such computation.&lt;br /&gt;
'''Section 3'''&lt;br /&gt;
# What aspects of making software feel like an art, which like a craft to you and how could you bend Taylorism and Fordism to handle it?&lt;br /&gt;
# How does Fordism and Taylorism can explain that companies producing software containing bugs can still stay in the market, and, in certain case, also be successful?&lt;br /&gt;
# Based on your experience and previous courses, which development models can refer to Fordism and Taylorism and which cannot be reduced to it?&lt;br /&gt;
# How does the specialization of work in software development can be linked to Fordism and Taylorism?&lt;br /&gt;
# Provide an example for each of the fundamental activities of managers according to Taylor that shows how such activity is very useful in software development and one that shows that is is inadequate.&lt;br /&gt;
'''Section 4'''&lt;br /&gt;
# Structure a model like PDSA for a company producing websites for online marketing.&lt;br /&gt;
# How can the right part and the right information be always available without waste according to the Toyota approach?&lt;br /&gt;
# Compare a street crossing based on traffic lights with a roundabout and determine the approach that is safest and the one with the a highest throughput according to Waterfall and to Lean.&lt;br /&gt;
# Discuss the involvements of workers in tayloristic/fordistic and in Lean development processes and their implications for the retention and the improvement of the quality of the workforce.&lt;br /&gt;
# Outline the extent of which economies of scale exist in Lean development processes.&lt;br /&gt;
# Imagine you had to introduce Extreme Programming in a software development team that follows a waterfall process. Which problems do you foresee? How will the clients react (that until now are used to work with a team that used the waterfall process)? How would you address them?&lt;br /&gt;
'''Section 5'''&lt;br /&gt;
# Imagine you are the boss of a small software development company. Which actions would you do or which practices would you introduce to prevent that your programmers fall into the trap of following a software guru?&lt;br /&gt;
# Elaborate possible extreme (and damaging) positions that can be taken by gurus of agile.&lt;br /&gt;
# Explain the differences in introducing a methodology by a guru and by a smart and effective coach.&lt;br /&gt;
# Detail why Extreme Programming produces an informative workspace.&lt;br /&gt;
# Discuss effective ways of packaging and “distributing” knowledge in software teams, starting with the guru approach of organizing knowledge into simple, clear practices which are easy to explain and to follow.&lt;br /&gt;
'''Section 6'''&lt;br /&gt;
# Discuss the role of customer on-site under the perspective of lean and outline it relevance in the earlier and then in the later proposals of agile software development.&lt;br /&gt;
# Suppose that you have to develop Balanced Scorecards for a software development team. Which perspectives would you use? Which goals would you use for each perspective?&lt;br /&gt;
# What is a socio-technical system and how can it be used to describe an (agile) software production environement?&lt;br /&gt;
# Imagine you want to evaluate how readable the source code of some program is. Define a GQM+ model to describe what and why you would measure.&lt;br /&gt;
# The development in company M occurs according to the following schema: when a new project is started, a developer takes an old project that is the most similar to the new requirements and makes a copy and starts implementing the required modifications. To improve this process and to help the company to adopt a component-based approach, we want to understand which pieces of code are the best candidates for future components and which variability points they have. Define a suitable GQM+ for such purpose.&lt;br /&gt;
'''Section 7'''&lt;br /&gt;
# What type of wisdom (in the sense of “know-why”) would you manage in an Experience Factory to support Lean Thinking? Distinguish between organizational learning and project learning.&lt;br /&gt;
# Assume you are a manager convinced that Theory X is true. Which non-invasive measurement probes would you want to develop to maximize productivity? Now assume you are convinced that Theory Y is true. Which non-invasive measurement probes would you need now?&lt;br /&gt;
# We discussed that we foresee two ways to collect measurements non- invasively: in batch and in background mode. What are the advantages and disadvantages of each approach?&lt;br /&gt;
# There are many interrelated building blocks (or concepts) of Lean Software Development and each contributes differently to it. What types of data are handled by each of these building blocks (or concepts)? How do the contribution to the overall value stream, to the creation of knowledge, and to the overall improvement?&lt;br /&gt;
# Assume you set up a fantastic dashboard for your team. As you collect the data and visualize it, you notice that all the measurements show problematic values. You let the dashboard in place for some days and also show it to your collaborators, but nobody cares; everybody continues his job as if everything would be fine. What is going wrong?&lt;/div&gt;</summary>
		<author><name>A.kruglov</name></author>
	</entry>
	<entry>
		<id>https://eduwiki.innopolis.university/index.php?title=BSc:_Lean_Software_Development&amp;diff=8006</id>
		<title>BSc: Lean Software Development</title>
		<link rel="alternate" type="text/html" href="https://eduwiki.innopolis.university/index.php?title=BSc:_Lean_Software_Development&amp;diff=8006"/>
		<updated>2023-01-17T06:45:31Z</updated>

		<summary type="html">&lt;p&gt;A.kruglov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Lean Software Development =&lt;br /&gt;
* '''Course name''': Lean Software Development&lt;br /&gt;
* '''Code discipline''': XYZ&lt;br /&gt;
* '''Subject area''': &lt;br /&gt;
&lt;br /&gt;
== Short Description ==&lt;br /&gt;
This course covers the following concepts: Fundamental principles of producing software as a creative act of the human mind; Techniques to optimize such production, with specific focus on agile methods.&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
=== Prerequisite subjects ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Prerequisite topics ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Course Topics ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Course Sections and Topics&lt;br /&gt;
|-&lt;br /&gt;
! Section !! Topics within the section&lt;br /&gt;
|-&lt;br /&gt;
| Software as a creative activity || &lt;br /&gt;
# Nature of software&lt;br /&gt;
# Software and art&lt;br /&gt;
# Core resources for the production of software&lt;br /&gt;
# Tame and wicked projects&lt;br /&gt;
# Organizing the activities based on the GQM approach&lt;br /&gt;
|-&lt;br /&gt;
| Measurement in software || &lt;br /&gt;
# Meaning of measures&lt;br /&gt;
# The representational theory of measurement&lt;br /&gt;
# Measurement scales&lt;br /&gt;
# Fundamental measures for the production of software&lt;br /&gt;
# Procedural measures&lt;br /&gt;
# Object Oriented measures&lt;br /&gt;
|-&lt;br /&gt;
| Taylorism and Fordism || &lt;br /&gt;
# The increase of productivity in the idea of Taylor&lt;br /&gt;
# The role of division of work&lt;br /&gt;
# Planning and formalization of tasks&lt;br /&gt;
# Economies of scale&lt;br /&gt;
# Problems in understanding tasks&lt;br /&gt;
# Taylorism/Fordism and software development&lt;br /&gt;
|-&lt;br /&gt;
| Lean and Agile || &lt;br /&gt;
# Taiichi Ono and the Toyota Production System&lt;br /&gt;
# Creating a “Radiography” of the Production Process&lt;br /&gt;
# Workers involvement&lt;br /&gt;
# “Pull” and Not “Push”&lt;br /&gt;
# Kanban&lt;br /&gt;
# Quality management&lt;br /&gt;
# Process control&lt;br /&gt;
# Job enrichment&lt;br /&gt;
# Control and coordination mechanisms&lt;br /&gt;
# Case study: Extreme Programming&lt;br /&gt;
|-&lt;br /&gt;
| Issues in Lean and Agile || &lt;br /&gt;
# The “Hype of Agile”&lt;br /&gt;
# The dark side of agile&lt;br /&gt;
# Skepticism about agile methods&lt;br /&gt;
# Knowledge and software engineering&lt;br /&gt;
# Using burn-down charts&lt;br /&gt;
# The Zen of agile&lt;br /&gt;
|-&lt;br /&gt;
| Structuring a Lean Approach to software development || &lt;br /&gt;
# Existing proposals to create a “Lean Software Development”&lt;br /&gt;
# Sharing a common vision&lt;br /&gt;
# Depriving gurus of their power&lt;br /&gt;
# GQM+&lt;br /&gt;
# Applying the GQM+ step-by-step&lt;br /&gt;
# Business alignment&lt;br /&gt;
# GQM+ for business alignment&lt;br /&gt;
|-&lt;br /&gt;
| Optimizing the development process || &lt;br /&gt;
# Why the PDSA does not work in software&lt;br /&gt;
# The experience factory&lt;br /&gt;
# The QIP cycle&lt;br /&gt;
# Non invasive measurement&lt;br /&gt;
# The big-brother effect&lt;br /&gt;
# The role of autonomation&lt;br /&gt;
# Employing Andon boards&lt;br /&gt;
|} &lt;br /&gt;
== Intended Learning Outcomes (ILOs) ==&lt;br /&gt;
&lt;br /&gt;
=== What is the main purpose of this course? ===&lt;br /&gt;
This course exposes the student to the core concepts behind Lean Development in Software Engineering, beyond myths and legends, emphasizing how it relates to the general principles of Lean Development. It discusses the different possible software processes, how they can be tailored, enacted, and measured. In addition, a significant part of the course is centered around the application of lean to software development to knowledge intensive areas not necessarily connected to software.&lt;br /&gt;
&lt;br /&gt;
=== ILOs defined at three levels ===&lt;br /&gt;
&lt;br /&gt;
==== Level 1: What concepts should a student know/remember/explain? ====&lt;br /&gt;
By the end of the course, the students should be able to ...&lt;br /&gt;
* creative nature of software production as an act of creativity of the human mind,&lt;br /&gt;
* the substantial differences between tame and wicked problems,&lt;br /&gt;
* the core concepts of measurement in software engineering,&lt;br /&gt;
* the fundamentals of Taylorist/Fordist approaches to (software) production,&lt;br /&gt;
* the basis of lean and agile software development,&lt;br /&gt;
* the “dark” side of agility,&lt;br /&gt;
* the importance of knowledge and knowledge sharing in producing software,&lt;br /&gt;
* how to create an ad-hoc process for a development organization.&lt;br /&gt;
&lt;br /&gt;
==== Level 2: What basic practical skills should a student be able to perform? ====&lt;br /&gt;
By the end of the course, the students should be able to ...&lt;br /&gt;
* when a problem is “easy to solve” provided enough effort is put to such solution and when it is not,&lt;br /&gt;
* what is a measure in general,&lt;br /&gt;
* why it is important and how we can define and perform measurements in software engineering, especially in lean and agile development environments,&lt;br /&gt;
* how to organize the development process to collect metrics non invasively,&lt;br /&gt;
* the difference between pulling and pushing in (software) development,&lt;br /&gt;
* the fundamental principle of agility,&lt;br /&gt;
* the risk intrinsic in the dark side of agile,&lt;br /&gt;
* how to organize an agile development process based on the definition of overall Goals, associated Question, and milestones based on Metrics,&lt;br /&gt;
* an environment based on experience, like the Experience Factory.&lt;br /&gt;
&lt;br /&gt;
==== Level 3: What complex comprehensive skills should a student be able to apply in real-life scenarios? ====&lt;br /&gt;
By the end of the course, the students should be able to ...&lt;br /&gt;
* Compute the fundamental software metrics to track the evolution of a project,&lt;br /&gt;
* Organize the aims of a (software) development organization in terms of Goals, Questions, and Metrics,&lt;br /&gt;
* Create a tailored (lean and agile) development process for an organization producing software,&lt;br /&gt;
* Define a path to insert and manage such (lean and agile) development process into an organization producing software,&lt;br /&gt;
* Structure the experience gathering during inside an organization to based on it the future strategic decision of such organization,&lt;br /&gt;
* Relate the various proposals for Agile Methods to the overall principles of Lean Management,&lt;br /&gt;
* Define a suitable (lean) process for a new organization, a process to introduce and institutionalize it, and an approach to measure the outcome of such introduction and institutionalization. &lt;br /&gt;
== Grading ==&lt;br /&gt;
&lt;br /&gt;
=== Course grading range ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
! Grade !! Range !! Description of performance&lt;br /&gt;
|-&lt;br /&gt;
| A. Excellent || 96-100 || -&lt;br /&gt;
|-&lt;br /&gt;
| B. Good || 76-95 || -&lt;br /&gt;
|-&lt;br /&gt;
| C. Satisfactory || 51-75 || -&lt;br /&gt;
|-&lt;br /&gt;
| D. Poor || 0-50 || -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Course activities and grading breakdown ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
! Activity Type !! Percentage of the overall course grade&lt;br /&gt;
|-&lt;br /&gt;
| Class and lab participation (including class quizzes) || 20&lt;br /&gt;
|-&lt;br /&gt;
| Project || 40&lt;br /&gt;
|-&lt;br /&gt;
| Oral Exam || 40&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Recommendations for students on how to succeed in the course ===&lt;br /&gt;
The goal of the project is to read the book and understand what is the takeaway for software engineering, considering three fundamental aspects: a) the process to follow, b) the product being built c) the structure of the team and its organization. The projects will be executed in weekly iteration on traceable files.&lt;br /&gt;
&lt;br /&gt;
The projects will be partially graded weekly (30%) and part at the end (70%). Moreover, at the end you will need to provide a max 5 minutes video presenting your work.&lt;br /&gt;
&lt;br /&gt;
During the first week of the project you will create the overall GQM of the project and you will be evaluated based on it during the second week. During the second week of the project you will also create the vision of your project with a roadmap. From the third week onward you will start to have the reviews of your project increments in terms of the a) progresses toward the completion b) accurate planning based on the defined GQM, and c) quality of the work. Weekly grade ranges from 0 to 2 points.&lt;br /&gt;
&lt;br /&gt;
The overall project success will be evaluated as following:&lt;br /&gt;
&lt;br /&gt;
=== Course activities and grading breakdown ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
! Grade !! Project outcome&lt;br /&gt;
|-&lt;br /&gt;
| A (100%) || In-depth analysis of the book with original ideas for SE and practical experiments&lt;br /&gt;
|-&lt;br /&gt;
| B (80%) || In-depth analysis of the book with original ideas for SE&lt;br /&gt;
|-&lt;br /&gt;
| C (60%) || Analysis of the book, highlighting general ideas for SE, without novelty&lt;br /&gt;
|-&lt;br /&gt;
| D (0%) || No project activities&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Resources, literature and reference materials ==&lt;br /&gt;
&lt;br /&gt;
=== Open access resources ===&lt;br /&gt;
* Textbook: Andrea Janes and Giancarlo Succi. Lean Software Development in Action. Springer, Heidelberg, Germany, 2014. ISBN 978-3-662-44178-7. doi: 10.1007/978-3-642-00503-9.&lt;br /&gt;
* Reference: James P. Womack and Daniel T. Jones. Lean Thinking: banish waste and create wealth in your corporation. Lean Enterprise Institute. Simon &amp;amp; Schuster, 1996. ISBN 9780684810355.&lt;br /&gt;
* Reference: Taiichi Ohno. Toyota production system: beyond large-scale production. CRC Press, 1988&lt;br /&gt;
* Reference: James P. Womack. Lean Thinking. Simon &amp;amp; Schuster, Limited, 1997. ISBN 9780671004712.&lt;br /&gt;
* Reference: James P. Womack, Daniel T. Jones, and Daniel Roos. The Machine That Changed the World: The Story of Lean Production. Harper Perennial modern classics. HarperCollins, 1991. ISBN 9780060974176.&lt;br /&gt;
* Reference: Mary Poppendieck and Tom Poppendieck. Implementing Lean Software Development: From Concept to Cash. A Kent Beck signature book. Addison-Wesley, 2007. ISBN 9780321437389.&lt;br /&gt;
* Reference: C.M. Christensen. The Innovator’s Dilemma: When New Technologies Cause Great Firms to Fail. Management of innovation and change series. Harvard Business School Press, 1997. ISBN 9780875845852.&lt;br /&gt;
&lt;br /&gt;
=== Closed access resources ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Software and tools used within the course ===&lt;br /&gt;
 &lt;br /&gt;
= Teaching Methodology: Methods, techniques, &amp;amp; activities =&lt;br /&gt;
&lt;br /&gt;
== Activities and Teaching Methods ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Activities within each section&lt;br /&gt;
|-&lt;br /&gt;
! Learning Activities !! Section 1 !! Section 2 !! Section 3 !! Section 4 !! Section 5 !! Section 6 !! Section 7&lt;br /&gt;
|-&lt;br /&gt;
| Homework and group projects || 1 || 1 || 1 || 1 || 1 || 1 || 1&lt;br /&gt;
|-&lt;br /&gt;
| Reports || 1 || 1 || 1 || 1 || 1 || 1 || 1&lt;br /&gt;
|-&lt;br /&gt;
| Oral polls || 1 || 1 || 1 || 1 || 1 || 1 || 1&lt;br /&gt;
|-&lt;br /&gt;
| Discussions || 1 || 1 || 1 || 1 || 1 || 1 || 1&lt;br /&gt;
|} &lt;br /&gt;
== Formative Assessment and Course Activities ==&lt;br /&gt;
&lt;br /&gt;
=== Ongoing performance assessment ===&lt;br /&gt;
&lt;br /&gt;
==== Section 1 ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
! Activity Type !! Content !! Is Graded?&lt;br /&gt;
|-&lt;br /&gt;
| Question || Provide examples of creativity in the production of software. || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Describe the differences between tame and wicked projects. || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Discuss the key resources needed for the production of software. || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are key issues in creative production of software for distributed teams? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Provide examples of wicked problems from your everyday life || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Evidence wickedness in different aspects of software production || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Create a GQM for your aims of the semester || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Discuss the role of GQM in tame and wicked projects || 0&lt;br /&gt;
|} &lt;br /&gt;
==== Section 2 ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
! Activity Type !! Content !! Is Graded?&lt;br /&gt;
|-&lt;br /&gt;
| Question || Provide examples of the representational theory of measurement || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || List the measurement scales || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Present for each measurement scale the operations that can be performed on it || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Discuss the representational condition || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are key size metrics? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are key complexity metrics? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Provide examples of subjective and objective metrics || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || List 3 direct and 3 indirect measures, evidencing also the problems connected to the construction of indirect measures || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Compute LOC and other size metrics for code snippets || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Compute MCC and other complexity metrics for code snippets || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Compute the metrics of the CK suite for portions of Object Oriented systems || 0&lt;br /&gt;
|} &lt;br /&gt;
==== Section 3 ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
! Activity Type !! Content !! Is Graded?&lt;br /&gt;
|-&lt;br /&gt;
| Question || Detail the fundamental assumptions by Taylor || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are the fundamental activities of managers according to Taylor? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || In which sense Taylor has influenced what we now consider “good management practices?” || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || How does creativity relates to the “good management practices” of Taylor? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are the problems in applying Fordism/Taylorism to software development? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Provide examples of companies where the approach by Taylor has been successful || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Discuss how the approach of Taylor can be useful in attracting and/or retaining employees || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Analyse the fundamental activities of managers according to Taylor and determine their limits || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Determine the fundamental activities of managers according to Taylor can have an implication in the software crisis || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Outline how flexibility and variable requirements can be handled in the context of Taylorism and Fordism || 0&lt;br /&gt;
|} &lt;br /&gt;
==== Section 4 ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
! Activity Type !! Content !! Is Graded?&lt;br /&gt;
|-&lt;br /&gt;
| Question || Present the key problems in batch production || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Outline the key principles of the approach of Ono at Toyota || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are the fundamental steps in eliminating waste according to Ono? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Details the role of the customers and of the workers in the approach of Ono || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Explain the difference between “Pulling” and “Pushing” || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are key steps in improving quality according to Ono? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are the key control and coordination mechanisms available? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are the fundamental two actions needed to perform a Lean transformation according to Ono? || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are the associated three major needs? || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are the 5 steps to enact Lean Thinking according to Womak and Jones? || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Discuss the 8 constantly ongoing activities in a lean company like Toyota || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || How can activities been classified in a decision matrix in an environment like Toyota? || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Provide concrete examples of “Push” and of “Pull” in software production. || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Details the control and coordination mechanisms present in agile and in traditional development environments. || 0&lt;br /&gt;
|} &lt;br /&gt;
==== Section 5 ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
! Activity Type !! Content !! Is Graded?&lt;br /&gt;
|-&lt;br /&gt;
| Question || What is the Gartner’s Innovation Hype Cycle? Could you provide examples of application of it to a different field of knowledge? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Describe the so-called “Dark Agile Manifesto” || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are the sources of the skepticism present with respect to Agile? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What makes agile awkward in the eyes of “traditional” managers? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Given a production system, how do you determine what is the value of every step, how much improvement can be considered enough, and when is the point reached where value is not increased anymore but destroyed? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || How is it possible to obtain knowledge about the production process? How can I create visibility of the ongoing activities or problems? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Identify in other areas of software engineering phenomenon similar to the “Dark Side of Agile.” || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Identify in other knowledge-intensive fields phenomena similar to the “Dark Side of Agile” and discuss how they can be tackled. || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Given a production process, determine strategies to store knowledge to create experience? || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || How can you design the production process so that the team uses the gained experience? || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || How can you systematically improve your process, also building on the experience to anticipate problems (create wisdom)? || 0&lt;br /&gt;
|} &lt;br /&gt;
==== Section 6 ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
! Activity Type !! Content !! Is Graded?&lt;br /&gt;
|-&lt;br /&gt;
| Question || Reflect on the seven principles for characterizing Lean Software Development by Mary and Tom Poppendieck. || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What is the semantic gap and which threats it poses to effective software development? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Map the structure of Extreme Programming to the layered structure of Shalloway et al. || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || How does the scientific method deprives gurus from their power? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are the steps to implement the GQM+? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || For what reason measurement goals and business goals should be interconnected? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || How do the practices of Lean Management defined by Hibbs and colleagues relate to the seven principles by Mary and Tom Poppendieck || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Propose how you could develop software and hardware tools to promote common visions in companies. || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Elaborate a proposal to create some kind of Balanced Scorecards to evaluate your current study. || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Discuss the opinion of Ono about following plans and the extent to which such opinion contradicts (a) the practices, and (b) the principles of the tayloristic/fordistic approach || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Propose a SWAT analysis to introduce a Lean approach to your most recent software development endavour || 0&lt;br /&gt;
|} &lt;br /&gt;
==== Section 7 ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
! Activity Type !! Content !! Is Graded?&lt;br /&gt;
|-&lt;br /&gt;
| Question || Details the major components of an experience factory. || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are Reflection, Retrospective, and Post-Mortem Analysis? Why are they useful in Lean Software Development? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What are the key components of a non invasive software measurement systems? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || What is the big brother effect and how it is possible to alleviate it. || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Discuss how autonomation is present in Extreme Programming. || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || Where is the term “Dashboard” coming from and what is its use in Lean Software Development? || 1&lt;br /&gt;
|-&lt;br /&gt;
| Question || List the steps of a QIP. || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Discuss the risks of a measurement program and how non invasive software measurement can help alleviating them. || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Are there cases in which Theory X of management could be more effective than Theory Y? Discuss your findings. || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || For which aspects of software production autonomation could be useful? || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Which tools could be used to promote autonomation? || 0&lt;br /&gt;
|-&lt;br /&gt;
| Question || Prototype by paper and pencil an Andon board that you would consider useful in a software production environment. || 0&lt;br /&gt;
|} &lt;br /&gt;
=== Final assessment ===&lt;br /&gt;
'''Section 1'''&lt;br /&gt;
# Present the salient aspects of wicked problems&lt;br /&gt;
# List the key aspects of software that make it a wicked problem&lt;br /&gt;
# Provide a link between wickedness and creativity in software production&lt;br /&gt;
# Discuss what promotes and what inhibit creativity in general and in software production&lt;br /&gt;
# Outline meaning and limitation of the concept of “engineering” the production of software&lt;br /&gt;
'''Section 2'''&lt;br /&gt;
# Structure the aims of a company using the GQM and detailing the metrics to compute, also explaining the deductions and the predictions that can be made with such metrics.&lt;br /&gt;
# Given an index computed as a combination of metrics, determine if it is a metrics according to the representational theory of measurement.&lt;br /&gt;
# Analyse a portion of a system and determine suitable metrics to extract and the information that would be provided by such metrics.&lt;br /&gt;
# Given a website performing a service (like flight reservations), compute the Function Points for such website.&lt;br /&gt;
# Discuss how to structure a taxonomy of quality for a specific company, explaining the role of reliability in it, and detailing how to compute the reliability again in the context of such company; please make the assumptions that you need to perform such computation.&lt;br /&gt;
'''Section 3'''&lt;br /&gt;
# What aspects of making software feel like an art, which like a craft to you and how could you bend Taylorism and Fordism to handle it?&lt;br /&gt;
# How does Fordism and Taylorism can explain that companies producing software containing bugs can still stay in the market, and, in certain case, also be successful?&lt;br /&gt;
# Based on your experience and previous courses, which development models can refer to Fordism and Taylorism and which cannot be reduced to it?&lt;br /&gt;
# How does the specialization of work in software development can be linked to Fordism and Taylorism?&lt;br /&gt;
# Provide an example for each of the fundamental activities of managers according to Taylor that shows how such activity is very useful in software development and one that shows that is is inadequate.&lt;br /&gt;
'''Section 4'''&lt;br /&gt;
# Structure a model like PDSA for a company producing websites for online marketing.&lt;br /&gt;
# How can the right part and the right information be always available without waste according to the Toyota approach?&lt;br /&gt;
# Compare a street crossing based on traffic lights with a roundabout and determine the approach that is safest and the one with the a highest throughput according to Waterfall and to Lean.&lt;br /&gt;
# Discuss the involvements of workers in tayloristic/fordistic and in Lean development processes and their implications for the retention and the improvement of the quality of the workforce.&lt;br /&gt;
# Outline the extent of which economies of scale exist in Lean development processes.&lt;br /&gt;
# Imagine you had to introduce Extreme Programming in a software development team that follows a waterfall process. Which problems do you foresee? How will the clients react (that until now are used to work with a team that used the waterfall process)? How would you address them?&lt;br /&gt;
'''Section 5'''&lt;br /&gt;
# Imagine you are the boss of a small software development company. Which actions would you do or which practices would you introduce to prevent that your programmers fall into the trap of following a software guru?&lt;br /&gt;
# Elaborate possible extreme (and damaging) positions that can be taken by gurus of agile.&lt;br /&gt;
# Explain the differences in introducing a methodology by a guru and by a smart and effective coach.&lt;br /&gt;
# Detail why Extreme Programming produces an informative workspace.&lt;br /&gt;
# Discuss effective ways of packaging and “distributing” knowledge in software teams, starting with the guru approach of organizing knowledge into simple, clear practices which are easy to explain and to follow.&lt;br /&gt;
'''Section 6'''&lt;br /&gt;
# Discuss the role of customer on-site under the perspective of lean and outline it relevance in the earlier and then in the later proposals of agile software development.&lt;br /&gt;
# Suppose that you have to develop Balanced Scorecards for a software development team. Which perspectives would you use? Which goals would you use for each perspective?&lt;br /&gt;
# What is a socio-technical system and how can it be used to describe an (agile) software production environement?&lt;br /&gt;
# Imagine you want to evaluate how readable the source code of some program is. Define a GQM+ model to describe what and why you would measure.&lt;br /&gt;
# The development in company M occurs according to the following schema: when a new project is started, a developer takes an old project that is the most similar to the new requirements and makes a copy and starts implementing the required modifications. To improve this process and to help the company to adopt a component-based approach, we want to understand which pieces of code are the best candidates for future components and which variability points they have. Define a suitable GQM+ for such purpose.&lt;br /&gt;
'''Section 7'''&lt;br /&gt;
# What type of wisdom (in the sense of “know-why”) would you manage in an Experience Factory to support Lean Thinking? Distinguish between organizational learning and project learning.&lt;br /&gt;
# Assume you are a manager convinced that Theory X is true. Which non-invasive measurement probes would you want to develop to maximize productivity? Now assume you are convinced that Theory Y is true. Which non-invasive measurement probes would you need now?&lt;br /&gt;
# We discussed that we foresee two ways to collect measurements non- invasively: in batch and in background mode. What are the advantages and disadvantages of each approach?&lt;br /&gt;
# There are many interrelated building blocks (or concepts) of Lean Software Development and each contributes differently to it. What types of data are handled by each of these building blocks (or concepts)? How do the contribution to the overall value stream, to the creation of knowledge, and to the overall improvement?&lt;br /&gt;
# Assume you set up a fantastic dashboard for your team. As you collect the data and visualize it, you notice that all the measurements show problematic values. You let the dashboard in place for some days and also show it to your collaborators, but nobody cares; everybody continues his job as if everything would be fine. What is going wrong?&lt;/div&gt;</summary>
		<author><name>A.kruglov</name></author>
	</entry>
	<entry>
		<id>https://eduwiki.innopolis.university/index.php?title=BSc:_Lean_Software_Development&amp;diff=1899</id>
		<title>BSc: Lean Software Development</title>
		<link rel="alternate" type="text/html" href="https://eduwiki.innopolis.university/index.php?title=BSc:_Lean_Software_Development&amp;diff=1899"/>
		<updated>2022-01-17T17:11:53Z</updated>

		<summary type="html">&lt;p&gt;A.kruglov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Lean Software Development =&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;span&amp;gt;'''Course name:'''&amp;lt;/span&amp;gt; Lean Software Development&lt;br /&gt;
* &amp;lt;span&amp;gt;'''Course number:'''&amp;lt;/span&amp;gt; XYZ&lt;br /&gt;
&lt;br /&gt;
== Course characteristics ==&lt;br /&gt;
&lt;br /&gt;
=== Key concepts of the class ===&lt;br /&gt;
&lt;br /&gt;
* Fundamental principles of producing software as a creative act of the human mind&lt;br /&gt;
* Techniques to optimize such production, with specific focus on agile methods&lt;br /&gt;
&lt;br /&gt;
=== What is the purpose of this course? ===&lt;br /&gt;
&lt;br /&gt;
This course exposes the student to the core concepts behind Lean Development in Software Engineering, beyond myths and legends, emphasizing how it relates to the general principles of Lean Development. It discusses the different possible software processes, how they can be tailored, enacted, and measured. In addition, a significant part of the course is centered around the application of lean to software development to knowledge intensive areas not necessarily connected to software.&lt;br /&gt;
&lt;br /&gt;
=== Course Objectives Based on Bloom’s Taxonomy ===&lt;br /&gt;
&lt;br /&gt;
==== What should a student remember at the end of the course? ====&lt;br /&gt;
&lt;br /&gt;
By the end of the course, the students should be able to recognize and define:&lt;br /&gt;
&lt;br /&gt;
* creative nature of software production as an act of creativity of the human mind,&lt;br /&gt;
* the substantial differences between tame and wicked problems,&lt;br /&gt;
* the core concepts of measurement in software engineering,&lt;br /&gt;
* the fundamentals of Taylorist/Fordist approaches to (software) production,&lt;br /&gt;
* the basis of lean and agile software development,&lt;br /&gt;
* the “dark” side of agility,&lt;br /&gt;
* the importance of knowledge and knowledge sharing in producing software,&lt;br /&gt;
* how to create an ad-hoc process for a development organization.&lt;br /&gt;
&lt;br /&gt;
==== What should a student be able to understand at the end of the course? ====&lt;br /&gt;
&lt;br /&gt;
By the end of the course, the students should be able to describe and explain (with examples):&lt;br /&gt;
&lt;br /&gt;
* when a problem is “easy to solve” provided enough effort is put to such solution and when it is not,&lt;br /&gt;
* what is a measure in general,&lt;br /&gt;
* why it is important and how we can define and perform measurements in software engineering, especially in lean and agile development environments,&lt;br /&gt;
* how to organize the development process to collect metrics non invasively,&lt;br /&gt;
* the difference between pulling and pushing in (software) development,&lt;br /&gt;
* the fundamental principle of agility,&lt;br /&gt;
* the risk intrinsic in the dark side of agile,&lt;br /&gt;
* how to organize an agile development process based on the definition of overall Goals, associated Question, and milestones based on Metrics,&lt;br /&gt;
* an environment based on experience, like the Experience Factory.&lt;br /&gt;
&lt;br /&gt;
==== What should a student be able to apply at the end of the course? ====&lt;br /&gt;
&lt;br /&gt;
By the end of the course, the students should be able to:&lt;br /&gt;
&lt;br /&gt;
* Compute the fundamental software metrics to track the evolution of a project,&lt;br /&gt;
* Organize the aims of a (software) development organization in terms of Goals, Questions, and Metrics,&lt;br /&gt;
* Create a tailored (lean and agile) development process for an organization producing software,&lt;br /&gt;
* Define a path to insert and manage such (lean and agile) development process into an organization producing software,&lt;br /&gt;
* Structure the experience gathering during inside an organization to based on it the future strategic decision of such organization,&lt;br /&gt;
* Relate the various proposals for Agile Methods to the overall principles of Lean Management,&lt;br /&gt;
* Define a suitable (lean) process for a new organization, a process to introduce and institutionalize it, and an approach to measure the outcome of such introduction and institutionalization.&lt;br /&gt;
&lt;br /&gt;
=== Course evaluation ===&lt;br /&gt;
The course can be passed by one of the following tracks:&lt;br /&gt;
I. Minimum passing level &lt;br /&gt;
II. Standard (replicate from syllabus) &lt;br /&gt;
III. Project focused &lt;br /&gt;
IV. Student research competition &lt;br /&gt;
Each track has a different weights of the evaluation criteria, but in general, the categories are the following:&lt;br /&gt;
* Class and lab participation (including class quizzes) &lt;br /&gt;
* Interactions with speakers&lt;br /&gt;
* Project &lt;br /&gt;
* Paper &lt;br /&gt;
* SRC submission &lt;br /&gt;
* Video presentation &lt;br /&gt;
* Oral exam&lt;br /&gt;
Every component will be graded on a scale 0-10 or 0-2 with a possibility of extra 30% extra credit. Failing any component of the course causes a failure of the whole course; indeed, this applies to the components with a weight larger than 0.&lt;br /&gt;
&lt;br /&gt;
If there are not failing components the final grade will be computed as a weighted average of the components above approximated at the highest second digit and then rounded to the closest integer, and finally assigning A to 10, B to 7 to 9, C to 6. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Below a detailed description of each track is given. Notice that for tracks II, III, and IV, when they exist, the grades of the project, the paper, and SRC are divided in 50% for weekly deliverables and 50% for the final result. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
During the first week, all groups need to have a vision of what do to. Then, every week they need to show what they have done and provide a plan for the future. Weekly outcomes will be graded on a scale 0-2 and the final result will be graded on a scale 0-10. &lt;br /&gt;
&lt;br /&gt;
==== I. Minimum passing level ====&lt;br /&gt;
By choosing this track students can get a C grade for the course while putting minimum effort into it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;tab:LSDCourseGrading1&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|+ '''Course grade breakdown'''&lt;br /&gt;
!align=&amp;quot;center&amp;quot;| '''Component'''&lt;br /&gt;
! '''Points'''&lt;br /&gt;
|-&lt;br /&gt;
| Class and lab participation (including class quizzes)&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 15&lt;br /&gt;
|-&lt;br /&gt;
| Interactions with speakers&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 5&lt;br /&gt;
|-&lt;br /&gt;
| Oral Exam&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 80&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== II. Standard ====&lt;br /&gt;
The standard way of passing the course including the group project activity, as it is given in the syllabus.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;tab:LSDCourseGrading2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|+ '''Course grade breakdown'''&lt;br /&gt;
!align=&amp;quot;center&amp;quot;| '''Component'''&lt;br /&gt;
! '''Points'''&lt;br /&gt;
|-&lt;br /&gt;
| Class and lab participation (including class quizzes)&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 10&lt;br /&gt;
|-&lt;br /&gt;
| Interactions with speakers&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 10&lt;br /&gt;
|-&lt;br /&gt;
| Project&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 30&lt;br /&gt;
|-&lt;br /&gt;
| Video presentation&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 30&lt;br /&gt;
|-&lt;br /&gt;
| Oral Exam&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 20&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The grade of the project is 50% for weekly deliverables and 50% for the final result. &lt;br /&gt;
&lt;br /&gt;
==== III. Project focused ====&lt;br /&gt;
This track is for students who want to perform individual research-based projects.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;tab:LSDCourseGrading3&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|+ '''Course grade breakdown'''&lt;br /&gt;
!align=&amp;quot;center&amp;quot;| '''Component'''&lt;br /&gt;
! '''Points'''&lt;br /&gt;
|-&lt;br /&gt;
| Class and lab participation (including class quizzes)&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 10&lt;br /&gt;
|-&lt;br /&gt;
| Interactions with speakers&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 10&lt;br /&gt;
|-&lt;br /&gt;
| Project&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 40&lt;br /&gt;
|-&lt;br /&gt;
| Paper&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 20&lt;br /&gt;
|-&lt;br /&gt;
| Video presentation&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 10&lt;br /&gt;
|-&lt;br /&gt;
| Oral Exam&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 10&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The grade of the project is 50% for weekly deliverables and 50% for the final result. The grade does not depend on the actual outcome of the paper submission, but it is defined by the instructor according to the typical criteria for paper submissions. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== IV. Student research competition ====&lt;br /&gt;
This track is for the most intelligent students who can provide the deliverable of the research-based project in the form of well-done paper and participate in SRC of one of the most recognizable software engineering conferences worldwide.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;tab:LSDCourseGrading4&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|+ '''Course grade breakdown'''&lt;br /&gt;
!align=&amp;quot;center&amp;quot;| '''Component'''&lt;br /&gt;
! '''Points'''&lt;br /&gt;
|-&lt;br /&gt;
| Class and lab participation (including class quizzes)&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 10&lt;br /&gt;
|-&lt;br /&gt;
| Interactions with speakers&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 10&lt;br /&gt;
|-&lt;br /&gt;
| Project&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 40&lt;br /&gt;
|-&lt;br /&gt;
| Paper&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 20&lt;br /&gt;
|-&lt;br /&gt;
| SRC submission&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 20&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Grades range ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;tab:LSDCourseGradingRange&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|+ Course grading range&lt;br /&gt;
|-&lt;br /&gt;
| A. Excellent&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 96-100&lt;br /&gt;
|-&lt;br /&gt;
| B. Good&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 66-95&lt;br /&gt;
|-&lt;br /&gt;
| C. Satisfactory&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 56-65&lt;br /&gt;
|-&lt;br /&gt;
| D. Poor&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0-55&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Late submission and learning disabilities ===&lt;br /&gt;
&amp;lt;b&amp;gt;Late submissions:&amp;lt;/b&amp;gt; All work is expected to be submitted at the indicated due date and time also because the course requires participation that is not compatible with delays. Late submissions will be penalised or voided at discretion of the lab or of the class instructor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Learning disabilities:&amp;lt;/b&amp;gt; If you have a documented learning disability, please notify the instructor during the first week of class.&lt;br /&gt;
&lt;br /&gt;
=== Prerequisite courses ===&lt;br /&gt;
Completion of the courses of the first 5 semesters of the BS curriculum of Innopolis University.&lt;br /&gt;
&lt;br /&gt;
=== Cooperation policy and quotations ===&lt;br /&gt;
We encourage vigorous discussion and cooperation in this class. You should feel free to discuss any aspects of the class with any classmates. However, we insist that any written material that is not specifically designated as a Team Deliverable be done by you alone. This includes answers to reading questions, individual reports associated with assignments, and labs. We also insist that if you include verbatim text from any source, you clearly indicate it using standard conventions of quotation or indentation and a note to indicate the source.&lt;br /&gt;
&lt;br /&gt;
== Resources and reference material ==&lt;br /&gt;
&lt;br /&gt;
* '''Textbook:''' Andrea Janes and Giancarlo Succi. Lean Software Development in Action. Springer, Heidelberg, Germany, 2014. ISBN 978-3-662-44178-7. doi: 10.1007/978-3-642-00503-9.&lt;br /&gt;
* '''Reference:''' James P. Womack and Daniel T. Jones. Lean Thinking: banish waste and create wealth in your corporation. Lean Enterprise Institute. Simon &amp;amp; Schuster, 1996. ISBN 9780684810355.&lt;br /&gt;
* '''Reference:''' Taiichi Ohno. Toyota production system: beyond large-scale production. CRC Press, 1988&lt;br /&gt;
* '''Reference:''' James P. Womack. Lean Thinking. Simon &amp;amp; Schuster, Limited, 1997. ISBN 9780671004712.&lt;br /&gt;
* '''Reference:''' James P. Womack, Daniel T. Jones, and Daniel Roos. The Machine That Changed the World: The Story of Lean Production. Harper Perennial modern classics. HarperCollins, 1991. ISBN 9780060974176.&lt;br /&gt;
* '''Reference:''' Mary Poppendieck and Tom Poppendieck. Implementing Lean Software Development: From Concept to Cash. A Kent Beck signature book. Addison-Wesley, 2007. ISBN 9780321437389.&lt;br /&gt;
* '''Reference:''' C.M. Christensen. The Innovator’s Dilemma: When New Technologies Cause Great Firms to Fail. Management of innovation and change series. Harvard Business School Press, 1997. ISBN 9780875845852.&lt;br /&gt;
&lt;br /&gt;
== Course Sections ==&lt;br /&gt;
&lt;br /&gt;
The course is organized in 15 weeks with every weeks 2 academics hours of lectures and 4 academic hours of labs. The main sections of the course and approximate hour distribution between them is as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;tab:LSDCourseSections&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|+ Course Sections&lt;br /&gt;
!align=&amp;quot;center&amp;quot;| '''Section'''&lt;br /&gt;
! '''Section Title'''&lt;br /&gt;
!align=&amp;quot;center&amp;quot;| '''Teaching Hours'''&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
| Software as a creative activity&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 12&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 2&lt;br /&gt;
| Measurement in software&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 24&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 3&lt;br /&gt;
| Taylorism and Fordism&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 6&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 4&lt;br /&gt;
| Lean and Agile&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 24&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 5&lt;br /&gt;
| Issues in Lean and Agile&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 6&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 6&lt;br /&gt;
| Structuring a Lean Approach to software development&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 6&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 7&lt;br /&gt;
| Optimizing the development process&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 12&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Section 1 ===&lt;br /&gt;
&lt;br /&gt;
==== Section title: ====&lt;br /&gt;
&lt;br /&gt;
Software as a creative activity&lt;br /&gt;
&lt;br /&gt;
==== Topics covered in this section: ====&lt;br /&gt;
&lt;br /&gt;
* Nature of software&lt;br /&gt;
* Software and art&lt;br /&gt;
* Core resources for the production of software&lt;br /&gt;
* Tame and wicked projects&lt;br /&gt;
* Organizing the activities based on the GQM approach&lt;br /&gt;
&lt;br /&gt;
==== What forms of evaluation were used to test students’ performance in this section? ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;tab:LSDSectionEval1&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|''' '''&lt;br /&gt;
! '''Yes/No'''&lt;br /&gt;
|-&lt;br /&gt;
| Development of individual parts of software product code&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Homework and group projects&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Midterm evaluation&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Testing (written or computer based)&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Reports&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Essays&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Oral polls&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Discussions&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==== Typical questions for ongoing performance evaluation within this section ====&lt;br /&gt;
&lt;br /&gt;
# Provide examples of creativity in the production of software.&lt;br /&gt;
# Describe the differences between tame and wicked projects.&lt;br /&gt;
# Discuss the key resources needed for the production of software.&lt;br /&gt;
# What are key issues in creative production of software for distributed teams?&lt;br /&gt;
&lt;br /&gt;
==== Typical questions for seminar classes (labs) within this section ====&lt;br /&gt;
&lt;br /&gt;
# Provide examples of wicked problems from your everyday life&lt;br /&gt;
# Evidence wickedness in different aspects of software production&lt;br /&gt;
# Create a GQM for your aims of the semester&lt;br /&gt;
# Discuss the role of GQM in tame and wicked projects&lt;br /&gt;
&lt;br /&gt;
==== Test questions for final assessment in this section ====&lt;br /&gt;
&lt;br /&gt;
# Present the salient aspects of wicked problems&lt;br /&gt;
# List the key aspects of software that make it a wicked problem&lt;br /&gt;
# Provide a link between wickedness and creativity in software production&lt;br /&gt;
# Discuss what promotes and what inhibit creativity in general and in software production&lt;br /&gt;
# Outline meaning and limitation of the concept of “engineering” the production of software&lt;br /&gt;
&lt;br /&gt;
=== Section 2 ===&lt;br /&gt;
&lt;br /&gt;
==== Section title: ====&lt;br /&gt;
&lt;br /&gt;
Measurement in software&lt;br /&gt;
&lt;br /&gt;
==== Topics covered in this section: ====&lt;br /&gt;
&lt;br /&gt;
* Meaning of measures&lt;br /&gt;
* The representational theory of measurement&lt;br /&gt;
* Measurement scales&lt;br /&gt;
* Fundamental measures for the production of software&lt;br /&gt;
* Procedural measures&lt;br /&gt;
* Object Oriented measures&lt;br /&gt;
&lt;br /&gt;
==== What forms of evaluation were used to test students’ performance in this section? ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;tab:LSDSectionEval2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|''' '''&lt;br /&gt;
! '''Yes/No'''&lt;br /&gt;
|-&lt;br /&gt;
| Development of individual parts of software product code&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Homework and group projects&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Midterm evaluation&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Testing (written or computer based)&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Reports&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Essays&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Oral polls&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Discussions&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==== Typical questions for ongoing performance evaluation within this section ====&lt;br /&gt;
&lt;br /&gt;
# Provide examples of the representational theory of measurement&lt;br /&gt;
# List the measurement scales&lt;br /&gt;
# Present for each measurement scale the operations that can be performed on it&lt;br /&gt;
# Discuss the representational condition&lt;br /&gt;
# What are key size metrics?&lt;br /&gt;
# What are key complexity metrics?&lt;br /&gt;
&lt;br /&gt;
==== Typical questions for seminar classes (labs) within this section ====&lt;br /&gt;
&lt;br /&gt;
# Provide examples of subjective and objective metrics&lt;br /&gt;
# List 3 direct and 3 indirect measures, evidencing also the problems connected to the construction of indirect measures&lt;br /&gt;
# Compute LOC and other size metrics for code snippets&lt;br /&gt;
# Compute MCC and other complexity metrics for code snippets&lt;br /&gt;
# Compute the metrics of the CK suite for portions of Object Oriented systems&lt;br /&gt;
&lt;br /&gt;
==== Test questions for final assessment in this section ====&lt;br /&gt;
&lt;br /&gt;
# Structure the aims of a company using the GQM and detailing the metrics to compute, also explaining the deductions and the predictions that can be made with such metrics.&lt;br /&gt;
# Given an index computed as a combination of metrics, determine if it is a metrics according to the representational theory of measurement.&lt;br /&gt;
# Analyse a portion of a system and determine suitable metrics to extract and the information that would be provided by such metrics.&lt;br /&gt;
# Given a website performing a service (like flight reservations), compute the Function Points for such website.&lt;br /&gt;
# Discuss how to structure a taxonomy of quality for a specific company, explaining the role of reliability in it, and detailing how to compute the reliability again in the context of such company; please make the assumptions that you need to perform such computation.&lt;br /&gt;
&lt;br /&gt;
=== Section 3 ===&lt;br /&gt;
&lt;br /&gt;
==== Section title: ====&lt;br /&gt;
&lt;br /&gt;
Taylorism and Fordism&lt;br /&gt;
&lt;br /&gt;
==== Topics covered in this section: ====&lt;br /&gt;
&lt;br /&gt;
* The increase of productivity in the idea of Taylor&lt;br /&gt;
* The role of division of work&lt;br /&gt;
* Planning and formalization of tasks&lt;br /&gt;
* Economies of scale&lt;br /&gt;
* Problems in understanding tasks&lt;br /&gt;
* Taylorism/Fordism and software development&lt;br /&gt;
&lt;br /&gt;
==== What forms of evaluation were used to test students’ performance in this section? ====&lt;br /&gt;
&amp;lt;div id=&amp;quot;tab:LSDSectionEval3&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|''' '''&lt;br /&gt;
! '''Yes/No'''&lt;br /&gt;
|-&lt;br /&gt;
| Development of individual parts of software product code&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Homework and group projects&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Midterm evaluation&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Testing (written or computer based)&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Reports&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Essays&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Oral polls&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Discussions&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==== Typical questions for ongoing performance evaluation within this section ====&lt;br /&gt;
&lt;br /&gt;
# Detail the fundamental assumptions by Taylor&lt;br /&gt;
# What are the fundamental activities of managers according to Taylor?&lt;br /&gt;
# In which sense Taylor has influenced what we now consider “good management practices?”&lt;br /&gt;
# How does creativity relates to the “good management practices” of Taylor?&lt;br /&gt;
# What are the problems in applying Fordism/Taylorism to software development?&lt;br /&gt;
&lt;br /&gt;
==== Typical questions for seminar classes (labs) within this section ====&lt;br /&gt;
&lt;br /&gt;
# Provide examples of companies where the approach by Taylor has been successful&lt;br /&gt;
# Discuss how the approach of Taylor can be useful in attracting and/or retaining employees&lt;br /&gt;
# Analyse the fundamental activities of managers according to Taylor and determine their limits&lt;br /&gt;
# Determine the fundamental activities of managers according to Taylor can have an implication in the software crisis&lt;br /&gt;
# Outline how flexibility and variable requirements can be handled in the context of Taylorism and Fordism&lt;br /&gt;
&lt;br /&gt;
==== Test questions for final assessment in this section ====&lt;br /&gt;
&lt;br /&gt;
# What aspects of making software feel like an art, which like a craft to you and how could you bend Taylorism and Fordism to handle it?&lt;br /&gt;
# How does Fordism and Taylorism can explain that companies producing software containing bugs can still stay in the market, and, in certain case, also be successful?&lt;br /&gt;
# Based on your experience and previous courses, which development models can refer to Fordism and Taylorism and which cannot be reduced to it?&lt;br /&gt;
# How does the specialization of work in software development can be linked to Fordism and Taylorism?&lt;br /&gt;
# Provide an example for each of the fundamental activities of managers according to Taylor that shows how such activity is very useful in software development and one that shows that is is inadequate.&lt;br /&gt;
&lt;br /&gt;
=== Section 4 ===&lt;br /&gt;
&lt;br /&gt;
==== Section title: ====&lt;br /&gt;
&lt;br /&gt;
Lean and Agile&lt;br /&gt;
&lt;br /&gt;
==== Topics covered in this section: ====&lt;br /&gt;
&lt;br /&gt;
* Taiichi Ono and the Toyota Production System&lt;br /&gt;
* Creating a “Radiography” of the Production Process&lt;br /&gt;
* Workers involvement&lt;br /&gt;
* “Pull” and Not “Push”&lt;br /&gt;
* Kanban&lt;br /&gt;
* Quality management&lt;br /&gt;
* Process control&lt;br /&gt;
* Job enrichment&lt;br /&gt;
* Control and coordination mechanisms&lt;br /&gt;
* Case study: Extreme Programming&lt;br /&gt;
&lt;br /&gt;
==== What forms of evaluation were used to test students’ performance in this section? ====&lt;br /&gt;
&amp;lt;div id=&amp;quot;tab:LSDSectionEval4&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|''' '''&lt;br /&gt;
! '''Yes/No'''&lt;br /&gt;
|-&lt;br /&gt;
| Development of individual parts of software product code&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Homework and group projects&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Midterm evaluation&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Testing (written or computer based)&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Reports&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Essays&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Oral polls&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Discussions&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==== Typical questions for ongoing performance evaluation within this section ====&lt;br /&gt;
&lt;br /&gt;
# Present the key problems in batch production&lt;br /&gt;
# Outline the key principles of the approach of Ono at Toyota&lt;br /&gt;
# What are the fundamental steps in eliminating waste according to Ono?&lt;br /&gt;
# Details the role of the customers and of the workers in the approach of Ono&lt;br /&gt;
# Explain the difference between “Pulling” and “Pushing”&lt;br /&gt;
# What are key steps in improving quality according to Ono?&lt;br /&gt;
# What are the key control and coordination mechanisms available?&lt;br /&gt;
&lt;br /&gt;
==== Typical questions for seminar classes (labs) within this section ====&lt;br /&gt;
&lt;br /&gt;
# What are the fundamental two actions needed to perform a Lean transformation according to Ono?&lt;br /&gt;
# What are the associated three major needs?&lt;br /&gt;
# What are the 5 steps to enact Lean Thinking according to Womak and Jones?&lt;br /&gt;
# Discuss the 8 constantly ongoing activities in a lean company like Toyota&lt;br /&gt;
# How can activities been classified in a decision matrix in an environment like Toyota?&lt;br /&gt;
# Provide concrete examples of “Push” and of “Pull” in software production.&lt;br /&gt;
# Details the control and coordination mechanisms present in agile and in traditional development environments.&lt;br /&gt;
&lt;br /&gt;
==== Test questions for final assessment in this section ====&lt;br /&gt;
&lt;br /&gt;
# Structure a model like PDSA for a company producing websites for online marketing.&lt;br /&gt;
# How can the right part and the right information be always available without waste according to the Toyota approach?&lt;br /&gt;
# Compare a street crossing based on traffic lights with a roundabout and determine the approach that is safest and the one with the a highest throughput according to Waterfall and to Lean.&lt;br /&gt;
# Discuss the involvements of workers in tayloristic/fordistic and in Lean development processes and their implications for the retention and the improvement of the quality of the workforce.&lt;br /&gt;
# Outline the extent of which economies of scale exist in Lean development processes.&lt;br /&gt;
# Imagine you had to introduce Extreme Programming in a software development team that follows a waterfall process. Which problems do you foresee? How will the clients react (that until now are used to work with a team that used the waterfall process)? How would you address them?&lt;br /&gt;
&lt;br /&gt;
=== Section 5 ===&lt;br /&gt;
&lt;br /&gt;
==== Section title: ====&lt;br /&gt;
&lt;br /&gt;
Issues in Lean and Agile&lt;br /&gt;
&lt;br /&gt;
==== Topics covered in this section: ====&lt;br /&gt;
&lt;br /&gt;
* The “Hype of Agile”&lt;br /&gt;
* The dark side of agile&lt;br /&gt;
* Skepticism about agile methods&lt;br /&gt;
* Knowledge and software engineering&lt;br /&gt;
* Using burn-down charts&lt;br /&gt;
* The Zen of agile&lt;br /&gt;
&lt;br /&gt;
==== What forms of evaluation were used to test students’ performance in this section? ====&lt;br /&gt;
&amp;lt;div id=&amp;quot;tab:LSDSectionEval5&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|''' '''&lt;br /&gt;
! '''Yes/No'''&lt;br /&gt;
|-&lt;br /&gt;
| Development of individual parts of software product code&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Homework and group projects&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Midterm evaluation&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Testing (written or computer based)&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Reports&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Essays&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Oral polls&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Discussions&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==== Typical questions for ongoing performance evaluation within this section ====&lt;br /&gt;
&lt;br /&gt;
# What is the Gartner’s Innovation Hype Cycle? Could you provide examples of application of it to a different field of knowledge?&lt;br /&gt;
# Describe the so-called “Dark Agile Manifesto”&lt;br /&gt;
# What are the sources of the skepticism present with respect to Agile?&lt;br /&gt;
# What makes agile awkward in the eyes of “traditional” managers?&lt;br /&gt;
# Given a production system, how do you determine what is the value of every step, how much improvement can be considered enough, and when is the point reached where value is not increased anymore but destroyed?&lt;br /&gt;
# How is it possible to obtain knowledge about the production process? How can I create visibility of the ongoing activities or problems?&lt;br /&gt;
&lt;br /&gt;
==== Typical questions for seminar classes (labs) within this section ====&lt;br /&gt;
&lt;br /&gt;
# Identify in other areas of software engineering phenomenon similar to the “Dark Side of Agile.”&lt;br /&gt;
# Identify in other knowledge-intensive fields phenomena similar to the “Dark Side of Agile” and discuss how they can be tackled.&lt;br /&gt;
# Given a production process, determine strategies to store knowledge to create experience?&lt;br /&gt;
# How can you design the production process so that the team uses the gained experience?&lt;br /&gt;
# How can you systematically improve your process, also building on the experience to anticipate problems (create wisdom)?&lt;br /&gt;
&lt;br /&gt;
==== Test questions for final assessment in this section ====&lt;br /&gt;
&lt;br /&gt;
# Imagine you are the boss of a small software development company. Which actions would you do or which practices would you introduce to prevent that your programmers fall into the trap of following a software guru?&lt;br /&gt;
# Elaborate possible extreme (and damaging) positions that can be taken by gurus of agile.&lt;br /&gt;
# Explain the differences in introducing a methodology by a guru and by a smart and effective coach.&lt;br /&gt;
# Detail why Extreme Programming produces an informative workspace.&lt;br /&gt;
# Discuss effective ways of packaging and “distributing” knowledge in software teams, starting with the guru approach of organizing knowledge into simple, clear practices which are easy to explain and to follow.&lt;br /&gt;
&lt;br /&gt;
=== Section 6 ===&lt;br /&gt;
&lt;br /&gt;
==== Section title: ====&lt;br /&gt;
&lt;br /&gt;
Structuring a Lean Approach to software development&lt;br /&gt;
&lt;br /&gt;
==== Topics covered in this section: ====&lt;br /&gt;
&lt;br /&gt;
* Existing proposals to create a “Lean Software Development”&lt;br /&gt;
* Sharing a common vision&lt;br /&gt;
* Depriving gurus of their power&lt;br /&gt;
* GQM+&lt;br /&gt;
* Applying the GQM+ step-by-step&lt;br /&gt;
* Business alignment&lt;br /&gt;
* GQM+ for business alignment&lt;br /&gt;
&lt;br /&gt;
==== What forms of evaluation were used to test students’ performance in this section? ====&lt;br /&gt;
&amp;lt;div id=&amp;quot;tab:LSDSectionEval6&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|''' '''&lt;br /&gt;
! '''Yes/No'''&lt;br /&gt;
|-&lt;br /&gt;
| Development of individual parts of software product code&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Homework and group projects&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Midterm evaluation&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Testing (written or computer based)&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Reports&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Essays&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Oral polls&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Discussions&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==== Typical questions for ongoing performance evaluation within this section ====&lt;br /&gt;
&lt;br /&gt;
# Reflect on the seven principles for characterizing Lean Software Development by Mary and Tom Poppendieck.&lt;br /&gt;
# What is the semantic gap and which threats it poses to effective software development?&lt;br /&gt;
# Map the structure of Extreme Programming to the layered structure of Shalloway et al.&lt;br /&gt;
# How does the scientific method deprives gurus from their power?&lt;br /&gt;
# What are the steps to implement the GQM+?&lt;br /&gt;
# For what reason measurement goals and business goals should be interconnected?&lt;br /&gt;
&lt;br /&gt;
==== Typical questions for seminar classes (labs) within this section ====&lt;br /&gt;
&lt;br /&gt;
# How do the practices of Lean Management defined by Hibbs and colleagues relate to the seven principles by Mary and Tom Poppendieck&lt;br /&gt;
# Propose how you could develop software and hardware tools to promote common visions in companies.&lt;br /&gt;
# Elaborate a proposal to create some kind of Balanced Scorecards to evaluate your current study.&lt;br /&gt;
# Discuss the opinion of Ono about following plans and the extent to which such opinion contradicts (a) the practices, and (b) the principles of the tayloristic/fordistic approach&lt;br /&gt;
# Propose a SWAT analysis to introduce a Lean approach to your most recent software development endavour&lt;br /&gt;
&lt;br /&gt;
==== Test questions for final assessment in this section ====&lt;br /&gt;
&lt;br /&gt;
# Discuss the role of customer on-site under the perspective of lean and outline it relevance in the earlier and then in the later proposals of agile software development.&lt;br /&gt;
# Suppose that you have to develop Balanced Scorecards for a software development team. Which perspectives would you use? Which goals would you use for each perspective?&lt;br /&gt;
# What is a socio-technical system and how can it be used to describe an (agile) software production environement?&lt;br /&gt;
# Imagine you want to evaluate how readable the source code of some program is. Define a GQM+ model to describe what and why you would measure.&lt;br /&gt;
# The development in company M occurs according to the following schema: when a new project is started, a developer takes an old project that is the most similar to the new requirements and makes a copy and starts implementing the required modifications. To improve this process and to help the company to adopt a component-based approach, we want to understand which pieces of code are the best candidates for future components and which variability points they have. Define a suitable GQM+ for such purpose.&lt;br /&gt;
&lt;br /&gt;
=== Section 7 ===&lt;br /&gt;
&lt;br /&gt;
==== Section title: ====&lt;br /&gt;
&lt;br /&gt;
Optimizing the development process&lt;br /&gt;
&lt;br /&gt;
==== Topics covered in this section: ====&lt;br /&gt;
&lt;br /&gt;
* Why the PDSA does not work in software&lt;br /&gt;
* The experience factory&lt;br /&gt;
* The QIP cycle&lt;br /&gt;
* Non invasive measurement&lt;br /&gt;
* The big-brother effect&lt;br /&gt;
* The role of autonomation&lt;br /&gt;
* Employing Andon boards&lt;br /&gt;
&lt;br /&gt;
==== What forms of evaluation were used to test students’ performance in this section? ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;tab:LSDSectionEval7&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|''' '''&lt;br /&gt;
! '''Yes/No'''&lt;br /&gt;
|-&lt;br /&gt;
| Development of individual parts of software product code&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Homework and group projects&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Midterm evaluation&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Testing (written or computer based)&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Reports&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Essays&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Oral polls&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Discussions&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==== Typical questions for ongoing performance evaluation within this section ====&lt;br /&gt;
&lt;br /&gt;
# Details the major components of an experience factory.&lt;br /&gt;
# What are Reflection, Retrospective, and Post-Mortem Analysis? Why are they useful in Lean Software Development?&lt;br /&gt;
# What are the key components of a non invasive software measurement systems?&lt;br /&gt;
# What is the big brother effect and how it is possible to alleviate it.&lt;br /&gt;
# Discuss how autonomation is present in Extreme Programming.&lt;br /&gt;
# Where is the term “Dashboard” coming from and what is its use in Lean Software Development?&lt;br /&gt;
&lt;br /&gt;
==== Typical questions for seminar classes (labs) within this section ====&lt;br /&gt;
&lt;br /&gt;
# List the steps of a QIP.&lt;br /&gt;
# Discuss the risks of a measurement program and how non invasive software measurement can help alleviating them.&lt;br /&gt;
# Are there cases in which Theory X of management could be more effective than Theory Y? Discuss your findings.&lt;br /&gt;
# For which aspects of software production autonomation could be useful?&lt;br /&gt;
# Which tools could be used to promote autonomation?&lt;br /&gt;
# Prototype by paper and pencil an Andon board that you would consider useful in a software production environment.&lt;br /&gt;
&lt;br /&gt;
==== Test questions for final assessment in this section ====&lt;br /&gt;
&lt;br /&gt;
# What type of wisdom (in the sense of “know-why”) would you manage in an Experience Factory to support Lean Thinking? Distinguish between organizational learning and project learning.&lt;br /&gt;
# Assume you are a manager convinced that Theory X is true. Which non-invasive measurement probes would you want to develop to maximize productivity? Now assume you are convinced that Theory Y is true. Which non-invasive measurement probes would you need now?&lt;br /&gt;
# We discussed that we foresee two ways to collect measurements non- invasively: in batch and in background mode. What are the advantages and disadvantages of each approach?&lt;br /&gt;
# There are many interrelated building blocks (or concepts) of Lean Software Development and each contributes differently to it. What types of data are handled by each of these building blocks (or concepts)? How do the contribution to the overall value stream, to the creation of knowledge, and to the overall improvement?&lt;br /&gt;
# Assume you set up a fantastic dashboard for your team. As you collect the data and visualize it, you notice that all the measurements show problematic values. You let the dashboard in place for some days and also show it to your collaborators, but nobody cares; everybody continues his job as if everything would be fine. What is going wrong?&lt;/div&gt;</summary>
		<author><name>A.kruglov</name></author>
	</entry>
	<entry>
		<id>https://eduwiki.innopolis.university/index.php?title=BSc:_Lean_Software_Development&amp;diff=1803</id>
		<title>BSc: Lean Software Development</title>
		<link rel="alternate" type="text/html" href="https://eduwiki.innopolis.university/index.php?title=BSc:_Lean_Software_Development&amp;diff=1803"/>
		<updated>2022-01-08T17:09:44Z</updated>

		<summary type="html">&lt;p&gt;A.kruglov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Lean Software Development =&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;span&amp;gt;'''Course name:'''&amp;lt;/span&amp;gt; Lean Software Development&lt;br /&gt;
* &amp;lt;span&amp;gt;'''Course number:'''&amp;lt;/span&amp;gt; XYZ&lt;br /&gt;
&lt;br /&gt;
== Course characteristics ==&lt;br /&gt;
&lt;br /&gt;
=== Key concepts of the class ===&lt;br /&gt;
&lt;br /&gt;
* Fundamental principles of producing software as a creative act of the human mind&lt;br /&gt;
* Techniques to optimize such production, with specific focus on agile methods&lt;br /&gt;
&lt;br /&gt;
=== What is the purpose of this course? ===&lt;br /&gt;
&lt;br /&gt;
This course exposes the student to the core concepts behind Lean Development in Software Engineering, beyond myths and legends, emphasizing how it relates to the general principles of Lean Development. It discusses the different possible software processes, how they can be tailored, enacted, and measured. In addition, a significant part of the course is centered around the application of lean to software development to knowledge intensive areas not necessarily connected to software.&lt;br /&gt;
&lt;br /&gt;
=== Course Objectives Based on Bloom’s Taxonomy ===&lt;br /&gt;
&lt;br /&gt;
==== What should a student remember at the end of the course? ====&lt;br /&gt;
&lt;br /&gt;
By the end of the course, the students should be able to recognize and define:&lt;br /&gt;
&lt;br /&gt;
* creative nature of software production as an act of creativity of the human mind,&lt;br /&gt;
* the substantial differences between tame and wicked problems,&lt;br /&gt;
* the core concepts of measurement in software engineering,&lt;br /&gt;
* the fundamentals of Taylorist/Fordist approaches to (software) production,&lt;br /&gt;
* the basis of lean and agile software development,&lt;br /&gt;
* the “dark” side of agility,&lt;br /&gt;
* the importance of knowledge and knowledge sharing in producing software,&lt;br /&gt;
* how to create an ad-hoc process for a development organization.&lt;br /&gt;
&lt;br /&gt;
==== What should a student be able to understand at the end of the course? ====&lt;br /&gt;
&lt;br /&gt;
By the end of the course, the students should be able to describe and explain (with examples):&lt;br /&gt;
&lt;br /&gt;
* when a problem is “easy to solve” provided enough effort is put to such solution and when it is not,&lt;br /&gt;
* what is a measure in general,&lt;br /&gt;
* why it is important and how we can define and perform measurements in software engineering, especially in lean and agile development environments,&lt;br /&gt;
* how to organize the development process to collect metrics non invasively,&lt;br /&gt;
* the difference between pulling and pushing in (software) development,&lt;br /&gt;
* the fundamental principle of agility,&lt;br /&gt;
* the risk intrinsic in the dark side of agile,&lt;br /&gt;
* how to organize an agile development process based on the definition of overall Goals, associated Question, and milestones based on Metrics,&lt;br /&gt;
* an environment based on experience, like the Experience Factory.&lt;br /&gt;
&lt;br /&gt;
==== What should a student be able to apply at the end of the course? ====&lt;br /&gt;
&lt;br /&gt;
By the end of the course, the students should be able to:&lt;br /&gt;
&lt;br /&gt;
* Compute the fundamental software metrics to track the evolution of a project,&lt;br /&gt;
* Organize the aims of a (software) development organization in terms of Goals, Questions, and Metrics,&lt;br /&gt;
* Create a tailored (lean and agile) development process for an organization producing software,&lt;br /&gt;
* Define a path to insert and manage such (lean and agile) development process into an organization producing software,&lt;br /&gt;
* Structure the experience gathering during inside an organization to based on it the future strategic decision of such organization,&lt;br /&gt;
* Relate the various proposals for Agile Methods to the overall principles of Lean Management,&lt;br /&gt;
* Define a suitable (lean) process for a new organization, a process to introduce and institutionalize it, and an approach to measure the outcome of such introduction and institutionalization.&lt;br /&gt;
&lt;br /&gt;
=== Course evaluation ===&lt;br /&gt;
The course can be passed by one of the following tracks:&lt;br /&gt;
I. Minimum passing level &lt;br /&gt;
II. Standard (replicate from syllabus) &lt;br /&gt;
III. Project focused &lt;br /&gt;
IV. Student research competition &lt;br /&gt;
Each track has a different weights of the evaluation criteria, but in general, the categories are the following:&lt;br /&gt;
* Class and lab participation (including class quizzes) &lt;br /&gt;
* Interactions with speakers&lt;br /&gt;
* Project &lt;br /&gt;
* Paper &lt;br /&gt;
* SRC submission &lt;br /&gt;
* Video presentation &lt;br /&gt;
* Oral exam&lt;br /&gt;
Every component will be graded on a scale 0-10 or 0-2 with a possibility of extra 30% extra credit. Failing any component of the course causes a failure of the whole course; indeed, this applies to the components with a weight larger than 0.&lt;br /&gt;
&lt;br /&gt;
If there are not failing components the final grade will be computed as a weighted average of the components above approximated at the highest second digit and then rounded to the closest integer, and finally assigning A to 10, B to 7 to 9, C to 6. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Below a detailed description of each track is given. Notice that for tracks II, III, and IV, when they exist, the grades of the project, the paper, and SRC are divided in 50% for weekly deliverables and 50% for the final result. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
During the first week, all groups need to have a vision of what do to. Then, every week they need to show what they have done and provide a plan for the future. Weekly outcomes will be graded on a scale 0-2 and the final result will be graded on a scale 0-10. &lt;br /&gt;
&lt;br /&gt;
==== I. Minimum passing level ====&lt;br /&gt;
By choosing this track students can get a C grade for the course while putting minimum effort into it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;tab:LSDCourseGrading1&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|+ '''Course grade breakdown'''&lt;br /&gt;
!align=&amp;quot;center&amp;quot;| '''Component'''&lt;br /&gt;
! '''Points'''&lt;br /&gt;
|-&lt;br /&gt;
| Class and lab participation (including class quizzes)&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 15&lt;br /&gt;
|-&lt;br /&gt;
| Interactions with speakers&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 5&lt;br /&gt;
|-&lt;br /&gt;
| Oral Exam&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 80&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== II. Standard ====&lt;br /&gt;
The standard way of passing the course including the group project activity, as it is given in the syllabus.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;tab:LSDCourseGrading2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|+ '''Course grade breakdown'''&lt;br /&gt;
!align=&amp;quot;center&amp;quot;| '''Component'''&lt;br /&gt;
! '''Points'''&lt;br /&gt;
|-&lt;br /&gt;
| Class and lab participation (including class quizzes)&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 10&lt;br /&gt;
|-&lt;br /&gt;
| Interactions with speakers&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 10&lt;br /&gt;
|-&lt;br /&gt;
| Project&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 30&lt;br /&gt;
|-&lt;br /&gt;
| Video presentation&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 30&lt;br /&gt;
|-&lt;br /&gt;
| Oral Exam&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 20&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The grade of the project is 50% for weekly deliverables and 50% for the final result. &lt;br /&gt;
&lt;br /&gt;
==== III. Project focused ====&lt;br /&gt;
This track is for students who want to perform individual research-based projects.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;tab:LSDCourseGrading3&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|+ '''Course grade breakdown'''&lt;br /&gt;
!align=&amp;quot;center&amp;quot;| '''Component'''&lt;br /&gt;
! '''Points'''&lt;br /&gt;
|-&lt;br /&gt;
| Class and lab participation (including class quizzes)&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 10&lt;br /&gt;
|-&lt;br /&gt;
| Interactions with speakers&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 10&lt;br /&gt;
|-&lt;br /&gt;
| Project&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 40&lt;br /&gt;
|-&lt;br /&gt;
| Paper&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 20&lt;br /&gt;
|-&lt;br /&gt;
| Video presentation&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 10&lt;br /&gt;
|-&lt;br /&gt;
| Oral Exam&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 10&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The grade of the project is 50% for weekly deliverables and 50% for the final result. The grade does not depend on the actual outcome of the paper submission, but it is defined by the instructor according to the typical criteria for paper submissions. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== IV. Student research competition ====&lt;br /&gt;
This track is for the most intelligent students who can provide the deliverable of the research-based project in the form of well-done paper and participate in SRC of one of the most recognizable software engineering conferences worldwide.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;tab:LSDCourseGrading4&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|+ '''Course grade breakdown'''&lt;br /&gt;
!align=&amp;quot;center&amp;quot;| '''Component'''&lt;br /&gt;
! '''Points'''&lt;br /&gt;
|-&lt;br /&gt;
| Class and lab participation (including class quizzes)&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 10&lt;br /&gt;
|-&lt;br /&gt;
| Interactions with speakers&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 10&lt;br /&gt;
|-&lt;br /&gt;
| Project&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 40&lt;br /&gt;
|-&lt;br /&gt;
| Paper&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 20&lt;br /&gt;
|-&lt;br /&gt;
| SRC submission&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 20&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Grades range ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;tab:LSDCourseGradingRange&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|+ Course grading range&lt;br /&gt;
|-&lt;br /&gt;
| A. Excellent&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 96-100&lt;br /&gt;
|-&lt;br /&gt;
| B. Good&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 66-95&lt;br /&gt;
|-&lt;br /&gt;
| C. Satisfactory&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 56-65&lt;br /&gt;
|-&lt;br /&gt;
| D. Poor&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0-55&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Resources and reference material ===&lt;br /&gt;
&lt;br /&gt;
* '''Textbook:''' Andrea Janes and Giancarlo Succi. Lean Software Development in Action. Springer, Heidelberg, Germany, 2014. ISBN 978-3-662-44178-7. doi: 10.1007/978-3-642-00503-9.&lt;br /&gt;
* '''Reference:''' James P. Womack and Daniel T. Jones. Lean Thinking: banish waste and create wealth in your corporation. Lean Enterprise Institute. Simon &amp;amp; Schuster, 1996. ISBN 9780684810355.&lt;br /&gt;
* '''Reference:''' Taiichi Ohno. Toyota production system: beyond large-scale production. CRC Press, 1988&lt;br /&gt;
* '''Reference:''' James P. Womack. Lean Thinking. Simon &amp;amp; Schuster, Limited, 1997. ISBN 9780671004712.&lt;br /&gt;
* '''Reference:''' James P. Womack, Daniel T. Jones, and Daniel Roos. The Machine That Changed the World: The Story of Lean Production. Harper Perennial modern classics. HarperCollins, 1991. ISBN 9780060974176.&lt;br /&gt;
* '''Reference:''' Mary Poppendieck and Tom Poppendieck. Implementing Lean Software Development: From Concept to Cash. A Kent Beck signature book. Addison-Wesley, 2007. ISBN 9780321437389.&lt;br /&gt;
* '''Reference:''' C.M. Christensen. The Innovator’s Dilemma: When New Technologies Cause Great Firms to Fail. Management of innovation and change series. Harvard Business School Press, 1997. ISBN 9780875845852.&lt;br /&gt;
&lt;br /&gt;
== Course Sections ==&lt;br /&gt;
&lt;br /&gt;
The course is organized in 15 weeks with every weeks 2 academics hours of lectures and 4 academic hours of labs. The main sections of the course and approximate hour distribution between them is as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;tab:LSDCourseSections&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|+ Course Sections&lt;br /&gt;
!align=&amp;quot;center&amp;quot;| '''Section'''&lt;br /&gt;
! '''Section Title'''&lt;br /&gt;
!align=&amp;quot;center&amp;quot;| '''Teaching Hours'''&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
| Software as a creative activity&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 12&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 2&lt;br /&gt;
| Measurement in software&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 24&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 3&lt;br /&gt;
| Taylorism and Fordism&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 6&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 4&lt;br /&gt;
| Lean and Agile&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 24&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 5&lt;br /&gt;
| Issues in Lean and Agile&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 6&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 6&lt;br /&gt;
| Structuring a Lean Approach to software development&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 6&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 7&lt;br /&gt;
| Optimizing the development process&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 12&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Section 1 ===&lt;br /&gt;
&lt;br /&gt;
==== Section title: ====&lt;br /&gt;
&lt;br /&gt;
Software as a creative activity&lt;br /&gt;
&lt;br /&gt;
==== Topics covered in this section: ====&lt;br /&gt;
&lt;br /&gt;
* Nature of software&lt;br /&gt;
* Software and art&lt;br /&gt;
* Core resources for the production of software&lt;br /&gt;
* Tame and wicked projects&lt;br /&gt;
* Organizing the activities based on the GQM approach&lt;br /&gt;
&lt;br /&gt;
==== What forms of evaluation were used to test students’ performance in this section? ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;tab:LSDSectionEval1&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|''' '''&lt;br /&gt;
! '''Yes/No'''&lt;br /&gt;
|-&lt;br /&gt;
| Development of individual parts of software product code&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Homework and group projects&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Midterm evaluation&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Testing (written or computer based)&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Reports&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Essays&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Oral polls&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Discussions&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==== Typical questions for ongoing performance evaluation within this section ====&lt;br /&gt;
&lt;br /&gt;
# Provide examples of creativity in the production of software.&lt;br /&gt;
# Describe the differences between tame and wicked projects.&lt;br /&gt;
# Discuss the key resources needed for the production of software.&lt;br /&gt;
# What are key issues in creative production of software for distributed teams?&lt;br /&gt;
&lt;br /&gt;
==== Typical questions for seminar classes (labs) within this section ====&lt;br /&gt;
&lt;br /&gt;
# Provide examples of wicked problems from your everyday life&lt;br /&gt;
# Evidence wickedness in different aspects of software production&lt;br /&gt;
# Create a GQM for your aims of the semester&lt;br /&gt;
# Discuss the role of GQM in tame and wicked projects&lt;br /&gt;
&lt;br /&gt;
==== Test questions for final assessment in this section ====&lt;br /&gt;
&lt;br /&gt;
# Present the salient aspects of wicked problems&lt;br /&gt;
# List the key aspects of software that make it a wicked problem&lt;br /&gt;
# Provide a link between wickedness and creativity in software production&lt;br /&gt;
# Discuss what promotes and what inhibit creativity in general and in software production&lt;br /&gt;
# Outline meaning and limitation of the concept of “engineering” the production of software&lt;br /&gt;
&lt;br /&gt;
=== Section 2 ===&lt;br /&gt;
&lt;br /&gt;
==== Section title: ====&lt;br /&gt;
&lt;br /&gt;
Measurement in software&lt;br /&gt;
&lt;br /&gt;
==== Topics covered in this section: ====&lt;br /&gt;
&lt;br /&gt;
* Meaning of measures&lt;br /&gt;
* The representational theory of measurement&lt;br /&gt;
* Measurement scales&lt;br /&gt;
* Fundamental measures for the production of software&lt;br /&gt;
* Procedural measures&lt;br /&gt;
* Object Oriented measures&lt;br /&gt;
&lt;br /&gt;
==== What forms of evaluation were used to test students’ performance in this section? ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;tab:LSDSectionEval2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|''' '''&lt;br /&gt;
! '''Yes/No'''&lt;br /&gt;
|-&lt;br /&gt;
| Development of individual parts of software product code&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Homework and group projects&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Midterm evaluation&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Testing (written or computer based)&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Reports&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Essays&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Oral polls&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Discussions&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==== Typical questions for ongoing performance evaluation within this section ====&lt;br /&gt;
&lt;br /&gt;
# Provide examples of the representational theory of measurement&lt;br /&gt;
# List the measurement scales&lt;br /&gt;
# Present for each measurement scale the operations that can be performed on it&lt;br /&gt;
# Discuss the representational condition&lt;br /&gt;
# What are key size metrics?&lt;br /&gt;
# What are key complexity metrics?&lt;br /&gt;
&lt;br /&gt;
==== Typical questions for seminar classes (labs) within this section ====&lt;br /&gt;
&lt;br /&gt;
# Provide examples of subjective and objective metrics&lt;br /&gt;
# List 3 direct and 3 indirect measures, evidencing also the problems connected to the construction of indirect measures&lt;br /&gt;
# Compute LOC and other size metrics for code snippets&lt;br /&gt;
# Compute MCC and other complexity metrics for code snippets&lt;br /&gt;
# Compute the metrics of the CK suite for portions of Object Oriented systems&lt;br /&gt;
&lt;br /&gt;
==== Test questions for final assessment in this section ====&lt;br /&gt;
&lt;br /&gt;
# Structure the aims of a company using the GQM and detailing the metrics to compute, also explaining the deductions and the predictions that can be made with such metrics.&lt;br /&gt;
# Given an index computed as a combination of metrics, determine if it is a metrics according to the representational theory of measurement.&lt;br /&gt;
# Analyse a portion of a system and determine suitable metrics to extract and the information that would be provided by such metrics.&lt;br /&gt;
# Given a website performing a service (like flight reservations), compute the Function Points for such website.&lt;br /&gt;
# Discuss how to structure a taxonomy of quality for a specific company, explaining the role of reliability in it, and detailing how to compute the reliability again in the context of such company; please make the assumptions that you need to perform such computation.&lt;br /&gt;
&lt;br /&gt;
=== Section 3 ===&lt;br /&gt;
&lt;br /&gt;
==== Section title: ====&lt;br /&gt;
&lt;br /&gt;
Taylorism and Fordism&lt;br /&gt;
&lt;br /&gt;
==== Topics covered in this section: ====&lt;br /&gt;
&lt;br /&gt;
* The increase of productivity in the idea of Taylor&lt;br /&gt;
* The role of division of work&lt;br /&gt;
* Planning and formalization of tasks&lt;br /&gt;
* Economies of scale&lt;br /&gt;
* Problems in understanding tasks&lt;br /&gt;
* Taylorism/Fordism and software development&lt;br /&gt;
&lt;br /&gt;
==== What forms of evaluation were used to test students’ performance in this section? ====&lt;br /&gt;
&amp;lt;div id=&amp;quot;tab:LSDSectionEval3&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|''' '''&lt;br /&gt;
! '''Yes/No'''&lt;br /&gt;
|-&lt;br /&gt;
| Development of individual parts of software product code&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Homework and group projects&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Midterm evaluation&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Testing (written or computer based)&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Reports&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Essays&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Oral polls&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Discussions&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==== Typical questions for ongoing performance evaluation within this section ====&lt;br /&gt;
&lt;br /&gt;
# Detail the fundamental assumptions by Taylor&lt;br /&gt;
# What are the fundamental activities of managers according to Taylor?&lt;br /&gt;
# In which sense Taylor has influenced what we now consider “good management practices?”&lt;br /&gt;
# How does creativity relates to the “good management practices” of Taylor?&lt;br /&gt;
# What are the problems in applying Fordism/Taylorism to software development?&lt;br /&gt;
&lt;br /&gt;
==== Typical questions for seminar classes (labs) within this section ====&lt;br /&gt;
&lt;br /&gt;
# Provide examples of companies where the approach by Taylor has been successful&lt;br /&gt;
# Discuss how the approach of Taylor can be useful in attracting and/or retaining employees&lt;br /&gt;
# Analyse the fundamental activities of managers according to Taylor and determine their limits&lt;br /&gt;
# Determine the fundamental activities of managers according to Taylor can have an implication in the software crisis&lt;br /&gt;
# Outline how flexibility and variable requirements can be handled in the context of Taylorism and Fordism&lt;br /&gt;
&lt;br /&gt;
==== Test questions for final assessment in this section ====&lt;br /&gt;
&lt;br /&gt;
# What aspects of making software feel like an art, which like a craft to you and how could you bend Taylorism and Fordism to handle it?&lt;br /&gt;
# How does Fordism and Taylorism can explain that companies producing software containing bugs can still stay in the market, and, in certain case, also be successful?&lt;br /&gt;
# Based on your experience and previous courses, which development models can refer to Fordism and Taylorism and which cannot be reduced to it?&lt;br /&gt;
# How does the specialization of work in software development can be linked to Fordism and Taylorism?&lt;br /&gt;
# Provide an example for each of the fundamental activities of managers according to Taylor that shows how such activity is very useful in software development and one that shows that is is inadequate.&lt;br /&gt;
&lt;br /&gt;
=== Section 4 ===&lt;br /&gt;
&lt;br /&gt;
==== Section title: ====&lt;br /&gt;
&lt;br /&gt;
Lean and Agile&lt;br /&gt;
&lt;br /&gt;
==== Topics covered in this section: ====&lt;br /&gt;
&lt;br /&gt;
* Taiichi Ono and the Toyota Production System&lt;br /&gt;
* Creating a “Radiography” of the Production Process&lt;br /&gt;
* Workers involvement&lt;br /&gt;
* “Pull” and Not “Push”&lt;br /&gt;
* Kanban&lt;br /&gt;
* Quality management&lt;br /&gt;
* Process control&lt;br /&gt;
* Job enrichment&lt;br /&gt;
* Control and coordination mechanisms&lt;br /&gt;
* Case study: Extreme Programming&lt;br /&gt;
&lt;br /&gt;
==== What forms of evaluation were used to test students’ performance in this section? ====&lt;br /&gt;
&amp;lt;div id=&amp;quot;tab:LSDSectionEval4&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|''' '''&lt;br /&gt;
! '''Yes/No'''&lt;br /&gt;
|-&lt;br /&gt;
| Development of individual parts of software product code&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Homework and group projects&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Midterm evaluation&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Testing (written or computer based)&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Reports&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Essays&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Oral polls&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Discussions&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==== Typical questions for ongoing performance evaluation within this section ====&lt;br /&gt;
&lt;br /&gt;
# Present the key problems in batch production&lt;br /&gt;
# Outline the key principles of the approach of Ono at Toyota&lt;br /&gt;
# What are the fundamental steps in eliminating waste according to Ono?&lt;br /&gt;
# Details the role of the customers and of the workers in the approach of Ono&lt;br /&gt;
# Explain the difference between “Pulling” and “Pushing”&lt;br /&gt;
# What are key steps in improving quality according to Ono?&lt;br /&gt;
# What are the key control and coordination mechanisms available?&lt;br /&gt;
&lt;br /&gt;
==== Typical questions for seminar classes (labs) within this section ====&lt;br /&gt;
&lt;br /&gt;
# What are the fundamental two actions needed to perform a Lean transformation according to Ono?&lt;br /&gt;
# What are the associated three major needs?&lt;br /&gt;
# What are the 5 steps to enact Lean Thinking according to Womak and Jones?&lt;br /&gt;
# Discuss the 8 constantly ongoing activities in a lean company like Toyota&lt;br /&gt;
# How can activities been classified in a decision matrix in an environment like Toyota?&lt;br /&gt;
# Provide concrete examples of “Push” and of “Pull” in software production.&lt;br /&gt;
# Details the control and coordination mechanisms present in agile and in traditional development environments.&lt;br /&gt;
&lt;br /&gt;
==== Test questions for final assessment in this section ====&lt;br /&gt;
&lt;br /&gt;
# Structure a model like PDSA for a company producing websites for online marketing.&lt;br /&gt;
# How can the right part and the right information be always available without waste according to the Toyota approach?&lt;br /&gt;
# Compare a street crossing based on traffic lights with a roundabout and determine the approach that is safest and the one with the a highest throughput according to Waterfall and to Lean.&lt;br /&gt;
# Discuss the involvements of workers in tayloristic/fordistic and in Lean development processes and their implications for the retention and the improvement of the quality of the workforce.&lt;br /&gt;
# Outline the extent of which economies of scale exist in Lean development processes.&lt;br /&gt;
# Imagine you had to introduce Extreme Programming in a software development team that follows a waterfall process. Which problems do you foresee? How will the clients react (that until now are used to work with a team that used the waterfall process)? How would you address them?&lt;br /&gt;
&lt;br /&gt;
=== Section 5 ===&lt;br /&gt;
&lt;br /&gt;
==== Section title: ====&lt;br /&gt;
&lt;br /&gt;
Issues in Lean and Agile&lt;br /&gt;
&lt;br /&gt;
==== Topics covered in this section: ====&lt;br /&gt;
&lt;br /&gt;
* The “Hype of Agile”&lt;br /&gt;
* The dark side of agile&lt;br /&gt;
* Skepticism about agile methods&lt;br /&gt;
* Knowledge and software engineering&lt;br /&gt;
* Using burn-down charts&lt;br /&gt;
* The Zen of agile&lt;br /&gt;
&lt;br /&gt;
==== What forms of evaluation were used to test students’ performance in this section? ====&lt;br /&gt;
&amp;lt;div id=&amp;quot;tab:LSDSectionEval5&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|''' '''&lt;br /&gt;
! '''Yes/No'''&lt;br /&gt;
|-&lt;br /&gt;
| Development of individual parts of software product code&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Homework and group projects&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Midterm evaluation&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Testing (written or computer based)&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Reports&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Essays&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Oral polls&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Discussions&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==== Typical questions for ongoing performance evaluation within this section ====&lt;br /&gt;
&lt;br /&gt;
# What is the Gartner’s Innovation Hype Cycle? Could you provide examples of application of it to a different field of knowledge?&lt;br /&gt;
# Describe the so-called “Dark Agile Manifesto”&lt;br /&gt;
# What are the sources of the skepticism present with respect to Agile?&lt;br /&gt;
# What makes agile awkward in the eyes of “traditional” managers?&lt;br /&gt;
# Given a production system, how do you determine what is the value of every step, how much improvement can be considered enough, and when is the point reached where value is not increased anymore but destroyed?&lt;br /&gt;
# How is it possible to obtain knowledge about the production process? How can I create visibility of the ongoing activities or problems?&lt;br /&gt;
&lt;br /&gt;
==== Typical questions for seminar classes (labs) within this section ====&lt;br /&gt;
&lt;br /&gt;
# Identify in other areas of software engineering phenomenon similar to the “Dark Side of Agile.”&lt;br /&gt;
# Identify in other knowledge-intensive fields phenomena similar to the “Dark Side of Agile” and discuss how they can be tackled.&lt;br /&gt;
# Given a production process, determine strategies to store knowledge to create experience?&lt;br /&gt;
# How can you design the production process so that the team uses the gained experience?&lt;br /&gt;
# How can you systematically improve your process, also building on the experience to anticipate problems (create wisdom)?&lt;br /&gt;
&lt;br /&gt;
==== Test questions for final assessment in this section ====&lt;br /&gt;
&lt;br /&gt;
# Imagine you are the boss of a small software development company. Which actions would you do or which practices would you introduce to prevent that your programmers fall into the trap of following a software guru?&lt;br /&gt;
# Elaborate possible extreme (and damaging) positions that can be taken by gurus of agile.&lt;br /&gt;
# Explain the differences in introducing a methodology by a guru and by a smart and effective coach.&lt;br /&gt;
# Detail why Extreme Programming produces an informative workspace.&lt;br /&gt;
# Discuss effective ways of packaging and “distributing” knowledge in software teams, starting with the guru approach of organizing knowledge into simple, clear practices which are easy to explain and to follow.&lt;br /&gt;
&lt;br /&gt;
=== Section 6 ===&lt;br /&gt;
&lt;br /&gt;
==== Section title: ====&lt;br /&gt;
&lt;br /&gt;
Structuring a Lean Approach to software development&lt;br /&gt;
&lt;br /&gt;
==== Topics covered in this section: ====&lt;br /&gt;
&lt;br /&gt;
* Existing proposals to create a “Lean Software Development”&lt;br /&gt;
* Sharing a common vision&lt;br /&gt;
* Depriving gurus of their power&lt;br /&gt;
* GQM+&lt;br /&gt;
* Applying the GQM+ step-by-step&lt;br /&gt;
* Business alignment&lt;br /&gt;
* GQM+ for business alignment&lt;br /&gt;
&lt;br /&gt;
==== What forms of evaluation were used to test students’ performance in this section? ====&lt;br /&gt;
&amp;lt;div id=&amp;quot;tab:LSDSectionEval6&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|''' '''&lt;br /&gt;
! '''Yes/No'''&lt;br /&gt;
|-&lt;br /&gt;
| Development of individual parts of software product code&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Homework and group projects&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Midterm evaluation&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Testing (written or computer based)&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Reports&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Essays&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Oral polls&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Discussions&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==== Typical questions for ongoing performance evaluation within this section ====&lt;br /&gt;
&lt;br /&gt;
# Reflect on the seven principles for characterizing Lean Software Development by Mary and Tom Poppendieck.&lt;br /&gt;
# What is the semantic gap and which threats it poses to effective software development?&lt;br /&gt;
# Map the structure of Extreme Programming to the layered structure of Shalloway et al.&lt;br /&gt;
# How does the scientific method deprives gurus from their power?&lt;br /&gt;
# What are the steps to implement the GQM+?&lt;br /&gt;
# For what reason measurement goals and business goals should be interconnected?&lt;br /&gt;
&lt;br /&gt;
==== Typical questions for seminar classes (labs) within this section ====&lt;br /&gt;
&lt;br /&gt;
# How do the practices of Lean Management defined by Hibbs and colleagues relate to the seven principles by Mary and Tom Poppendieck&lt;br /&gt;
# Propose how you could develop software and hardware tools to promote common visions in companies.&lt;br /&gt;
# Elaborate a proposal to create some kind of Balanced Scorecards to evaluate your current study.&lt;br /&gt;
# Discuss the opinion of Ono about following plans and the extent to which such opinion contradicts (a) the practices, and (b) the principles of the tayloristic/fordistic approach&lt;br /&gt;
# Propose a SWAT analysis to introduce a Lean approach to your most recent software development endavour&lt;br /&gt;
&lt;br /&gt;
==== Test questions for final assessment in this section ====&lt;br /&gt;
&lt;br /&gt;
# Discuss the role of customer on-site under the perspective of lean and outline it relevance in the earlier and then in the later proposals of agile software development.&lt;br /&gt;
# Suppose that you have to develop Balanced Scorecards for a software development team. Which perspectives would you use? Which goals would you use for each perspective?&lt;br /&gt;
# What is a socio-technical system and how can it be used to describe an (agile) software production environement?&lt;br /&gt;
# Imagine you want to evaluate how readable the source code of some program is. Define a GQM+ model to describe what and why you would measure.&lt;br /&gt;
# The development in company M occurs according to the following schema: when a new project is started, a developer takes an old project that is the most similar to the new requirements and makes a copy and starts implementing the required modifications. To improve this process and to help the company to adopt a component-based approach, we want to understand which pieces of code are the best candidates for future components and which variability points they have. Define a suitable GQM+ for such purpose.&lt;br /&gt;
&lt;br /&gt;
=== Section 7 ===&lt;br /&gt;
&lt;br /&gt;
==== Section title: ====&lt;br /&gt;
&lt;br /&gt;
Optimizing the development process&lt;br /&gt;
&lt;br /&gt;
==== Topics covered in this section: ====&lt;br /&gt;
&lt;br /&gt;
* Why the PDSA does not work in software&lt;br /&gt;
* The experience factory&lt;br /&gt;
* The QIP cycle&lt;br /&gt;
* Non invasive measurement&lt;br /&gt;
* The big-brother effect&lt;br /&gt;
* The role of autonomation&lt;br /&gt;
* Employing Andon boards&lt;br /&gt;
&lt;br /&gt;
==== What forms of evaluation were used to test students’ performance in this section? ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;tab:LSDSectionEval7&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|''' '''&lt;br /&gt;
! '''Yes/No'''&lt;br /&gt;
|-&lt;br /&gt;
| Development of individual parts of software product code&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Homework and group projects&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Midterm evaluation&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Testing (written or computer based)&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Reports&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Essays&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Oral polls&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Discussions&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==== Typical questions for ongoing performance evaluation within this section ====&lt;br /&gt;
&lt;br /&gt;
# Details the major components of an experience factory.&lt;br /&gt;
# What are Reflection, Retrospective, and Post-Mortem Analysis? Why are they useful in Lean Software Development?&lt;br /&gt;
# What are the key components of a non invasive software measurement systems?&lt;br /&gt;
# What is the big brother effect and how it is possible to alleviate it.&lt;br /&gt;
# Discuss how autonomation is present in Extreme Programming.&lt;br /&gt;
# Where is the term “Dashboard” coming from and what is its use in Lean Software Development?&lt;br /&gt;
&lt;br /&gt;
==== Typical questions for seminar classes (labs) within this section ====&lt;br /&gt;
&lt;br /&gt;
# List the steps of a QIP.&lt;br /&gt;
# Discuss the risks of a measurement program and how non invasive software measurement can help alleviating them.&lt;br /&gt;
# Are there cases in which Theory X of management could be more effective than Theory Y? Discuss your findings.&lt;br /&gt;
# For which aspects of software production autonomation could be useful?&lt;br /&gt;
# Which tools could be used to promote autonomation?&lt;br /&gt;
# Prototype by paper and pencil an Andon board that you would consider useful in a software production environment.&lt;br /&gt;
&lt;br /&gt;
==== Test questions for final assessment in this section ====&lt;br /&gt;
&lt;br /&gt;
# What type of wisdom (in the sense of “know-why”) would you manage in an Experience Factory to support Lean Thinking? Distinguish between organizational learning and project learning.&lt;br /&gt;
# Assume you are a manager convinced that Theory X is true. Which non-invasive measurement probes would you want to develop to maximize productivity? Now assume you are convinced that Theory Y is true. Which non-invasive measurement probes would you need now?&lt;br /&gt;
# We discussed that we foresee two ways to collect measurements non- invasively: in batch and in background mode. What are the advantages and disadvantages of each approach?&lt;br /&gt;
# There are many interrelated building blocks (or concepts) of Lean Software Development and each contributes differently to it. What types of data are handled by each of these building blocks (or concepts)? How do the contribution to the overall value stream, to the creation of knowledge, and to the overall improvement?&lt;br /&gt;
# Assume you set up a fantastic dashboard for your team. As you collect the data and visualize it, you notice that all the measurements show problematic values. You let the dashboard in place for some days and also show it to your collaborators, but nobody cares; everybody continues his job as if everything would be fine. What is going wrong?&lt;/div&gt;</summary>
		<author><name>A.kruglov</name></author>
	</entry>
	<entry>
		<id>https://eduwiki.innopolis.university/index.php?title=BSc:_Lean_Software_Development&amp;diff=1802</id>
		<title>BSc: Lean Software Development</title>
		<link rel="alternate" type="text/html" href="https://eduwiki.innopolis.university/index.php?title=BSc:_Lean_Software_Development&amp;diff=1802"/>
		<updated>2022-01-08T15:56:36Z</updated>

		<summary type="html">&lt;p&gt;A.kruglov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Lean Software Development =&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;span&amp;gt;'''Course name:'''&amp;lt;/span&amp;gt; Lean Software Development&lt;br /&gt;
* &amp;lt;span&amp;gt;'''Course number:'''&amp;lt;/span&amp;gt; XYZ&lt;br /&gt;
&lt;br /&gt;
== Course characteristics ==&lt;br /&gt;
&lt;br /&gt;
=== Key concepts of the class ===&lt;br /&gt;
&lt;br /&gt;
* Fundamental principles of producing software as a creative act of the human mind&lt;br /&gt;
* Techniques to optimize such production, with specific focus on agile methods&lt;br /&gt;
&lt;br /&gt;
=== What is the purpose of this course? ===&lt;br /&gt;
&lt;br /&gt;
This course exposes the student to the core concepts behind Lean Development in Software Engineering, beyond myths and legends, emphasizing how it relates to the general principles of Lean Development. It discusses the different possible software processes, how they can be tailored, enacted, and measured. In addition, a significant part of the course is centered around the application of lean to software development to knowledge intensive areas not necessarily connected to software.&lt;br /&gt;
&lt;br /&gt;
=== Course Objectives Based on Bloom’s Taxonomy ===&lt;br /&gt;
&lt;br /&gt;
==== What should a student remember at the end of the course? ====&lt;br /&gt;
&lt;br /&gt;
By the end of the course, the students should be able to recognize and define:&lt;br /&gt;
&lt;br /&gt;
* creative nature of software production as an act of creativity of the human mind,&lt;br /&gt;
* the substantial differences between tame and wicked problems,&lt;br /&gt;
* the core concepts of measurement in software engineering,&lt;br /&gt;
* the fundamentals of Taylorist/Fordist approaches to (software) production,&lt;br /&gt;
* the basis of lean and agile software development,&lt;br /&gt;
* the “dark” side of agility,&lt;br /&gt;
* the importance of knowledge and knowledge sharing in producing software,&lt;br /&gt;
* how to create an ad-hoc process for a development organization.&lt;br /&gt;
&lt;br /&gt;
==== What should a student be able to understand at the end of the course? ====&lt;br /&gt;
&lt;br /&gt;
By the end of the course, the students should be able to describe and explain (with examples):&lt;br /&gt;
&lt;br /&gt;
* when a problem is “easy to solve” provided enough effort is put to such solution and when it is not,&lt;br /&gt;
* what is a measure in general,&lt;br /&gt;
* why it is important and how we can define and perform measurements in software engineering, especially in lean and agile development environments,&lt;br /&gt;
* how to organize the development process to collect metrics non invasively,&lt;br /&gt;
* the difference between pulling and pushing in (software) development,&lt;br /&gt;
* the fundamental principle of agility,&lt;br /&gt;
* the risk intrinsic in the dark side of agile,&lt;br /&gt;
* how to organize an agile development process based on the definition of overall Goals, associated Question, and milestones based on Metrics,&lt;br /&gt;
* an environment based on experience, like the Experience Factory.&lt;br /&gt;
&lt;br /&gt;
==== What should a student be able to apply at the end of the course? ====&lt;br /&gt;
&lt;br /&gt;
By the end of the course, the students should be able to:&lt;br /&gt;
&lt;br /&gt;
* Compute the fundamental software metrics to track the evolution of a project,&lt;br /&gt;
* Organize the aims of a (software) development organization in terms of Goals, Questions, and Metrics,&lt;br /&gt;
* Create a tailored (lean and agile) development process for an organization producing software,&lt;br /&gt;
* Define a path to insert and manage such (lean and agile) development process into an organization producing software,&lt;br /&gt;
* Structure the experience gathering during inside an organization to based on it the future strategic decision of such organization,&lt;br /&gt;
* Relate the various proposals for Agile Methods to the overall principles of Lean Management,&lt;br /&gt;
* Define a suitable (lean) process for a new organization, a process to introduce and institutionalize it, and an approach to measure the outcome of such introduction and institutionalization.&lt;br /&gt;
&lt;br /&gt;
=== Course evaluation ===&lt;br /&gt;
The course can be passed by one of the following tracks:&lt;br /&gt;
I. Minimum passing level &lt;br /&gt;
II. Standard (replicate from syllabus) &lt;br /&gt;
III. Project focused &lt;br /&gt;
IV. Student research competition &lt;br /&gt;
Each track has a different weights of the evaluation criteria, but in general, the categories are the following:&lt;br /&gt;
* Class and lab participation (including class quizzes) &lt;br /&gt;
* Interactions with speakers&lt;br /&gt;
* Project &lt;br /&gt;
* Paper &lt;br /&gt;
* SRC submission &lt;br /&gt;
* Video presentation &lt;br /&gt;
* Oral exam&lt;br /&gt;
Every component will be graded on a scale 0-10 or 0-2 with a possibility of extra 30% extra credit. Failing any component of the course causes a failure of the whole course; indeed, this applies to the components with a weight larger than 0.&lt;br /&gt;
&lt;br /&gt;
If there are not failing components the final grade will be computed as a weighted average of the components above approximated at the highest second digit and then rounded to the closest integer, and finally assigning A to 10, B to 7 to 9, C to 6. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Below a detailed description of each track is given. Notice that for tracks II, III, and IV, when they exist, the grades of the project, the paper, and SRC are divided in 50% for weekly deliverables and 50% for the final result. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
During the first week, all groups need to have a vision of what do to. Then, every week they need to show what they have done and provide a plan for the future. Weekly outcomes will be graded on a scale 0-2 and the final result will be graded on a scale 0-10. &lt;br /&gt;
&lt;br /&gt;
==== I. Minimum passing level ====&lt;br /&gt;
By choosing this track students can get a C grade for the course while putting minimum effort into it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;tab:LSDCourseGrading1&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|+ '''Course grade breakdown'''&lt;br /&gt;
!align=&amp;quot;center&amp;quot;| '''Component'''&lt;br /&gt;
! '''Points'''&lt;br /&gt;
|-&lt;br /&gt;
| Class and lab participation (including class quizzes)&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 15&lt;br /&gt;
|-&lt;br /&gt;
| Interactions with speakers&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 5&lt;br /&gt;
|-&lt;br /&gt;
| Oral Exam&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 80&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== II. Standard ====&lt;br /&gt;
The standard way of passing the course including the group project activity, as it is given in the syllabus.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;tab:LSDCourseGrading2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|+ '''Course grade breakdown'''&lt;br /&gt;
!align=&amp;quot;center&amp;quot;| '''Component'''&lt;br /&gt;
! '''Points'''&lt;br /&gt;
|-&lt;br /&gt;
| Class and lab participation (including class quizzes)&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 10&lt;br /&gt;
|-&lt;br /&gt;
| Interactions with speakers&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 10&lt;br /&gt;
|-&lt;br /&gt;
| Project&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 30&lt;br /&gt;
|-&lt;br /&gt;
| Video presentation&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 30&lt;br /&gt;
|-&lt;br /&gt;
| Oral Exam&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 20&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The grade of the project is 50% for weekly deliverables and 50% for the final result. &lt;br /&gt;
&lt;br /&gt;
==== III. Project focused ====&lt;br /&gt;
This track is for students who want to perform individual research-based projects.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;tab:LSDCourseGrading3&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|+ '''Course grade breakdown'''&lt;br /&gt;
!align=&amp;quot;center&amp;quot;| '''Component'''&lt;br /&gt;
! '''Points'''&lt;br /&gt;
|-&lt;br /&gt;
| Class and lab participation (including class quizzes)&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 10&lt;br /&gt;
|-&lt;br /&gt;
| Interactions with speakers&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 10&lt;br /&gt;
|-&lt;br /&gt;
| Project&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 40&lt;br /&gt;
|-&lt;br /&gt;
| Paper&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 20&lt;br /&gt;
|-&lt;br /&gt;
| Video presentation&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 10&lt;br /&gt;
|-&lt;br /&gt;
| Oral Exam&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 10&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The grade of the project is 50% for weekly deliverables and 50% for the final result. The grade does not depend on the actual outcome of the paper submission, but it is defined by the instructor according to the typical criteria for paper submissions. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== IV. Student research competition ====&lt;br /&gt;
This track is for the most intelligent students who can provide the deliverable of the research-based project in the form of well-done paper and participate in SRC of one of the most recognizable software engineering conferences worldwide.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;tab:LSDCourseGrading4&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|+ '''Course grade breakdown'''&lt;br /&gt;
!align=&amp;quot;center&amp;quot;| '''Component'''&lt;br /&gt;
! '''Points'''&lt;br /&gt;
|-&lt;br /&gt;
| Class and lab participation (including class quizzes)&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 10&lt;br /&gt;
|-&lt;br /&gt;
| Interactions with speakers&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 10&lt;br /&gt;
|-&lt;br /&gt;
| Project&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 40&lt;br /&gt;
|-&lt;br /&gt;
| Paper&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 20&lt;br /&gt;
|-&lt;br /&gt;
| SRC submission&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 20&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Grades range ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;tab:LSDCourseGradingRange&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|+ Course grading range&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
!align=&amp;quot;center&amp;quot;| '''Proposed range'''&lt;br /&gt;
|-&lt;br /&gt;
| A. Excellent&lt;br /&gt;
| 90-100&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 96-100&lt;br /&gt;
|-&lt;br /&gt;
| B. Good&lt;br /&gt;
| 75-89&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 66-95&lt;br /&gt;
|-&lt;br /&gt;
| C. Satisfactory&lt;br /&gt;
| 60-74&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 56-65&lt;br /&gt;
|-&lt;br /&gt;
| D. Poor&lt;br /&gt;
| 0-59&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0-55&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
The semester starts with the default range as proposed in the Table [[#tab:OSCourseGradingRange|2]], but it may change slightly (usually reduced) depending on how the semester progresses. See above.&lt;br /&gt;
&lt;br /&gt;
=== Resources and reference material ===&lt;br /&gt;
&lt;br /&gt;
* '''Textbook:''' Andrea Janes and Giancarlo Succi. Lean Software Development in Action. Springer, Heidelberg, Germany, 2014. ISBN 978-3-662-44178-7. doi: 10.1007/978-3-642-00503-9.&lt;br /&gt;
* '''Reference:''' James P. Womack and Daniel T. Jones. Lean Thinking: banish waste and create wealth in your corporation. Lean Enterprise Institute. Simon &amp;amp; Schuster, 1996. ISBN 9780684810355.&lt;br /&gt;
* '''Reference:''' Taiichi Ohno. Toyota production system: beyond large-scale production. CRC Press, 1988&lt;br /&gt;
* '''Reference:''' James P. Womack. Lean Thinking. Simon &amp;amp; Schuster, Limited, 1997. ISBN 9780671004712.&lt;br /&gt;
* '''Reference:''' James P. Womack, Daniel T. Jones, and Daniel Roos. The Machine That Changed the World: The Story of Lean Production. Harper Perennial modern classics. HarperCollins, 1991. ISBN 9780060974176.&lt;br /&gt;
* '''Reference:''' Mary Poppendieck and Tom Poppendieck. Implementing Lean Software Development: From Concept to Cash. A Kent Beck signature book. Addison-Wesley, 2007. ISBN 9780321437389.&lt;br /&gt;
* '''Reference:''' C.M. Christensen. The Innovator’s Dilemma: When New Technologies Cause Great Firms to Fail. Management of innovation and change series. Harvard Business School Press, 1997. ISBN 9780875845852.&lt;br /&gt;
&lt;br /&gt;
== Course Sections ==&lt;br /&gt;
&lt;br /&gt;
The course is organized in 15 weeks with every weeks 2 academics hours of lectures and 4 academic hours of labs. The main sections of the course and approximate hour distribution between them is as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;tab:LSDCourseSections&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|+ Course Sections&lt;br /&gt;
!align=&amp;quot;center&amp;quot;| '''Section'''&lt;br /&gt;
! '''Section Title'''&lt;br /&gt;
!align=&amp;quot;center&amp;quot;| '''Teaching Hours'''&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
| Software as a creative activity&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 12&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 2&lt;br /&gt;
| Measurement in software&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 24&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 3&lt;br /&gt;
| Taylorism and Fordism&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 6&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 4&lt;br /&gt;
| Lean and Agile&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 24&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 5&lt;br /&gt;
| Issues in Lean and Agile&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 6&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 6&lt;br /&gt;
| Structuring a Lean Approach to software development&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 6&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 7&lt;br /&gt;
| Optimizing the development process&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 12&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Section 1 ===&lt;br /&gt;
&lt;br /&gt;
==== Section title: ====&lt;br /&gt;
&lt;br /&gt;
Software as a creative activity&lt;br /&gt;
&lt;br /&gt;
==== Topics covered in this section: ====&lt;br /&gt;
&lt;br /&gt;
* Nature of software&lt;br /&gt;
* Software and art&lt;br /&gt;
* Core resources for the production of software&lt;br /&gt;
* Tame and wicked projects&lt;br /&gt;
* Organizing the activities based on the GQM approach&lt;br /&gt;
&lt;br /&gt;
==== What forms of evaluation were used to test students’ performance in this section? ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;tab:LSDSectionEval1&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|''' '''&lt;br /&gt;
! '''Yes/No'''&lt;br /&gt;
|-&lt;br /&gt;
| Development of individual parts of software product code&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Homework and group projects&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Midterm evaluation&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Testing (written or computer based)&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Reports&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Essays&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Oral polls&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Discussions&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==== Typical questions for ongoing performance evaluation within this section ====&lt;br /&gt;
&lt;br /&gt;
# Provide examples of creativity in the production of software.&lt;br /&gt;
# Describe the differences between tame and wicked projects.&lt;br /&gt;
# Discuss the key resources needed for the production of software.&lt;br /&gt;
# What are key issues in creative production of software for distributed teams?&lt;br /&gt;
&lt;br /&gt;
==== Typical questions for seminar classes (labs) within this section ====&lt;br /&gt;
&lt;br /&gt;
# Provide examples of wicked problems from your everyday life&lt;br /&gt;
# Evidence wickedness in different aspects of software production&lt;br /&gt;
# Create a GQM for your aims of the semester&lt;br /&gt;
# Discuss the role of GQM in tame and wicked projects&lt;br /&gt;
&lt;br /&gt;
==== Test questions for final assessment in this section ====&lt;br /&gt;
&lt;br /&gt;
# Present the salient aspects of wicked problems&lt;br /&gt;
# List the key aspects of software that make it a wicked problem&lt;br /&gt;
# Provide a link between wickedness and creativity in software production&lt;br /&gt;
# Discuss what promotes and what inhibit creativity in general and in software production&lt;br /&gt;
# Outline meaning and limitation of the concept of “engineering” the production of software&lt;br /&gt;
&lt;br /&gt;
=== Section 2 ===&lt;br /&gt;
&lt;br /&gt;
==== Section title: ====&lt;br /&gt;
&lt;br /&gt;
Measurement in software&lt;br /&gt;
&lt;br /&gt;
==== Topics covered in this section: ====&lt;br /&gt;
&lt;br /&gt;
* Meaning of measures&lt;br /&gt;
* The representational theory of measurement&lt;br /&gt;
* Measurement scales&lt;br /&gt;
* Fundamental measures for the production of software&lt;br /&gt;
* Procedural measures&lt;br /&gt;
* Object Oriented measures&lt;br /&gt;
&lt;br /&gt;
==== What forms of evaluation were used to test students’ performance in this section? ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;tab:LSDSectionEval2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|''' '''&lt;br /&gt;
! '''Yes/No'''&lt;br /&gt;
|-&lt;br /&gt;
| Development of individual parts of software product code&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Homework and group projects&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Midterm evaluation&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Testing (written or computer based)&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Reports&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Essays&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Oral polls&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Discussions&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==== Typical questions for ongoing performance evaluation within this section ====&lt;br /&gt;
&lt;br /&gt;
# Provide examples of the representational theory of measurement&lt;br /&gt;
# List the measurement scales&lt;br /&gt;
# Present for each measurement scale the operations that can be performed on it&lt;br /&gt;
# Discuss the representational condition&lt;br /&gt;
# What are key size metrics?&lt;br /&gt;
# What are key complexity metrics?&lt;br /&gt;
&lt;br /&gt;
==== Typical questions for seminar classes (labs) within this section ====&lt;br /&gt;
&lt;br /&gt;
# Provide examples of subjective and objective metrics&lt;br /&gt;
# List 3 direct and 3 indirect measures, evidencing also the problems connected to the construction of indirect measures&lt;br /&gt;
# Compute LOC and other size metrics for code snippets&lt;br /&gt;
# Compute MCC and other complexity metrics for code snippets&lt;br /&gt;
# Compute the metrics of the CK suite for portions of Object Oriented systems&lt;br /&gt;
&lt;br /&gt;
==== Test questions for final assessment in this section ====&lt;br /&gt;
&lt;br /&gt;
# Structure the aims of a company using the GQM and detailing the metrics to compute, also explaining the deductions and the predictions that can be made with such metrics.&lt;br /&gt;
# Given an index computed as a combination of metrics, determine if it is a metrics according to the representational theory of measurement.&lt;br /&gt;
# Analyse a portion of a system and determine suitable metrics to extract and the information that would be provided by such metrics.&lt;br /&gt;
# Given a website performing a service (like flight reservations), compute the Function Points for such website.&lt;br /&gt;
# Discuss how to structure a taxonomy of quality for a specific company, explaining the role of reliability in it, and detailing how to compute the reliability again in the context of such company; please make the assumptions that you need to perform such computation.&lt;br /&gt;
&lt;br /&gt;
=== Section 3 ===&lt;br /&gt;
&lt;br /&gt;
==== Section title: ====&lt;br /&gt;
&lt;br /&gt;
Taylorism and Fordism&lt;br /&gt;
&lt;br /&gt;
==== Topics covered in this section: ====&lt;br /&gt;
&lt;br /&gt;
* The increase of productivity in the idea of Taylor&lt;br /&gt;
* The role of division of work&lt;br /&gt;
* Planning and formalization of tasks&lt;br /&gt;
* Economies of scale&lt;br /&gt;
* Problems in understanding tasks&lt;br /&gt;
* Taylorism/Fordism and software development&lt;br /&gt;
&lt;br /&gt;
==== What forms of evaluation were used to test students’ performance in this section? ====&lt;br /&gt;
&amp;lt;div id=&amp;quot;tab:LSDSectionEval3&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|''' '''&lt;br /&gt;
! '''Yes/No'''&lt;br /&gt;
|-&lt;br /&gt;
| Development of individual parts of software product code&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Homework and group projects&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Midterm evaluation&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Testing (written or computer based)&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Reports&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Essays&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Oral polls&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Discussions&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==== Typical questions for ongoing performance evaluation within this section ====&lt;br /&gt;
&lt;br /&gt;
# Detail the fundamental assumptions by Taylor&lt;br /&gt;
# What are the fundamental activities of managers according to Taylor?&lt;br /&gt;
# In which sense Taylor has influenced what we now consider “good management practices?”&lt;br /&gt;
# How does creativity relates to the “good management practices” of Taylor?&lt;br /&gt;
# What are the problems in applying Fordism/Taylorism to software development?&lt;br /&gt;
&lt;br /&gt;
==== Typical questions for seminar classes (labs) within this section ====&lt;br /&gt;
&lt;br /&gt;
# Provide examples of companies where the approach by Taylor has been successful&lt;br /&gt;
# Discuss how the approach of Taylor can be useful in attracting and/or retaining employees&lt;br /&gt;
# Analyse the fundamental activities of managers according to Taylor and determine their limits&lt;br /&gt;
# Determine the fundamental activities of managers according to Taylor can have an implication in the software crisis&lt;br /&gt;
# Outline how flexibility and variable requirements can be handled in the context of Taylorism and Fordism&lt;br /&gt;
&lt;br /&gt;
==== Test questions for final assessment in this section ====&lt;br /&gt;
&lt;br /&gt;
# What aspects of making software feel like an art, which like a craft to you and how could you bend Taylorism and Fordism to handle it?&lt;br /&gt;
# How does Fordism and Taylorism can explain that companies producing software containing bugs can still stay in the market, and, in certain case, also be successful?&lt;br /&gt;
# Based on your experience and previous courses, which development models can refer to Fordism and Taylorism and which cannot be reduced to it?&lt;br /&gt;
# How does the specialization of work in software development can be linked to Fordism and Taylorism?&lt;br /&gt;
# Provide an example for each of the fundamental activities of managers according to Taylor that shows how such activity is very useful in software development and one that shows that is is inadequate.&lt;br /&gt;
&lt;br /&gt;
=== Section 4 ===&lt;br /&gt;
&lt;br /&gt;
==== Section title: ====&lt;br /&gt;
&lt;br /&gt;
Lean and Agile&lt;br /&gt;
&lt;br /&gt;
==== Topics covered in this section: ====&lt;br /&gt;
&lt;br /&gt;
* Taiichi Ono and the Toyota Production System&lt;br /&gt;
* Creating a “Radiography” of the Production Process&lt;br /&gt;
* Workers involvement&lt;br /&gt;
* “Pull” and Not “Push”&lt;br /&gt;
* Kanban&lt;br /&gt;
* Quality management&lt;br /&gt;
* Process control&lt;br /&gt;
* Job enrichment&lt;br /&gt;
* Control and coordination mechanisms&lt;br /&gt;
* Case study: Extreme Programming&lt;br /&gt;
&lt;br /&gt;
==== What forms of evaluation were used to test students’ performance in this section? ====&lt;br /&gt;
&amp;lt;div id=&amp;quot;tab:LSDSectionEval4&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|''' '''&lt;br /&gt;
! '''Yes/No'''&lt;br /&gt;
|-&lt;br /&gt;
| Development of individual parts of software product code&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Homework and group projects&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Midterm evaluation&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Testing (written or computer based)&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Reports&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Essays&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Oral polls&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Discussions&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==== Typical questions for ongoing performance evaluation within this section ====&lt;br /&gt;
&lt;br /&gt;
# Present the key problems in batch production&lt;br /&gt;
# Outline the key principles of the approach of Ono at Toyota&lt;br /&gt;
# What are the fundamental steps in eliminating waste according to Ono?&lt;br /&gt;
# Details the role of the customers and of the workers in the approach of Ono&lt;br /&gt;
# Explain the difference between “Pulling” and “Pushing”&lt;br /&gt;
# What are key steps in improving quality according to Ono?&lt;br /&gt;
# What are the key control and coordination mechanisms available?&lt;br /&gt;
&lt;br /&gt;
==== Typical questions for seminar classes (labs) within this section ====&lt;br /&gt;
&lt;br /&gt;
# What are the fundamental two actions needed to perform a Lean transformation according to Ono?&lt;br /&gt;
# What are the associated three major needs?&lt;br /&gt;
# What are the 5 steps to enact Lean Thinking according to Womak and Jones?&lt;br /&gt;
# Discuss the 8 constantly ongoing activities in a lean company like Toyota&lt;br /&gt;
# How can activities been classified in a decision matrix in an environment like Toyota?&lt;br /&gt;
# Provide concrete examples of “Push” and of “Pull” in software production.&lt;br /&gt;
# Details the control and coordination mechanisms present in agile and in traditional development environments.&lt;br /&gt;
&lt;br /&gt;
==== Test questions for final assessment in this section ====&lt;br /&gt;
&lt;br /&gt;
# Structure a model like PDSA for a company producing websites for online marketing.&lt;br /&gt;
# How can the right part and the right information be always available without waste according to the Toyota approach?&lt;br /&gt;
# Compare a street crossing based on traffic lights with a roundabout and determine the approach that is safest and the one with the a highest throughput according to Waterfall and to Lean.&lt;br /&gt;
# Discuss the involvements of workers in tayloristic/fordistic and in Lean development processes and their implications for the retention and the improvement of the quality of the workforce.&lt;br /&gt;
# Outline the extent of which economies of scale exist in Lean development processes.&lt;br /&gt;
# Imagine you had to introduce Extreme Programming in a software development team that follows a waterfall process. Which problems do you foresee? How will the clients react (that until now are used to work with a team that used the waterfall process)? How would you address them?&lt;br /&gt;
&lt;br /&gt;
=== Section 5 ===&lt;br /&gt;
&lt;br /&gt;
==== Section title: ====&lt;br /&gt;
&lt;br /&gt;
Issues in Lean and Agile&lt;br /&gt;
&lt;br /&gt;
==== Topics covered in this section: ====&lt;br /&gt;
&lt;br /&gt;
* The “Hype of Agile”&lt;br /&gt;
* The dark side of agile&lt;br /&gt;
* Skepticism about agile methods&lt;br /&gt;
* Knowledge and software engineering&lt;br /&gt;
* Using burn-down charts&lt;br /&gt;
* The Zen of agile&lt;br /&gt;
&lt;br /&gt;
==== What forms of evaluation were used to test students’ performance in this section? ====&lt;br /&gt;
&amp;lt;div id=&amp;quot;tab:LSDSectionEval5&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|''' '''&lt;br /&gt;
! '''Yes/No'''&lt;br /&gt;
|-&lt;br /&gt;
| Development of individual parts of software product code&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Homework and group projects&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Midterm evaluation&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Testing (written or computer based)&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Reports&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Essays&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Oral polls&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Discussions&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==== Typical questions for ongoing performance evaluation within this section ====&lt;br /&gt;
&lt;br /&gt;
# What is the Gartner’s Innovation Hype Cycle? Could you provide examples of application of it to a different field of knowledge?&lt;br /&gt;
# Describe the so-called “Dark Agile Manifesto”&lt;br /&gt;
# What are the sources of the skepticism present with respect to Agile?&lt;br /&gt;
# What makes agile awkward in the eyes of “traditional” managers?&lt;br /&gt;
# Given a production system, how do you determine what is the value of every step, how much improvement can be considered enough, and when is the point reached where value is not increased anymore but destroyed?&lt;br /&gt;
# How is it possible to obtain knowledge about the production process? How can I create visibility of the ongoing activities or problems?&lt;br /&gt;
&lt;br /&gt;
==== Typical questions for seminar classes (labs) within this section ====&lt;br /&gt;
&lt;br /&gt;
# Identify in other areas of software engineering phenomenon similar to the “Dark Side of Agile.”&lt;br /&gt;
# Identify in other knowledge-intensive fields phenomena similar to the “Dark Side of Agile” and discuss how they can be tackled.&lt;br /&gt;
# Given a production process, determine strategies to store knowledge to create experience?&lt;br /&gt;
# How can you design the production process so that the team uses the gained experience?&lt;br /&gt;
# How can you systematically improve your process, also building on the experience to anticipate problems (create wisdom)?&lt;br /&gt;
&lt;br /&gt;
==== Test questions for final assessment in this section ====&lt;br /&gt;
&lt;br /&gt;
# Imagine you are the boss of a small software development company. Which actions would you do or which practices would you introduce to prevent that your programmers fall into the trap of following a software guru?&lt;br /&gt;
# Elaborate possible extreme (and damaging) positions that can be taken by gurus of agile.&lt;br /&gt;
# Explain the differences in introducing a methodology by a guru and by a smart and effective coach.&lt;br /&gt;
# Detail why Extreme Programming produces an informative workspace.&lt;br /&gt;
# Discuss effective ways of packaging and “distributing” knowledge in software teams, starting with the guru approach of organizing knowledge into simple, clear practices which are easy to explain and to follow.&lt;br /&gt;
&lt;br /&gt;
=== Section 6 ===&lt;br /&gt;
&lt;br /&gt;
==== Section title: ====&lt;br /&gt;
&lt;br /&gt;
Structuring a Lean Approach to software development&lt;br /&gt;
&lt;br /&gt;
==== Topics covered in this section: ====&lt;br /&gt;
&lt;br /&gt;
* Existing proposals to create a “Lean Software Development”&lt;br /&gt;
* Sharing a common vision&lt;br /&gt;
* Depriving gurus of their power&lt;br /&gt;
* GQM+&lt;br /&gt;
* Applying the GQM+ step-by-step&lt;br /&gt;
* Business alignment&lt;br /&gt;
* GQM+ for business alignment&lt;br /&gt;
&lt;br /&gt;
==== What forms of evaluation were used to test students’ performance in this section? ====&lt;br /&gt;
&amp;lt;div id=&amp;quot;tab:LSDSectionEval6&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|''' '''&lt;br /&gt;
! '''Yes/No'''&lt;br /&gt;
|-&lt;br /&gt;
| Development of individual parts of software product code&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Homework and group projects&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Midterm evaluation&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Testing (written or computer based)&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Reports&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Essays&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Oral polls&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Discussions&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==== Typical questions for ongoing performance evaluation within this section ====&lt;br /&gt;
&lt;br /&gt;
# Reflect on the seven principles for characterizing Lean Software Development by Mary and Tom Poppendieck.&lt;br /&gt;
# What is the semantic gap and which threats it poses to effective software development?&lt;br /&gt;
# Map the structure of Extreme Programming to the layered structure of Shalloway et al.&lt;br /&gt;
# How does the scientific method deprives gurus from their power?&lt;br /&gt;
# What are the steps to implement the GQM+?&lt;br /&gt;
# For what reason measurement goals and business goals should be interconnected?&lt;br /&gt;
&lt;br /&gt;
==== Typical questions for seminar classes (labs) within this section ====&lt;br /&gt;
&lt;br /&gt;
# How do the practices of Lean Management defined by Hibbs and colleagues relate to the seven principles by Mary and Tom Poppendieck&lt;br /&gt;
# Propose how you could develop software and hardware tools to promote common visions in companies.&lt;br /&gt;
# Elaborate a proposal to create some kind of Balanced Scorecards to evaluate your current study.&lt;br /&gt;
# Discuss the opinion of Ono about following plans and the extent to which such opinion contradicts (a) the practices, and (b) the principles of the tayloristic/fordistic approach&lt;br /&gt;
# Propose a SWAT analysis to introduce a Lean approach to your most recent software development endavour&lt;br /&gt;
&lt;br /&gt;
==== Test questions for final assessment in this section ====&lt;br /&gt;
&lt;br /&gt;
# Discuss the role of customer on-site under the perspective of lean and outline it relevance in the earlier and then in the later proposals of agile software development.&lt;br /&gt;
# Suppose that you have to develop Balanced Scorecards for a software development team. Which perspectives would you use? Which goals would you use for each perspective?&lt;br /&gt;
# What is a socio-technical system and how can it be used to describe an (agile) software production environement?&lt;br /&gt;
# Imagine you want to evaluate how readable the source code of some program is. Define a GQM+ model to describe what and why you would measure.&lt;br /&gt;
# The development in company M occurs according to the following schema: when a new project is started, a developer takes an old project that is the most similar to the new requirements and makes a copy and starts implementing the required modifications. To improve this process and to help the company to adopt a component-based approach, we want to understand which pieces of code are the best candidates for future components and which variability points they have. Define a suitable GQM+ for such purpose.&lt;br /&gt;
&lt;br /&gt;
=== Section 7 ===&lt;br /&gt;
&lt;br /&gt;
==== Section title: ====&lt;br /&gt;
&lt;br /&gt;
Optimizing the development process&lt;br /&gt;
&lt;br /&gt;
==== Topics covered in this section: ====&lt;br /&gt;
&lt;br /&gt;
* Why the PDSA does not work in software&lt;br /&gt;
* The experience factory&lt;br /&gt;
* The QIP cycle&lt;br /&gt;
* Non invasive measurement&lt;br /&gt;
* The big-brother effect&lt;br /&gt;
* The role of autonomation&lt;br /&gt;
* Employing Andon boards&lt;br /&gt;
&lt;br /&gt;
==== What forms of evaluation were used to test students’ performance in this section? ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;tab:LSDSectionEval7&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|''' '''&lt;br /&gt;
! '''Yes/No'''&lt;br /&gt;
|-&lt;br /&gt;
| Development of individual parts of software product code&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Homework and group projects&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Midterm evaluation&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Testing (written or computer based)&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Reports&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Essays&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Oral polls&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Discussions&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==== Typical questions for ongoing performance evaluation within this section ====&lt;br /&gt;
&lt;br /&gt;
# Details the major components of an experience factory.&lt;br /&gt;
# What are Reflection, Retrospective, and Post-Mortem Analysis? Why are they useful in Lean Software Development?&lt;br /&gt;
# What are the key components of a non invasive software measurement systems?&lt;br /&gt;
# What is the big brother effect and how it is possible to alleviate it.&lt;br /&gt;
# Discuss how autonomation is present in Extreme Programming.&lt;br /&gt;
# Where is the term “Dashboard” coming from and what is its use in Lean Software Development?&lt;br /&gt;
&lt;br /&gt;
==== Typical questions for seminar classes (labs) within this section ====&lt;br /&gt;
&lt;br /&gt;
# List the steps of a QIP.&lt;br /&gt;
# Discuss the risks of a measurement program and how non invasive software measurement can help alleviating them.&lt;br /&gt;
# Are there cases in which Theory X of management could be more effective than Theory Y? Discuss your findings.&lt;br /&gt;
# For which aspects of software production autonomation could be useful?&lt;br /&gt;
# Which tools could be used to promote autonomation?&lt;br /&gt;
# Prototype by paper and pencil an Andon board that you would consider useful in a software production environment.&lt;br /&gt;
&lt;br /&gt;
==== Test questions for final assessment in this section ====&lt;br /&gt;
&lt;br /&gt;
# What type of wisdom (in the sense of “know-why”) would you manage in an Experience Factory to support Lean Thinking? Distinguish between organizational learning and project learning.&lt;br /&gt;
# Assume you are a manager convinced that Theory X is true. Which non-invasive measurement probes would you want to develop to maximize productivity? Now assume you are convinced that Theory Y is true. Which non-invasive measurement probes would you need now?&lt;br /&gt;
# We discussed that we foresee two ways to collect measurements non- invasively: in batch and in background mode. What are the advantages and disadvantages of each approach?&lt;br /&gt;
# There are many interrelated building blocks (or concepts) of Lean Software Development and each contributes differently to it. What types of data are handled by each of these building blocks (or concepts)? How do the contribution to the overall value stream, to the creation of knowledge, and to the overall improvement?&lt;br /&gt;
# Assume you set up a fantastic dashboard for your team. As you collect the data and visualize it, you notice that all the measurements show problematic values. You let the dashboard in place for some days and also show it to your collaborators, but nobody cares; everybody continues his job as if everything would be fine. What is going wrong?&lt;/div&gt;</summary>
		<author><name>A.kruglov</name></author>
	</entry>
	<entry>
		<id>https://eduwiki.innopolis.university/index.php?title=BSc:_Lean_Software_Development&amp;diff=1801</id>
		<title>BSc: Lean Software Development</title>
		<link rel="alternate" type="text/html" href="https://eduwiki.innopolis.university/index.php?title=BSc:_Lean_Software_Development&amp;diff=1801"/>
		<updated>2022-01-08T15:41:09Z</updated>

		<summary type="html">&lt;p&gt;A.kruglov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Lean Software Development =&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;span&amp;gt;'''Course name:'''&amp;lt;/span&amp;gt; Lean Software Development&lt;br /&gt;
* &amp;lt;span&amp;gt;'''Course number:'''&amp;lt;/span&amp;gt; XYZ&lt;br /&gt;
&lt;br /&gt;
== Course characteristics ==&lt;br /&gt;
&lt;br /&gt;
=== Key concepts of the class ===&lt;br /&gt;
&lt;br /&gt;
* Fundamental principles of producing software as a creative act of the human mind&lt;br /&gt;
* Techniques to optimize such production, with specific focus on agile methods&lt;br /&gt;
&lt;br /&gt;
=== What is the purpose of this course? ===&lt;br /&gt;
&lt;br /&gt;
This course exposes the student to the core concepts behind Lean Development in Software Engineering, beyond myths and legends, emphasizing how it relates to the general principles of Lean Development. It discusses the different possible software processes, how they can be tailored, enacted, and measured. In addition, a significant part of the course is centered around the application of lean to software development to knowledge intensive areas not necessarily connected to software.&lt;br /&gt;
&lt;br /&gt;
=== Course Objectives Based on Bloom’s Taxonomy ===&lt;br /&gt;
&lt;br /&gt;
==== What should a student remember at the end of the course? ====&lt;br /&gt;
&lt;br /&gt;
By the end of the course, the students should be able to recognize and define:&lt;br /&gt;
&lt;br /&gt;
* creative nature of software production as an act of creativity of the human mind,&lt;br /&gt;
* the substantial differences between tame and wicked problems,&lt;br /&gt;
* the core concepts of measurement in software engineering,&lt;br /&gt;
* the fundamentals of Taylorist/Fordist approaches to (software) production,&lt;br /&gt;
* the basis of lean and agile software development,&lt;br /&gt;
* the “dark” side of agility,&lt;br /&gt;
* the importance of knowledge and knowledge sharing in producing software,&lt;br /&gt;
* how to create an ad-hoc process for a development organization.&lt;br /&gt;
&lt;br /&gt;
==== What should a student be able to understand at the end of the course? ====&lt;br /&gt;
&lt;br /&gt;
By the end of the course, the students should be able to describe and explain (with examples):&lt;br /&gt;
&lt;br /&gt;
* when a problem is “easy to solve” provided enough effort is put to such solution and when it is not,&lt;br /&gt;
* what is a measure in general,&lt;br /&gt;
* why it is important and how we can define and perform measurements in software engineering, especially in lean and agile development environments,&lt;br /&gt;
* how to organize the development process to collect metrics non invasively,&lt;br /&gt;
* the difference between pulling and pushing in (software) development,&lt;br /&gt;
* the fundamental principle of agility,&lt;br /&gt;
* the risk intrinsic in the dark side of agile,&lt;br /&gt;
* how to organize an agile development process based on the definition of overall Goals, associated Question, and milestones based on Metrics,&lt;br /&gt;
* an environment based on experience, like the Experience Factory.&lt;br /&gt;
&lt;br /&gt;
==== What should a student be able to apply at the end of the course? ====&lt;br /&gt;
&lt;br /&gt;
By the end of the course, the students should be able to:&lt;br /&gt;
&lt;br /&gt;
* Compute the fundamental software metrics to track the evolution of a project,&lt;br /&gt;
* Organize the aims of a (software) development organization in terms of Goals, Questions, and Metrics,&lt;br /&gt;
* Create a tailored (lean and agile) development process for an organization producing software,&lt;br /&gt;
* Define a path to insert and manage such (lean and agile) development process into an organization producing software,&lt;br /&gt;
* Structure the experience gathering during inside an organization to based on it the future strategic decision of such organization,&lt;br /&gt;
* Relate the various proposals for Agile Methods to the overall principles of Lean Management,&lt;br /&gt;
* Define a suitable (lean) process for a new organization, a process to introduce and institutionalize it, and an approach to measure the outcome of such introduction and institutionalization.&lt;br /&gt;
&lt;br /&gt;
=== Course evaluation ===&lt;br /&gt;
The course can be passed by one of the following tracks:&lt;br /&gt;
I. Minimum passing level &lt;br /&gt;
II. Standard (replicate from syllabus) &lt;br /&gt;
III. Project focused &lt;br /&gt;
IV. Student research competition &lt;br /&gt;
Each track has a different weights of the evaluation criteria, but in general, the categories are the following:&lt;br /&gt;
* Class and lab participation (including class quizzes) &lt;br /&gt;
* Interactions with speakers&lt;br /&gt;
* Project &lt;br /&gt;
* Paper &lt;br /&gt;
* SRC submission &lt;br /&gt;
* Video presentation &lt;br /&gt;
* Oral exam&lt;br /&gt;
Every component will be graded on a scale 0-10 or 0-2 with a possibility of extra 30% extra credit. Failing any component of the course causes a failure of the whole course; indeed, this applies to the components with a weight larger than 0.&lt;br /&gt;
&lt;br /&gt;
If there are not failing components the final grade will be computed as a weighted average of the components above approximated at the highest second digit and then rounded to the closest integer, and finally assigning A to 10, B to 7 to 9, C to 6. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Below a detailed description of each track is given. Notice that for tracks II, III, and IV, when they exist, the grades of the project, the paper, and SRC are divided in 50% for weekly deliverables and 50% for the final result. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
During the first week, all groups need to have a vision of what do to. Then, every week they need to show what they have done and provide a plan for the future. Weekly outcomes will be graded on a scale 0-2 and the final result will be graded on a scale 0-10. &lt;br /&gt;
&lt;br /&gt;
==== I. Minimum passing level ====&lt;br /&gt;
By choosing this track students can get a C grade for the course while putting minimum effort into it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;tab:LSDCourseGrading1&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|+ '''Course grade breakdown'''&lt;br /&gt;
!align=&amp;quot;center&amp;quot;| '''Component'''&lt;br /&gt;
! '''Points'''&lt;br /&gt;
|-&lt;br /&gt;
| Class and lab participation (including class quizzes)&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 15&lt;br /&gt;
|-&lt;br /&gt;
| Interactions with speakers&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 5&lt;br /&gt;
|-&lt;br /&gt;
| Oral Exam&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 80&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== II. Standard ====&lt;br /&gt;
The standard way of passing the course including the group project activity, as it is given in the syllabus.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;tab:LSDCourseGrading2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|+ '''Course grade breakdown'''&lt;br /&gt;
!align=&amp;quot;center&amp;quot;| '''Component'''&lt;br /&gt;
! '''Points'''&lt;br /&gt;
|-&lt;br /&gt;
| Class and lab participation (including class quizzes)&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 10&lt;br /&gt;
|-&lt;br /&gt;
| Interactions with speakers&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 10&lt;br /&gt;
|-&lt;br /&gt;
| Project&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 30&lt;br /&gt;
|-&lt;br /&gt;
| Video presentation&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 30&lt;br /&gt;
|-&lt;br /&gt;
| Oral Exam&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 20&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The grade of the project is 50% for weekly deliverables and 50% for the final result. &lt;br /&gt;
&lt;br /&gt;
==== III. Project focused ====&lt;br /&gt;
This track is for students who want to perform individual research-based projects.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;tab:LSDCourseGrading3&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|+ '''Course grade breakdown'''&lt;br /&gt;
!align=&amp;quot;center&amp;quot;| '''Component'''&lt;br /&gt;
! '''Points'''&lt;br /&gt;
|-&lt;br /&gt;
| Class and lab participation (including class quizzes)&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 10&lt;br /&gt;
|-&lt;br /&gt;
| Interactions with speakers&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 10&lt;br /&gt;
|-&lt;br /&gt;
| Project&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 40&lt;br /&gt;
|-&lt;br /&gt;
| Paper&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 20&lt;br /&gt;
|-&lt;br /&gt;
| Video presentation&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 10&lt;br /&gt;
|-&lt;br /&gt;
| Oral Exam&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 10&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The grade of the project is 50% for weekly deliverables and 50% for the final result. The grade does not depend on the actual outcome of the paper submission, but it is defined by the instructor according to the typical criteria for paper submissions. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== IV. Student research competition ====&lt;br /&gt;
This track is for the most intelligent students who can provide the deliverable of the research-based project in the form of well-done paper and participate in SRC of one of the most recognizable software engineering conferences worldwide.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;tab:LSDCourseGrading4&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|+ '''Course grade breakdown'''&lt;br /&gt;
!align=&amp;quot;center&amp;quot;| '''Component'''&lt;br /&gt;
! '''Points'''&lt;br /&gt;
|-&lt;br /&gt;
| Class and lab participation (including class quizzes)&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 10&lt;br /&gt;
|-&lt;br /&gt;
| Interactions with speakers&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 10&lt;br /&gt;
|-&lt;br /&gt;
| Project&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 40&lt;br /&gt;
|-&lt;br /&gt;
| Paper&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 20&lt;br /&gt;
|-&lt;br /&gt;
| SRC submission&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 20&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Grades range ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;tab:LSDCourseGradingRange&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|+ Course grading range&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
!align=&amp;quot;center&amp;quot;| '''Proposed range'''&lt;br /&gt;
|-&lt;br /&gt;
| A. Excellent&lt;br /&gt;
| 90-100&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 96-100&lt;br /&gt;
|-&lt;br /&gt;
| B. Good&lt;br /&gt;
| 75-89&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 66-95&lt;br /&gt;
|-&lt;br /&gt;
| C. Satisfactory&lt;br /&gt;
| 60-74&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 56-65&lt;br /&gt;
|-&lt;br /&gt;
| D. Poor&lt;br /&gt;
| 0-59&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0-55&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
The semester starts with the default range as proposed in the Table [[#tab:OSCourseGradingRange|2]], but it may change slightly (usually reduced) depending on how the semester progresses. See above.&lt;br /&gt;
&lt;br /&gt;
=== Resources and reference material ===&lt;br /&gt;
&lt;br /&gt;
* '''Textbook:'''&lt;br /&gt;
* '''Reference:'''&lt;br /&gt;
* '''Reference:'''&lt;br /&gt;
* '''Reference:'''&lt;br /&gt;
* '''Reference:'''&lt;br /&gt;
* '''Reference:'''&lt;br /&gt;
* '''Reference:'''&lt;br /&gt;
&lt;br /&gt;
== Course Sections ==&lt;br /&gt;
&lt;br /&gt;
The course is organized in 15 weeks with every weeks 2 academics hours of lectures and 4 academic hours of labs. The main sections of the course and approximate hour distribution between them is as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;tab:LSDCourseSections&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|+ Course Sections&lt;br /&gt;
!align=&amp;quot;center&amp;quot;| '''Section'''&lt;br /&gt;
! '''Section Title'''&lt;br /&gt;
!align=&amp;quot;center&amp;quot;| '''Teaching Hours'''&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
| Software as a creative activity&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 12&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 2&lt;br /&gt;
| Measurement in software&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 24&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 3&lt;br /&gt;
| Taylorism and Fordism&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 6&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 4&lt;br /&gt;
| Lean and Agile&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 24&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 5&lt;br /&gt;
| Issues in Lean and Agile&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 6&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 6&lt;br /&gt;
| Structuring a Lean Approach to software development&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 6&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 7&lt;br /&gt;
| Optimizing the development process&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 12&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Section 1 ===&lt;br /&gt;
&lt;br /&gt;
=== Section title: ===&lt;br /&gt;
&lt;br /&gt;
Software as a creative activity&lt;br /&gt;
&lt;br /&gt;
=== Topics covered in this section: ===&lt;br /&gt;
&lt;br /&gt;
* Nature of software&lt;br /&gt;
* Software and art&lt;br /&gt;
* Core resources for the production of software&lt;br /&gt;
* Tame and wicked projects&lt;br /&gt;
* Organizing the activities based on the GQM approach&lt;br /&gt;
&lt;br /&gt;
=== What forms of evaluation were used to test students’ performance in this section? ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;tab:LSDSectionEval1&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|''' '''&lt;br /&gt;
! '''Yes/No'''&lt;br /&gt;
|-&lt;br /&gt;
| Development of individual parts of software product code&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Homework and group projects&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Midterm evaluation&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Testing (written or computer based)&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Reports&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Essays&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Oral polls&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Discussions&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Typical questions for ongoing performance evaluation within this section ===&lt;br /&gt;
&lt;br /&gt;
# Provide examples of creativity in the production of software.&lt;br /&gt;
# Describe the differences between tame and wicked projects.&lt;br /&gt;
# Discuss the key resources needed for the production of software.&lt;br /&gt;
# What are key issues in creative production of software for distributed teams?&lt;br /&gt;
&lt;br /&gt;
=== Typical questions for seminar classes (labs) within this section ===&lt;br /&gt;
&lt;br /&gt;
# Provide examples of wicked problems from your everyday life&lt;br /&gt;
# Evidence wickedness in different aspects of software production&lt;br /&gt;
# Create a GQM for your aims of the semester&lt;br /&gt;
# Discuss the role of GQM in tame and wicked projects&lt;br /&gt;
&lt;br /&gt;
=== Test questions for final assessment in this section ===&lt;br /&gt;
&lt;br /&gt;
# Present the salient aspects of wicked problems&lt;br /&gt;
# List the key aspects of software that make it a wicked problem&lt;br /&gt;
# Provide a link between wickedness and creativity in software production&lt;br /&gt;
# Discuss what promotes and what inhibit creativity in general and in software production&lt;br /&gt;
# Outline meaning and limitation of the concept of “engineering” the production of software&lt;br /&gt;
&lt;br /&gt;
=== Section 2 ===&lt;br /&gt;
&lt;br /&gt;
=== Section title: ===&lt;br /&gt;
&lt;br /&gt;
Measurement in software&lt;br /&gt;
&lt;br /&gt;
=== Topics covered in this section: ===&lt;br /&gt;
&lt;br /&gt;
* Meaning of measures&lt;br /&gt;
* The representational theory of measurement&lt;br /&gt;
* Measurement scales&lt;br /&gt;
* Fundamental measures for the production of software&lt;br /&gt;
* Procedural measures&lt;br /&gt;
* Object Oriented measures&lt;br /&gt;
&lt;br /&gt;
=== What forms of evaluation were used to test students’ performance in this section? ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;tabular&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span&amp;gt;|a|c|&amp;lt;/span&amp;gt; &amp;amp;amp; '''Yes/No'''&amp;lt;br /&amp;gt;&lt;br /&gt;
Development of individual parts of software product code &amp;amp;amp; 0&amp;lt;br /&amp;gt;&lt;br /&gt;
Homework and group projects &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
Midterm evaluation &amp;amp;amp; 0&amp;lt;br /&amp;gt;&lt;br /&gt;
Testing (written or computer based) &amp;amp;amp; 0&amp;lt;br /&amp;gt;&lt;br /&gt;
Reports &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
Essays &amp;amp;amp; 0&amp;lt;br /&amp;gt;&lt;br /&gt;
Oral polls &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
Discussions &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Typical questions for ongoing performance evaluation within this section ===&lt;br /&gt;
&lt;br /&gt;
# Provide examples of the representational theory of measurement&lt;br /&gt;
# List the measurement scales&lt;br /&gt;
# Present for each measurement scale the operations that can be performed on it&lt;br /&gt;
# Discuss the representational condition&lt;br /&gt;
# What are key size metrics?&lt;br /&gt;
# What are key complexity metrics?&lt;br /&gt;
&lt;br /&gt;
=== Typical questions for seminar classes (labs) within this section ===&lt;br /&gt;
&lt;br /&gt;
# Provide examples of subjective and objective metrics&lt;br /&gt;
# List 3 direct and 3 indirect measures, evidencing also the problems connected to the construction of indirect measures&lt;br /&gt;
# Compute LOC and other size metrics for code snippets&lt;br /&gt;
# Compute MCC and other complexity metrics for code snippets&lt;br /&gt;
# Compute the metrics of the CK suite for portions of Object Oriented systems&lt;br /&gt;
&lt;br /&gt;
=== Test questions for final assessment in this section ===&lt;br /&gt;
&lt;br /&gt;
# Structure the aims of a company using the GQM and detailing the metrics to compute, also explaining the deductions and the predictions that can be made with such metrics.&lt;br /&gt;
# Given an index computed as a combination of metrics, determine if it is a metrics according to the representational theory of measurement.&lt;br /&gt;
# Analyse a portion of a system and determine suitable metrics to extract and the information that would be provided by such metrics.&lt;br /&gt;
# Given a website performing a service (like flight reservations), compute the Function Points for such website.&lt;br /&gt;
# Discuss how to structure a taxonomy of quality for a specific company, explaining the role of reliability in it, and detailing how to compute the reliability again in the context of such company; please make the assumptions that you need to perform such computation.&lt;br /&gt;
&lt;br /&gt;
=== Section 3 ===&lt;br /&gt;
&lt;br /&gt;
=== Section title: ===&lt;br /&gt;
&lt;br /&gt;
Taylorism and Fordism&lt;br /&gt;
&lt;br /&gt;
=== Topics covered in this section: ===&lt;br /&gt;
&lt;br /&gt;
* The increase of productivity in the idea of Taylor&lt;br /&gt;
* The role of division of work&lt;br /&gt;
* Planning and formalization of tasks&lt;br /&gt;
* Economies of scale&lt;br /&gt;
* Problems in understanding tasks&lt;br /&gt;
* Taylorism/Fordism and software development&lt;br /&gt;
&lt;br /&gt;
=== What forms of evaluation were used to test students’ performance in this section? ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;tabular&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span&amp;gt;|a|c|&amp;lt;/span&amp;gt; &amp;amp;amp; '''Yes/No'''&amp;lt;br /&amp;gt;&lt;br /&gt;
Development of individual parts of software product code &amp;amp;amp; 0&amp;lt;br /&amp;gt;&lt;br /&gt;
Homework and group projects &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
Midterm evaluation &amp;amp;amp; 0&amp;lt;br /&amp;gt;&lt;br /&gt;
Testing (written or computer based) &amp;amp;amp; 0&amp;lt;br /&amp;gt;&lt;br /&gt;
Reports &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
Essays &amp;amp;amp; 0&amp;lt;br /&amp;gt;&lt;br /&gt;
Oral polls &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
Discussions &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Typical questions for ongoing performance evaluation within this section ===&lt;br /&gt;
&lt;br /&gt;
# Detail the fundamental assumptions by Taylor&lt;br /&gt;
# What are the fundamental activities of managers according to Taylor?&lt;br /&gt;
# In which sense Taylor has influenced what we now consider “good management practices?”&lt;br /&gt;
# How does creativity relates to the “good management practices” of Taylor?&lt;br /&gt;
# What are the problems in applying Fordism/Taylorism to software development?&lt;br /&gt;
&lt;br /&gt;
=== Typical questions for seminar classes (labs) within this section ===&lt;br /&gt;
&lt;br /&gt;
# Provide examples of companies where the approach by Taylor has been successful&lt;br /&gt;
# Discuss how the approach of Taylor can be useful in attracting and/or retaining employees&lt;br /&gt;
# Analyse the fundamental activities of managers according to Taylor and determine their limits&lt;br /&gt;
# Determine the fundamental activities of managers according to Taylor can have an implication in the software crisis&lt;br /&gt;
# Outline how flexibility and variable requirements can be handled in the context of Taylorism and Fordism&lt;br /&gt;
&lt;br /&gt;
=== Test questions for final assessment in this section ===&lt;br /&gt;
&lt;br /&gt;
# What aspects of making software feel like an art, which like a craft to you and how could you bend Taylorism and Fordism to handle it?&lt;br /&gt;
# How does Fordism and Taylorism can explain that companies producing software containing bugs can still stay in the market, and, in certain case, also be successful?&lt;br /&gt;
# Based on your experience and previous courses, which development models can refer to Fordism and Taylorism and which cannot be reduced to it?&lt;br /&gt;
# How does the specialization of work in software development can be linked to Fordism and Taylorism?&lt;br /&gt;
# Provide an example for each of the fundamental activities of managers according to Taylor that shows how such activity is very useful in software development and one that shows that is is inadequate.&lt;br /&gt;
&lt;br /&gt;
=== Section 4 ===&lt;br /&gt;
&lt;br /&gt;
=== Section title: ===&lt;br /&gt;
&lt;br /&gt;
Lean and Agile&lt;br /&gt;
&lt;br /&gt;
=== Topics covered in this section: ===&lt;br /&gt;
&lt;br /&gt;
* Taiichi Ono and the Toyota Production System&lt;br /&gt;
* Creating a “Radiography” of the Production Process&lt;br /&gt;
* Workers involvement&lt;br /&gt;
* “Pull” and Not “Push”&lt;br /&gt;
* Kanban&lt;br /&gt;
* Quality management&lt;br /&gt;
* Process control&lt;br /&gt;
* Job enrichment&lt;br /&gt;
* Control and coordination mechanisms&lt;br /&gt;
* Case study: Extreme Programming&lt;br /&gt;
&lt;br /&gt;
=== What forms of evaluation were used to test students’ performance in this section? ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;tabular&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span&amp;gt;|a|c|&amp;lt;/span&amp;gt; &amp;amp;amp; '''Yes/No'''&amp;lt;br /&amp;gt;&lt;br /&gt;
Development of individual parts of software product code &amp;amp;amp; 0&amp;lt;br /&amp;gt;&lt;br /&gt;
Homework and group projects &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
Midterm evaluation &amp;amp;amp; 0&amp;lt;br /&amp;gt;&lt;br /&gt;
Testing (written or computer based) &amp;amp;amp; 0&amp;lt;br /&amp;gt;&lt;br /&gt;
Reports &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
Essays &amp;amp;amp; 0&amp;lt;br /&amp;gt;&lt;br /&gt;
Oral polls &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
Discussions &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Typical questions for ongoing performance evaluation within this section ===&lt;br /&gt;
&lt;br /&gt;
# Present the key problems in batch production&lt;br /&gt;
# Outline the key principles of the approach of Ono at Toyota&lt;br /&gt;
# What are the fundamental steps in eliminating waste according to Ono?&lt;br /&gt;
# Details the role of the customers and of the workers in the approach of Ono&lt;br /&gt;
# Explain the difference between “Pulling” and “Pushing”&lt;br /&gt;
# What are key steps in improving quality according to Ono?&lt;br /&gt;
# What are the key control and coordination mechanisms available?&lt;br /&gt;
&lt;br /&gt;
=== Typical questions for seminar classes (labs) within this section ===&lt;br /&gt;
&lt;br /&gt;
# What are the fundamental two actions needed to perform a Lean transformation according to Ono?&lt;br /&gt;
# What are the associated three major needs?&lt;br /&gt;
# What are the 5 steps to enact Lean Thinking according to Womak and Jones?&lt;br /&gt;
# Discuss the 8 constantly ongoing activities in a lean company like Toyota&lt;br /&gt;
# How can activities been classified in a decision matrix in an environment like Toyota?&lt;br /&gt;
# Provide concrete examples of “Push” and of “Pull” in software production.&lt;br /&gt;
# Details the control and coordination mechanisms present in agile and in traditional development environments.&lt;br /&gt;
&lt;br /&gt;
=== Test questions for final assessment in this section ===&lt;br /&gt;
&lt;br /&gt;
# Structure a model like PDSA for a company producing websites for online marketing.&lt;br /&gt;
# How can the right part and the right information be always available without waste according to the Toyota approach?&lt;br /&gt;
# Compare a street crossing based on traffic lights with a roundabout and determine the approach that is safest and the one with the a highest throughput according to Waterfall and to Lean.&lt;br /&gt;
# Discuss the involvements of workers in tayloristic/fordistic and in Lean development processes and their implications for the retention and the improvement of the quality of the workforce.&lt;br /&gt;
# Outline the extent of which economies of scale exist in Lean development processes.&lt;br /&gt;
# Imagine you had to introduce Extreme Programming in a software development team that follows a waterfall process. Which problems do you foresee? How will the clients react (that until now are used to work with a team that used the waterfall process)? How would you address them?&lt;br /&gt;
&lt;br /&gt;
=== Section 5 ===&lt;br /&gt;
&lt;br /&gt;
=== Section title: ===&lt;br /&gt;
&lt;br /&gt;
Issues in Lean and Agile&lt;br /&gt;
&lt;br /&gt;
=== Topics covered in this section: ===&lt;br /&gt;
&lt;br /&gt;
* The “Hype of Agile”&lt;br /&gt;
* The dark side of agile&lt;br /&gt;
* Skepticism about agile methods&lt;br /&gt;
* Knowledge and software engineering&lt;br /&gt;
* Using burn-down charts&lt;br /&gt;
* The Zen of agile&lt;br /&gt;
&lt;br /&gt;
=== What forms of evaluation were used to test students’ performance in this section? ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;tabular&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span&amp;gt;|a|c|&amp;lt;/span&amp;gt; &amp;amp;amp; '''Yes/No'''&amp;lt;br /&amp;gt;&lt;br /&gt;
Development of individual parts of software product code &amp;amp;amp; 0&amp;lt;br /&amp;gt;&lt;br /&gt;
Homework and group projects &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
Midterm evaluation &amp;amp;amp; 0&amp;lt;br /&amp;gt;&lt;br /&gt;
Testing (written or computer based) &amp;amp;amp; 0&amp;lt;br /&amp;gt;&lt;br /&gt;
Reports &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
Essays &amp;amp;amp; 0&amp;lt;br /&amp;gt;&lt;br /&gt;
Oral polls &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
Discussions &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Typical questions for ongoing performance evaluation within this section ===&lt;br /&gt;
&lt;br /&gt;
# What is the Gartner’s Innovation Hype Cycle? Could you provide examples of application of it to a different field of knowledge?&lt;br /&gt;
# Describe the so-called “Dark Agile Manifesto”&lt;br /&gt;
# What are the sources of the skepticism present with respect to Agile?&lt;br /&gt;
# What makes agile awkward in the eyes of “traditional” managers?&lt;br /&gt;
# Given a production system, how do you determine what is the value of every step, how much improvement can be considered enough, and when is the point reached where value is not increased anymore but destroyed?&lt;br /&gt;
# How is it possible to obtain knowledge about the production process? How can I create visibility of the ongoing activities or problems?&lt;br /&gt;
&lt;br /&gt;
=== Typical questions for seminar classes (labs) within this section ===&lt;br /&gt;
&lt;br /&gt;
# Identify in other areas of software engineering phenomenon similar to the “Dark Side of Agile.”&lt;br /&gt;
# Identify in other knowledge-intensive fields phenomena similar to the “Dark Side of Agile” and discuss how they can be tackled.&lt;br /&gt;
# Given a production process, determine strategies to store knowledge to create experience?&lt;br /&gt;
# How can you design the production process so that the team uses the gained experience?&lt;br /&gt;
# How can you systematically improve your process, also building on the experience to anticipate problems (create wisdom)?&lt;br /&gt;
&lt;br /&gt;
=== Test questions for final assessment in this section ===&lt;br /&gt;
&lt;br /&gt;
# Imagine you are the boss of a small software development company. Which actions would you do or which practices would you introduce to prevent that your programmers fall into the trap of following a software guru?&lt;br /&gt;
# Elaborate possible extreme (and damaging) positions that can be taken by gurus of agile.&lt;br /&gt;
# Explain the differences in introducing a methodology by a guru and by a smart and effective coach.&lt;br /&gt;
# Detail why Extreme Programming produces an informative workspace.&lt;br /&gt;
# Discuss effective ways of packaging and “distributing” knowledge in software teams, starting with the guru approach of organizing knowledge into simple, clear practices which are easy to explain and to follow.&lt;br /&gt;
&lt;br /&gt;
=== Section 6 ===&lt;br /&gt;
&lt;br /&gt;
=== Section title: ===&lt;br /&gt;
&lt;br /&gt;
Structuring a Lean Approach to software development&lt;br /&gt;
&lt;br /&gt;
=== Topics covered in this section: ===&lt;br /&gt;
&lt;br /&gt;
* Existing proposals to create a “Lean Software Development”&lt;br /&gt;
* Sharing a common vision&lt;br /&gt;
* Depriving gurus of their power&lt;br /&gt;
* GQM+&lt;br /&gt;
* Applying the GQM+ step-by-step&lt;br /&gt;
* Business alignment&lt;br /&gt;
* GQM+ for business alignment&lt;br /&gt;
&lt;br /&gt;
=== What forms of evaluation were used to test students’ performance in this section? ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;tabular&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span&amp;gt;|a|c|&amp;lt;/span&amp;gt; &amp;amp;amp; '''Yes/No'''&amp;lt;br /&amp;gt;&lt;br /&gt;
Development of individual parts of software product code &amp;amp;amp; 0&amp;lt;br /&amp;gt;&lt;br /&gt;
Homework and group projects &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
Midterm evaluation &amp;amp;amp; 0&amp;lt;br /&amp;gt;&lt;br /&gt;
Testing (written or computer based) &amp;amp;amp; 0&amp;lt;br /&amp;gt;&lt;br /&gt;
Reports &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
Essays &amp;amp;amp; 0&amp;lt;br /&amp;gt;&lt;br /&gt;
Oral polls &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
Discussions &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Typical questions for ongoing performance evaluation within this section ===&lt;br /&gt;
&lt;br /&gt;
# Reflect on the seven principles for characterizing Lean Software Development by Mary and Tom Poppendieck.&lt;br /&gt;
# What is the semantic gap and which threats it poses to effective software development?&lt;br /&gt;
# Map the structure of Extreme Programming to the layered structure of Shalloway et al.&lt;br /&gt;
# How does the scientific method deprives gurus from their power?&lt;br /&gt;
# What are the steps to implement the GQM+?&lt;br /&gt;
# For what reason measurement goals and business goals should be interconnected?&lt;br /&gt;
&lt;br /&gt;
=== Typical questions for seminar classes (labs) within this section ===&lt;br /&gt;
&lt;br /&gt;
# How do the practices of Lean Management defined by Hibbs and colleagues relate to the seven principles by Mary and Tom Poppendieck&lt;br /&gt;
# Propose how you could develop software and hardware tools to promote common visions in companies.&lt;br /&gt;
# Elaborate a proposal to create some kind of Balanced Scorecards to evaluate your current study.&lt;br /&gt;
# Discuss the opinion of Ono about following plans and the extent to which such opinion contradicts (a) the practices, and (b) the principles of the tayloristic/fordistic approach&lt;br /&gt;
# Propose a SWAT analysis to introduce a Lean approach to your most recent software development endavour&lt;br /&gt;
&lt;br /&gt;
=== Test questions for final assessment in this section ===&lt;br /&gt;
&lt;br /&gt;
# Discuss the role of customer on-site under the perspective of lean and outline it relevance in the earlier and then in the later proposals of agile software development.&lt;br /&gt;
# Suppose that you have to develop Balanced Scorecards for a software development team. Which perspectives would you use? Which goals would you use for each perspective?&lt;br /&gt;
# What is a socio-technical system and how can it be used to describe an (agile) software production environement?&lt;br /&gt;
# Imagine you want to evaluate how readable the source code of some program is. Define a GQM+ model to describe what and why you would measure.&lt;br /&gt;
# The development in company M occurs according to the following schema: when a new project is started, a developer takes an old project that is the most similar to the new requirements and makes a copy and starts implementing the required modifications. To improve this process and to help the company to adopt a component-based approach, we want to understand which pieces of code are the best candidates for future components and which variability points they have. Define a suitable GQM+ for such purpose.&lt;br /&gt;
&lt;br /&gt;
=== Section 7 ===&lt;br /&gt;
&lt;br /&gt;
=== Section title: ===&lt;br /&gt;
&lt;br /&gt;
Optimizing the development process&lt;br /&gt;
&lt;br /&gt;
=== Topics covered in this section: ===&lt;br /&gt;
&lt;br /&gt;
* Why the PDSA does not work in software&lt;br /&gt;
* The experience factory&lt;br /&gt;
* The QIP cycle&lt;br /&gt;
* Non invasive measurement&lt;br /&gt;
* The big-brother effect&lt;br /&gt;
* The role of autonomation&lt;br /&gt;
* Employing Andon boards&lt;br /&gt;
&lt;br /&gt;
=== What forms of evaluation were used to test students’ performance in this section? ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;tabular&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span&amp;gt;|a|c|&amp;lt;/span&amp;gt; &amp;amp;amp; '''Yes/No'''&amp;lt;br /&amp;gt;&lt;br /&gt;
Development of individual parts of software product code &amp;amp;amp; 0&amp;lt;br /&amp;gt;&lt;br /&gt;
Homework and group projects &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
Midterm evaluation &amp;amp;amp; 0&amp;lt;br /&amp;gt;&lt;br /&gt;
Testing (written or computer based) &amp;amp;amp; 0&amp;lt;br /&amp;gt;&lt;br /&gt;
Reports &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
Essays &amp;amp;amp; 0&amp;lt;br /&amp;gt;&lt;br /&gt;
Oral polls &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
Discussions &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Typical questions for ongoing performance evaluation within this section ===&lt;br /&gt;
&lt;br /&gt;
# Details the major components of an experience factory.&lt;br /&gt;
# What are Reflection, Retrospective, and Post-Mortem Analysis? Why are they useful in Lean Software Development?&lt;br /&gt;
# What are the key components of a non invasive software measurement systems?&lt;br /&gt;
# What is the big brother effect and how it is possible to alleviate it.&lt;br /&gt;
# Discuss how autonomation is present in Extreme Programming.&lt;br /&gt;
# Where is the term “Dashboard” coming from and what is its use in Lean Software Development?&lt;br /&gt;
&lt;br /&gt;
=== Typical questions for seminar classes (labs) within this section ===&lt;br /&gt;
&lt;br /&gt;
# List the steps of a QIP.&lt;br /&gt;
# Discuss the risks of a measurement program and how non invasive software measurement can help alleviating them.&lt;br /&gt;
# Are there cases in which Theory X of management could be more effective than Theory Y? Discuss your findings.&lt;br /&gt;
# For which aspects of software production autonomation could be useful?&lt;br /&gt;
# Which tools could be used to promote autonomation?&lt;br /&gt;
# Prototype by paper and pencil an Andon board that you would consider useful in a software production environment.&lt;br /&gt;
&lt;br /&gt;
=== Test questions for final assessment in this section ===&lt;br /&gt;
&lt;br /&gt;
# What type of wisdom (in the sense of “know-why”) would you manage in an Experience Factory to support Lean Thinking? Distinguish between organizational learning and project learning.&lt;br /&gt;
# Assume you are a manager convinced that Theory X is true. Which non-invasive measurement probes would you want to develop to maximize productivity? Now assume you are convinced that Theory Y is true. Which non-invasive measurement probes would you need now?&lt;br /&gt;
# We discussed that we foresee two ways to collect measurements non- invasively: in batch and in background mode. What are the advantages and disadvantages of each approach?&lt;br /&gt;
# There are many interrelated building blocks (or concepts) of Lean Software Development and each contributes differently to it. What types of data are handled by each of these building blocks (or concepts)? How do the contribution to the overall value stream, to the creation of knowledge, and to the overall improvement?&lt;br /&gt;
# Assume you set up a fantastic dashboard for your team. As you collect the data and visualize it, you notice that all the measurements show problematic values. You let the dashboard in place for some days and also show it to your collaborators, but nobody cares; everybody continues his job as if everything would be fine. What is going wrong?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>A.kruglov</name></author>
	</entry>
	<entry>
		<id>https://eduwiki.innopolis.university/index.php?title=BSc:_Lean_Software_Development&amp;diff=1800</id>
		<title>BSc: Lean Software Development</title>
		<link rel="alternate" type="text/html" href="https://eduwiki.innopolis.university/index.php?title=BSc:_Lean_Software_Development&amp;diff=1800"/>
		<updated>2022-01-08T12:44:10Z</updated>

		<summary type="html">&lt;p&gt;A.kruglov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Lean Software Development =&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;span&amp;gt;'''Course name:'''&amp;lt;/span&amp;gt; Lean Software Development&lt;br /&gt;
* &amp;lt;span&amp;gt;'''Course number:'''&amp;lt;/span&amp;gt; XYZ&lt;br /&gt;
&lt;br /&gt;
== Course characteristics ==&lt;br /&gt;
&lt;br /&gt;
=== Key concepts of the class ===&lt;br /&gt;
&lt;br /&gt;
* Fundamental principles of producing software as a creative act of the human mind&lt;br /&gt;
* Techniques to optimize such production, with specific focus on agile methods&lt;br /&gt;
&lt;br /&gt;
=== What is the purpose of this course? ===&lt;br /&gt;
&lt;br /&gt;
This course exposes the student to the core concepts behind Lean Development in Software Engineering, beyond myths and legends, emphasizing how it relates to the general principles of Lean Development. It discusses the different possible software processes, how they can be tailored, enacted, and measured. In addition, a significant part of the course is centered around the application of lean to software development to knowledge intensive areas not necessarily connected to software.&lt;br /&gt;
&lt;br /&gt;
=== Course Objectives Based on Bloom’s Taxonomy ===&lt;br /&gt;
&lt;br /&gt;
=== - What should a student remember at the end of the course? ===&lt;br /&gt;
&lt;br /&gt;
By the end of the course, the students should be able to recognize and define:&lt;br /&gt;
&lt;br /&gt;
* creative nature of software production as an act of creativity of the human mind,&lt;br /&gt;
* the substantial differences between tame and wicked problems,&lt;br /&gt;
* the core concepts of measurement in software engineering,&lt;br /&gt;
* the fundamentals of Taylorist/Fordist approaches to (software) production,&lt;br /&gt;
* the basis of lean and agile software development,&lt;br /&gt;
* the “dark” side of agility,&lt;br /&gt;
* the importance of knowledge and knowledge sharing in producing software,&lt;br /&gt;
* how to create an ad-hoc process for a development organization.&lt;br /&gt;
&lt;br /&gt;
=== - What should a student be able to understand at the end of the course? ===&lt;br /&gt;
&lt;br /&gt;
By the end of the course, the students should be able to describe and explain (with examples):&lt;br /&gt;
&lt;br /&gt;
* when a problem is “easy to solve” provided enough effort is put to such solution and when it is not,&lt;br /&gt;
* what is a measure in general,&lt;br /&gt;
* why it is important and how we can define and perform measurements in software engineering, especially in lean and agile development environments,&lt;br /&gt;
* how to organize the development process to collect metrics non invasively,&lt;br /&gt;
* the difference between pulling and pushing in (software) development,&lt;br /&gt;
* the fundamental principle of agility,&lt;br /&gt;
* the risk intrinsic in the dark side of agile,&lt;br /&gt;
* how to organize an agile development process based on the definition of overall Goals, associated Question, and milestones based on Metrics,&lt;br /&gt;
* an environment based on experience, like the Experience Factory.&lt;br /&gt;
&lt;br /&gt;
=== - What should a student be able to apply at the end of the course? ===&lt;br /&gt;
&lt;br /&gt;
By the end of the course, the students should be able to:&lt;br /&gt;
&lt;br /&gt;
* Compute the fundamental software metrics to track the evolution of a project,&lt;br /&gt;
* Organize the aims of a (software) development organization in terms of Goals, Questions, and Metrics,&lt;br /&gt;
* Create a tailored (lean and agile) development process for an organization producing software,&lt;br /&gt;
* Define a path to insert and manage such (lean and agile) development process into an organization producing software,&lt;br /&gt;
* Structure the experience gathering during inside an organization to based on it the future strategic decision of such organization,&lt;br /&gt;
* Relate the various proposals for Agile Methods to the overall principles of Lean Management,&lt;br /&gt;
* Define a suitable (lean) process for a new organization, a process to introduce and institutionalize it, and an approach to measure the outcome of such introduction and institutionalization.&lt;br /&gt;
&lt;br /&gt;
=== Course evaluation ===&lt;br /&gt;
The course can be passed by one of the following tracks:&lt;br /&gt;
I. Minimum passing level &lt;br /&gt;
II. Standard (replicate from syllabus) &lt;br /&gt;
III. Project focused &lt;br /&gt;
IV. Student research competition &lt;br /&gt;
Each track has a different weights of the evaluation criteria, but in general, the categories are the following:&lt;br /&gt;
* Class and lab participation (including class quizzes) &lt;br /&gt;
* Interactions with speakers&lt;br /&gt;
* Project &lt;br /&gt;
* Paper &lt;br /&gt;
* SRC submission &lt;br /&gt;
* Video presentation &lt;br /&gt;
* Oral exam&lt;br /&gt;
Every component will be graded on a scale 0-10 or 0-2 with a possibility of extra 30% extra credit. Failing any component of the course causes a failure of the whole course; indeed, this applies to the components with a weight larger than 0.&lt;br /&gt;
&lt;br /&gt;
If there are not failing components the final grade will be computed as a weighted average of the components above approximated at the highest second digit and then rounded to the closest integer, and finally assigning A to 10, B to 7 to 9, C to 6. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Below a detailed description of each track is given. Notice that for tracks II, III, and IV, when they exist, the grades of the project, the paper, and SRC are divided in 50% for weekly deliverables and 50% for the final result. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
During the first week, all groups need to have a vision of what do to. Then, every week they need to show what they have done and provide a plan for the future. Weekly outcomes will be graded on a scale 0-2 and the final result will be graded on a scale 0-10. &lt;br /&gt;
&lt;br /&gt;
==== I. Minimum passing level ====&lt;br /&gt;
By choosing this track students can get a C grade for the course while putting minimum effort into it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;tab:OSCourseGrading&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|+ Course grade breakdown&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
!align=&amp;quot;center&amp;quot;| '''Proposed points'''&lt;br /&gt;
|-&lt;br /&gt;
| Labs/seminar classes (weekly evaluations)&lt;br /&gt;
| 20&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 35 &amp;lt;ref&amp;gt;Please note that Labs/seminar classes (weekly evaluations) is divided in 10% for class participation and weekly tests, 10% for the Weekly GQM and 15% for invited speaker presentations, questions, and answers.&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Interim performance assessment&lt;br /&gt;
| 30&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| (merged with the above)&lt;br /&gt;
|-&lt;br /&gt;
| Exams&lt;br /&gt;
| 50&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 65 &amp;lt;ref&amp;gt;Of which 25% for the report on the application of Lean Principles to artistic areas, 10% for the overall GQM, and 30% for the oral.&amp;lt;/ref&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== II. Standard ====&lt;br /&gt;
The standard way of passing the course including the group project activity, as it is given in the syllabus.&lt;br /&gt;
&lt;br /&gt;
The grade of the project is 50% for weekly deliverables and 50% for the final result. &lt;br /&gt;
&lt;br /&gt;
==== III. Project focused ====&lt;br /&gt;
This track is for students who want to perform individual research-based projects.&lt;br /&gt;
&lt;br /&gt;
The grade of the project is 50% for weekly deliverables and 50% for the final result. The grade does not depend on the actual outcome of the paper submission, but it is defined by the instructor according to the typical criteria for paper submissions. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== IV. Student research competition ====&lt;br /&gt;
This track is for the most intelligent students who can provide the deliverable of the research-based project in the form of well-done paper and participate in SRC of one of the most recognizable software engineering conferences worldwide.&lt;br /&gt;
&lt;br /&gt;
=== Grades range ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;tab:OSCourseGradingRange&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Course grading range&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
!align=&amp;quot;center&amp;quot;| '''Proposed range'''&lt;br /&gt;
|-&lt;br /&gt;
| A. Excellent&lt;br /&gt;
| 90-100&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 96-100&lt;br /&gt;
|-&lt;br /&gt;
| B. Good&lt;br /&gt;
| 75-89&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 66-95&lt;br /&gt;
|-&lt;br /&gt;
| C. Satisfactory&lt;br /&gt;
| 60-74&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 56-65&lt;br /&gt;
|-&lt;br /&gt;
| D. Poor&lt;br /&gt;
| 0-59&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0-55&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
The semester starts with the default range as proposed in the Table [[#tab:OSCourseGradingRange|2]], but it may change slightly (usually reduced) depending on how the semester progresses. See above.&lt;br /&gt;
&lt;br /&gt;
=== Resources and reference material ===&lt;br /&gt;
&lt;br /&gt;
* '''Textbook:'''&lt;br /&gt;
* '''Reference:'''&lt;br /&gt;
* '''Reference:'''&lt;br /&gt;
* '''Reference:'''&lt;br /&gt;
* '''Reference:'''&lt;br /&gt;
* '''Reference:'''&lt;br /&gt;
* '''Reference:'''&lt;br /&gt;
&lt;br /&gt;
== Course Sections ==&lt;br /&gt;
&lt;br /&gt;
The course is organized in 15 weeks with every weeks 2 academics hours of lectures and 4 academic hours of labs. The main sections of the course and approximate hour distribution between them is as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;tab:OSCourseSections&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Course Sections&lt;br /&gt;
!align=&amp;quot;center&amp;quot;| '''Section'''&lt;br /&gt;
! '''Section Title'''&lt;br /&gt;
!align=&amp;quot;center&amp;quot;| '''Teaching Hours'''&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
| Software as a creative activity&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 12&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 2&lt;br /&gt;
| Measurement in software&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 24&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 3&lt;br /&gt;
| Taylorism and Fordism&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 6&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 4&lt;br /&gt;
| Lean and Agile&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 24&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 5&lt;br /&gt;
| Issues in Lean and Agile&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 6&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 6&lt;br /&gt;
| Structuring a Lean Approach to software development&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 6&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 7&lt;br /&gt;
| Optimizing the development process&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 12&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Section 1 ===&lt;br /&gt;
&lt;br /&gt;
=== Section title: ===&lt;br /&gt;
&lt;br /&gt;
Software as a creative activity&lt;br /&gt;
&lt;br /&gt;
=== Topics covered in this section: ===&lt;br /&gt;
&lt;br /&gt;
* Nature of software&lt;br /&gt;
* Software and art&lt;br /&gt;
* Core resources for the production of software&lt;br /&gt;
* Tame and wicked projects&lt;br /&gt;
* Organizing the activities based on the GQM approach&lt;br /&gt;
&lt;br /&gt;
=== What forms of evaluation were used to test students’ performance in this section? ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;tabular&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span&amp;gt;|a|c|&amp;lt;/span&amp;gt; &amp;amp;amp; '''Yes/No'''&amp;lt;br /&amp;gt;&lt;br /&gt;
Development of individual parts of software product code &amp;amp;amp; 0&amp;lt;br /&amp;gt;&lt;br /&gt;
Homework and group projects &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
Midterm evaluation &amp;amp;amp; 0&amp;lt;br /&amp;gt;&lt;br /&gt;
Testing (written or computer based) &amp;amp;amp; 0&amp;lt;br /&amp;gt;&lt;br /&gt;
Reports &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
Essays &amp;amp;amp; 0&amp;lt;br /&amp;gt;&lt;br /&gt;
Oral polls &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
Discussions &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Typical questions for ongoing performance evaluation within this section ===&lt;br /&gt;
&lt;br /&gt;
# Provide examples of creativity in the production of software.&lt;br /&gt;
# Describe the differences between tame and wicked projects.&lt;br /&gt;
# Discuss the key resources needed for the production of software.&lt;br /&gt;
# What are key issues in creative production of software for distributed teams?&lt;br /&gt;
&lt;br /&gt;
=== Typical questions for seminar classes (labs) within this section ===&lt;br /&gt;
&lt;br /&gt;
# Provide examples of wicked problems from your everyday life&lt;br /&gt;
# Evidence wickedness in different aspects of software production&lt;br /&gt;
# Create a GQM for your aims of the semester&lt;br /&gt;
# Discuss the role of GQM in tame and wicked projects&lt;br /&gt;
&lt;br /&gt;
=== Test questions for final assessment in this section ===&lt;br /&gt;
&lt;br /&gt;
# Present the salient aspects of wicked problems&lt;br /&gt;
# List the key aspects of software that make it a wicked problem&lt;br /&gt;
# Provide a link between wickedness and creativity in software production&lt;br /&gt;
# Discuss what promotes and what inhibit creativity in general and in software production&lt;br /&gt;
# Outline meaning and limitation of the concept of “engineering” the production of software&lt;br /&gt;
&lt;br /&gt;
=== Section 2 ===&lt;br /&gt;
&lt;br /&gt;
=== Section title: ===&lt;br /&gt;
&lt;br /&gt;
Measurement in software&lt;br /&gt;
&lt;br /&gt;
=== Topics covered in this section: ===&lt;br /&gt;
&lt;br /&gt;
* Meaning of measures&lt;br /&gt;
* The representational theory of measurement&lt;br /&gt;
* Measurement scales&lt;br /&gt;
* Fundamental measures for the production of software&lt;br /&gt;
* Procedural measures&lt;br /&gt;
* Object Oriented measures&lt;br /&gt;
&lt;br /&gt;
=== What forms of evaluation were used to test students’ performance in this section? ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;tabular&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span&amp;gt;|a|c|&amp;lt;/span&amp;gt; &amp;amp;amp; '''Yes/No'''&amp;lt;br /&amp;gt;&lt;br /&gt;
Development of individual parts of software product code &amp;amp;amp; 0&amp;lt;br /&amp;gt;&lt;br /&gt;
Homework and group projects &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
Midterm evaluation &amp;amp;amp; 0&amp;lt;br /&amp;gt;&lt;br /&gt;
Testing (written or computer based) &amp;amp;amp; 0&amp;lt;br /&amp;gt;&lt;br /&gt;
Reports &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
Essays &amp;amp;amp; 0&amp;lt;br /&amp;gt;&lt;br /&gt;
Oral polls &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
Discussions &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Typical questions for ongoing performance evaluation within this section ===&lt;br /&gt;
&lt;br /&gt;
# Provide examples of the representational theory of measurement&lt;br /&gt;
# List the measurement scales&lt;br /&gt;
# Present for each measurement scale the operations that can be performed on it&lt;br /&gt;
# Discuss the representational condition&lt;br /&gt;
# What are key size metrics?&lt;br /&gt;
# What are key complexity metrics?&lt;br /&gt;
&lt;br /&gt;
=== Typical questions for seminar classes (labs) within this section ===&lt;br /&gt;
&lt;br /&gt;
# Provide examples of subjective and objective metrics&lt;br /&gt;
# List 3 direct and 3 indirect measures, evidencing also the problems connected to the construction of indirect measures&lt;br /&gt;
# Compute LOC and other size metrics for code snippets&lt;br /&gt;
# Compute MCC and other complexity metrics for code snippets&lt;br /&gt;
# Compute the metrics of the CK suite for portions of Object Oriented systems&lt;br /&gt;
&lt;br /&gt;
=== Test questions for final assessment in this section ===&lt;br /&gt;
&lt;br /&gt;
# Structure the aims of a company using the GQM and detailing the metrics to compute, also explaining the deductions and the predictions that can be made with such metrics.&lt;br /&gt;
# Given an index computed as a combination of metrics, determine if it is a metrics according to the representational theory of measurement.&lt;br /&gt;
# Analyse a portion of a system and determine suitable metrics to extract and the information that would be provided by such metrics.&lt;br /&gt;
# Given a website performing a service (like flight reservations), compute the Function Points for such website.&lt;br /&gt;
# Discuss how to structure a taxonomy of quality for a specific company, explaining the role of reliability in it, and detailing how to compute the reliability again in the context of such company; please make the assumptions that you need to perform such computation.&lt;br /&gt;
&lt;br /&gt;
=== Section 3 ===&lt;br /&gt;
&lt;br /&gt;
=== Section title: ===&lt;br /&gt;
&lt;br /&gt;
Taylorism and Fordism&lt;br /&gt;
&lt;br /&gt;
=== Topics covered in this section: ===&lt;br /&gt;
&lt;br /&gt;
* The increase of productivity in the idea of Taylor&lt;br /&gt;
* The role of division of work&lt;br /&gt;
* Planning and formalization of tasks&lt;br /&gt;
* Economies of scale&lt;br /&gt;
* Problems in understanding tasks&lt;br /&gt;
* Taylorism/Fordism and software development&lt;br /&gt;
&lt;br /&gt;
=== What forms of evaluation were used to test students’ performance in this section? ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;tabular&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span&amp;gt;|a|c|&amp;lt;/span&amp;gt; &amp;amp;amp; '''Yes/No'''&amp;lt;br /&amp;gt;&lt;br /&gt;
Development of individual parts of software product code &amp;amp;amp; 0&amp;lt;br /&amp;gt;&lt;br /&gt;
Homework and group projects &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
Midterm evaluation &amp;amp;amp; 0&amp;lt;br /&amp;gt;&lt;br /&gt;
Testing (written or computer based) &amp;amp;amp; 0&amp;lt;br /&amp;gt;&lt;br /&gt;
Reports &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
Essays &amp;amp;amp; 0&amp;lt;br /&amp;gt;&lt;br /&gt;
Oral polls &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
Discussions &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Typical questions for ongoing performance evaluation within this section ===&lt;br /&gt;
&lt;br /&gt;
# Detail the fundamental assumptions by Taylor&lt;br /&gt;
# What are the fundamental activities of managers according to Taylor?&lt;br /&gt;
# In which sense Taylor has influenced what we now consider “good management practices?”&lt;br /&gt;
# How does creativity relates to the “good management practices” of Taylor?&lt;br /&gt;
# What are the problems in applying Fordism/Taylorism to software development?&lt;br /&gt;
&lt;br /&gt;
=== Typical questions for seminar classes (labs) within this section ===&lt;br /&gt;
&lt;br /&gt;
# Provide examples of companies where the approach by Taylor has been successful&lt;br /&gt;
# Discuss how the approach of Taylor can be useful in attracting and/or retaining employees&lt;br /&gt;
# Analyse the fundamental activities of managers according to Taylor and determine their limits&lt;br /&gt;
# Determine the fundamental activities of managers according to Taylor can have an implication in the software crisis&lt;br /&gt;
# Outline how flexibility and variable requirements can be handled in the context of Taylorism and Fordism&lt;br /&gt;
&lt;br /&gt;
=== Test questions for final assessment in this section ===&lt;br /&gt;
&lt;br /&gt;
# What aspects of making software feel like an art, which like a craft to you and how could you bend Taylorism and Fordism to handle it?&lt;br /&gt;
# How does Fordism and Taylorism can explain that companies producing software containing bugs can still stay in the market, and, in certain case, also be successful?&lt;br /&gt;
# Based on your experience and previous courses, which development models can refer to Fordism and Taylorism and which cannot be reduced to it?&lt;br /&gt;
# How does the specialization of work in software development can be linked to Fordism and Taylorism?&lt;br /&gt;
# Provide an example for each of the fundamental activities of managers according to Taylor that shows how such activity is very useful in software development and one that shows that is is inadequate.&lt;br /&gt;
&lt;br /&gt;
=== Section 4 ===&lt;br /&gt;
&lt;br /&gt;
=== Section title: ===&lt;br /&gt;
&lt;br /&gt;
Lean and Agile&lt;br /&gt;
&lt;br /&gt;
=== Topics covered in this section: ===&lt;br /&gt;
&lt;br /&gt;
* Taiichi Ono and the Toyota Production System&lt;br /&gt;
* Creating a “Radiography” of the Production Process&lt;br /&gt;
* Workers involvement&lt;br /&gt;
* “Pull” and Not “Push”&lt;br /&gt;
* Kanban&lt;br /&gt;
* Quality management&lt;br /&gt;
* Process control&lt;br /&gt;
* Job enrichment&lt;br /&gt;
* Control and coordination mechanisms&lt;br /&gt;
* Case study: Extreme Programming&lt;br /&gt;
&lt;br /&gt;
=== What forms of evaluation were used to test students’ performance in this section? ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;tabular&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span&amp;gt;|a|c|&amp;lt;/span&amp;gt; &amp;amp;amp; '''Yes/No'''&amp;lt;br /&amp;gt;&lt;br /&gt;
Development of individual parts of software product code &amp;amp;amp; 0&amp;lt;br /&amp;gt;&lt;br /&gt;
Homework and group projects &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
Midterm evaluation &amp;amp;amp; 0&amp;lt;br /&amp;gt;&lt;br /&gt;
Testing (written or computer based) &amp;amp;amp; 0&amp;lt;br /&amp;gt;&lt;br /&gt;
Reports &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
Essays &amp;amp;amp; 0&amp;lt;br /&amp;gt;&lt;br /&gt;
Oral polls &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
Discussions &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Typical questions for ongoing performance evaluation within this section ===&lt;br /&gt;
&lt;br /&gt;
# Present the key problems in batch production&lt;br /&gt;
# Outline the key principles of the approach of Ono at Toyota&lt;br /&gt;
# What are the fundamental steps in eliminating waste according to Ono?&lt;br /&gt;
# Details the role of the customers and of the workers in the approach of Ono&lt;br /&gt;
# Explain the difference between “Pulling” and “Pushing”&lt;br /&gt;
# What are key steps in improving quality according to Ono?&lt;br /&gt;
# What are the key control and coordination mechanisms available?&lt;br /&gt;
&lt;br /&gt;
=== Typical questions for seminar classes (labs) within this section ===&lt;br /&gt;
&lt;br /&gt;
# What are the fundamental two actions needed to perform a Lean transformation according to Ono?&lt;br /&gt;
# What are the associated three major needs?&lt;br /&gt;
# What are the 5 steps to enact Lean Thinking according to Womak and Jones?&lt;br /&gt;
# Discuss the 8 constantly ongoing activities in a lean company like Toyota&lt;br /&gt;
# How can activities been classified in a decision matrix in an environment like Toyota?&lt;br /&gt;
# Provide concrete examples of “Push” and of “Pull” in software production.&lt;br /&gt;
# Details the control and coordination mechanisms present in agile and in traditional development environments.&lt;br /&gt;
&lt;br /&gt;
=== Test questions for final assessment in this section ===&lt;br /&gt;
&lt;br /&gt;
# Structure a model like PDSA for a company producing websites for online marketing.&lt;br /&gt;
# How can the right part and the right information be always available without waste according to the Toyota approach?&lt;br /&gt;
# Compare a street crossing based on traffic lights with a roundabout and determine the approach that is safest and the one with the a highest throughput according to Waterfall and to Lean.&lt;br /&gt;
# Discuss the involvements of workers in tayloristic/fordistic and in Lean development processes and their implications for the retention and the improvement of the quality of the workforce.&lt;br /&gt;
# Outline the extent of which economies of scale exist in Lean development processes.&lt;br /&gt;
# Imagine you had to introduce Extreme Programming in a software development team that follows a waterfall process. Which problems do you foresee? How will the clients react (that until now are used to work with a team that used the waterfall process)? How would you address them?&lt;br /&gt;
&lt;br /&gt;
=== Section 5 ===&lt;br /&gt;
&lt;br /&gt;
=== Section title: ===&lt;br /&gt;
&lt;br /&gt;
Issues in Lean and Agile&lt;br /&gt;
&lt;br /&gt;
=== Topics covered in this section: ===&lt;br /&gt;
&lt;br /&gt;
* The “Hype of Agile”&lt;br /&gt;
* The dark side of agile&lt;br /&gt;
* Skepticism about agile methods&lt;br /&gt;
* Knowledge and software engineering&lt;br /&gt;
* Using burn-down charts&lt;br /&gt;
* The Zen of agile&lt;br /&gt;
&lt;br /&gt;
=== What forms of evaluation were used to test students’ performance in this section? ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;tabular&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span&amp;gt;|a|c|&amp;lt;/span&amp;gt; &amp;amp;amp; '''Yes/No'''&amp;lt;br /&amp;gt;&lt;br /&gt;
Development of individual parts of software product code &amp;amp;amp; 0&amp;lt;br /&amp;gt;&lt;br /&gt;
Homework and group projects &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
Midterm evaluation &amp;amp;amp; 0&amp;lt;br /&amp;gt;&lt;br /&gt;
Testing (written or computer based) &amp;amp;amp; 0&amp;lt;br /&amp;gt;&lt;br /&gt;
Reports &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
Essays &amp;amp;amp; 0&amp;lt;br /&amp;gt;&lt;br /&gt;
Oral polls &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
Discussions &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Typical questions for ongoing performance evaluation within this section ===&lt;br /&gt;
&lt;br /&gt;
# What is the Gartner’s Innovation Hype Cycle? Could you provide examples of application of it to a different field of knowledge?&lt;br /&gt;
# Describe the so-called “Dark Agile Manifesto”&lt;br /&gt;
# What are the sources of the skepticism present with respect to Agile?&lt;br /&gt;
# What makes agile awkward in the eyes of “traditional” managers?&lt;br /&gt;
# Given a production system, how do you determine what is the value of every step, how much improvement can be considered enough, and when is the point reached where value is not increased anymore but destroyed?&lt;br /&gt;
# How is it possible to obtain knowledge about the production process? How can I create visibility of the ongoing activities or problems?&lt;br /&gt;
&lt;br /&gt;
=== Typical questions for seminar classes (labs) within this section ===&lt;br /&gt;
&lt;br /&gt;
# Identify in other areas of software engineering phenomenon similar to the “Dark Side of Agile.”&lt;br /&gt;
# Identify in other knowledge-intensive fields phenomena similar to the “Dark Side of Agile” and discuss how they can be tackled.&lt;br /&gt;
# Given a production process, determine strategies to store knowledge to create experience?&lt;br /&gt;
# How can you design the production process so that the team uses the gained experience?&lt;br /&gt;
# How can you systematically improve your process, also building on the experience to anticipate problems (create wisdom)?&lt;br /&gt;
&lt;br /&gt;
=== Test questions for final assessment in this section ===&lt;br /&gt;
&lt;br /&gt;
# Imagine you are the boss of a small software development company. Which actions would you do or which practices would you introduce to prevent that your programmers fall into the trap of following a software guru?&lt;br /&gt;
# Elaborate possible extreme (and damaging) positions that can be taken by gurus of agile.&lt;br /&gt;
# Explain the differences in introducing a methodology by a guru and by a smart and effective coach.&lt;br /&gt;
# Detail why Extreme Programming produces an informative workspace.&lt;br /&gt;
# Discuss effective ways of packaging and “distributing” knowledge in software teams, starting with the guru approach of organizing knowledge into simple, clear practices which are easy to explain and to follow.&lt;br /&gt;
&lt;br /&gt;
=== Section 6 ===&lt;br /&gt;
&lt;br /&gt;
=== Section title: ===&lt;br /&gt;
&lt;br /&gt;
Structuring a Lean Approach to software development&lt;br /&gt;
&lt;br /&gt;
=== Topics covered in this section: ===&lt;br /&gt;
&lt;br /&gt;
* Existing proposals to create a “Lean Software Development”&lt;br /&gt;
* Sharing a common vision&lt;br /&gt;
* Depriving gurus of their power&lt;br /&gt;
* GQM+&lt;br /&gt;
* Applying the GQM+ step-by-step&lt;br /&gt;
* Business alignment&lt;br /&gt;
* GQM+ for business alignment&lt;br /&gt;
&lt;br /&gt;
=== What forms of evaluation were used to test students’ performance in this section? ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;tabular&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span&amp;gt;|a|c|&amp;lt;/span&amp;gt; &amp;amp;amp; '''Yes/No'''&amp;lt;br /&amp;gt;&lt;br /&gt;
Development of individual parts of software product code &amp;amp;amp; 0&amp;lt;br /&amp;gt;&lt;br /&gt;
Homework and group projects &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
Midterm evaluation &amp;amp;amp; 0&amp;lt;br /&amp;gt;&lt;br /&gt;
Testing (written or computer based) &amp;amp;amp; 0&amp;lt;br /&amp;gt;&lt;br /&gt;
Reports &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
Essays &amp;amp;amp; 0&amp;lt;br /&amp;gt;&lt;br /&gt;
Oral polls &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
Discussions &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Typical questions for ongoing performance evaluation within this section ===&lt;br /&gt;
&lt;br /&gt;
# Reflect on the seven principles for characterizing Lean Software Development by Mary and Tom Poppendieck.&lt;br /&gt;
# What is the semantic gap and which threats it poses to effective software development?&lt;br /&gt;
# Map the structure of Extreme Programming to the layered structure of Shalloway et al.&lt;br /&gt;
# How does the scientific method deprives gurus from their power?&lt;br /&gt;
# What are the steps to implement the GQM+?&lt;br /&gt;
# For what reason measurement goals and business goals should be interconnected?&lt;br /&gt;
&lt;br /&gt;
=== Typical questions for seminar classes (labs) within this section ===&lt;br /&gt;
&lt;br /&gt;
# How do the practices of Lean Management defined by Hibbs and colleagues relate to the seven principles by Mary and Tom Poppendieck&lt;br /&gt;
# Propose how you could develop software and hardware tools to promote common visions in companies.&lt;br /&gt;
# Elaborate a proposal to create some kind of Balanced Scorecards to evaluate your current study.&lt;br /&gt;
# Discuss the opinion of Ono about following plans and the extent to which such opinion contradicts (a) the practices, and (b) the principles of the tayloristic/fordistic approach&lt;br /&gt;
# Propose a SWAT analysis to introduce a Lean approach to your most recent software development endavour&lt;br /&gt;
&lt;br /&gt;
=== Test questions for final assessment in this section ===&lt;br /&gt;
&lt;br /&gt;
# Discuss the role of customer on-site under the perspective of lean and outline it relevance in the earlier and then in the later proposals of agile software development.&lt;br /&gt;
# Suppose that you have to develop Balanced Scorecards for a software development team. Which perspectives would you use? Which goals would you use for each perspective?&lt;br /&gt;
# What is a socio-technical system and how can it be used to describe an (agile) software production environement?&lt;br /&gt;
# Imagine you want to evaluate how readable the source code of some program is. Define a GQM+ model to describe what and why you would measure.&lt;br /&gt;
# The development in company M occurs according to the following schema: when a new project is started, a developer takes an old project that is the most similar to the new requirements and makes a copy and starts implementing the required modifications. To improve this process and to help the company to adopt a component-based approach, we want to understand which pieces of code are the best candidates for future components and which variability points they have. Define a suitable GQM+ for such purpose.&lt;br /&gt;
&lt;br /&gt;
=== Section 7 ===&lt;br /&gt;
&lt;br /&gt;
=== Section title: ===&lt;br /&gt;
&lt;br /&gt;
Optimizing the development process&lt;br /&gt;
&lt;br /&gt;
=== Topics covered in this section: ===&lt;br /&gt;
&lt;br /&gt;
* Why the PDSA does not work in software&lt;br /&gt;
* The experience factory&lt;br /&gt;
* The QIP cycle&lt;br /&gt;
* Non invasive measurement&lt;br /&gt;
* The big-brother effect&lt;br /&gt;
* The role of autonomation&lt;br /&gt;
* Employing Andon boards&lt;br /&gt;
&lt;br /&gt;
=== What forms of evaluation were used to test students’ performance in this section? ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;tabular&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span&amp;gt;|a|c|&amp;lt;/span&amp;gt; &amp;amp;amp; '''Yes/No'''&amp;lt;br /&amp;gt;&lt;br /&gt;
Development of individual parts of software product code &amp;amp;amp; 0&amp;lt;br /&amp;gt;&lt;br /&gt;
Homework and group projects &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
Midterm evaluation &amp;amp;amp; 0&amp;lt;br /&amp;gt;&lt;br /&gt;
Testing (written or computer based) &amp;amp;amp; 0&amp;lt;br /&amp;gt;&lt;br /&gt;
Reports &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
Essays &amp;amp;amp; 0&amp;lt;br /&amp;gt;&lt;br /&gt;
Oral polls &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
Discussions &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Typical questions for ongoing performance evaluation within this section ===&lt;br /&gt;
&lt;br /&gt;
# Details the major components of an experience factory.&lt;br /&gt;
# What are Reflection, Retrospective, and Post-Mortem Analysis? Why are they useful in Lean Software Development?&lt;br /&gt;
# What are the key components of a non invasive software measurement systems?&lt;br /&gt;
# What is the big brother effect and how it is possible to alleviate it.&lt;br /&gt;
# Discuss how autonomation is present in Extreme Programming.&lt;br /&gt;
# Where is the term “Dashboard” coming from and what is its use in Lean Software Development?&lt;br /&gt;
&lt;br /&gt;
=== Typical questions for seminar classes (labs) within this section ===&lt;br /&gt;
&lt;br /&gt;
# List the steps of a QIP.&lt;br /&gt;
# Discuss the risks of a measurement program and how non invasive software measurement can help alleviating them.&lt;br /&gt;
# Are there cases in which Theory X of management could be more effective than Theory Y? Discuss your findings.&lt;br /&gt;
# For which aspects of software production autonomation could be useful?&lt;br /&gt;
# Which tools could be used to promote autonomation?&lt;br /&gt;
# Prototype by paper and pencil an Andon board that you would consider useful in a software production environment.&lt;br /&gt;
&lt;br /&gt;
=== Test questions for final assessment in this section ===&lt;br /&gt;
&lt;br /&gt;
# What type of wisdom (in the sense of “know-why”) would you manage in an Experience Factory to support Lean Thinking? Distinguish between organizational learning and project learning.&lt;br /&gt;
# Assume you are a manager convinced that Theory X is true. Which non-invasive measurement probes would you want to develop to maximize productivity? Now assume you are convinced that Theory Y is true. Which non-invasive measurement probes would you need now?&lt;br /&gt;
# We discussed that we foresee two ways to collect measurements non- invasively: in batch and in background mode. What are the advantages and disadvantages of each approach?&lt;br /&gt;
# There are many interrelated building blocks (or concepts) of Lean Software Development and each contributes differently to it. What types of data are handled by each of these building blocks (or concepts)? How do the contribution to the overall value stream, to the creation of knowledge, and to the overall improvement?&lt;br /&gt;
# Assume you set up a fantastic dashboard for your team. As you collect the data and visualize it, you notice that all the measurements show problematic values. You let the dashboard in place for some days and also show it to your collaborators, but nobody cares; everybody continues his job as if everything would be fine. What is going wrong?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>A.kruglov</name></author>
	</entry>
	<entry>
		<id>https://eduwiki.innopolis.university/index.php?title=Newcomer%27s&amp;diff=572</id>
		<title>Newcomer's</title>
		<link rel="alternate" type="text/html" href="https://eduwiki.innopolis.university/index.php?title=Newcomer%27s&amp;diff=572"/>
		<updated>2021-08-27T07:49:58Z</updated>

		<summary type="html">&lt;p&gt;A.kruglov: A.kruglov moved page Newcomer's to General Information&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[General Information]]&lt;/div&gt;</summary>
		<author><name>A.kruglov</name></author>
	</entry>
	<entry>
		<id>https://eduwiki.innopolis.university/index.php?title=General_Information&amp;diff=571</id>
		<title>General Information</title>
		<link rel="alternate" type="text/html" href="https://eduwiki.innopolis.university/index.php?title=General_Information&amp;diff=571"/>
		<updated>2021-08-27T07:49:58Z</updated>

		<summary type="html">&lt;p&gt;A.kruglov: A.kruglov moved page Newcomer's to General Information&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Newcomer's handout =&lt;br /&gt;
&lt;br /&gt;
Several organizational aspects to figure out:&lt;br /&gt;
&lt;br /&gt;
1. Moodle Access&lt;br /&gt;
We use [https://moodle.innopolis.university Moodle] as our LMS. Here are the tutorials explaining how to work with it:&lt;br /&gt;
* [https://www.youtube.com/watch?v=bToQtv0h-u8&amp;amp;list=PLneu1tELBieKgdGI6MXpgCQ-KwTnItYu- IU Moodle setup: Intro]&lt;br /&gt;
* [https://www.youtube.com/watch?v=WSq_2mjYghE Recommendation for setting the final grades]&lt;br /&gt;
For any questions in regards to Moodle you can contact [https://portal.university.innopolis.ru/company/personal/user/4117/ Rinat Akhmetzianov].&lt;br /&gt;
&lt;br /&gt;
2. Remote teaching&lt;br /&gt;
In some groups, we have students who are authorized to attend lessons online. In this case, you need to use a video conference system. It is recommended to use Microsoft Teams, but it is up to you to use your preferred software for this purpose. Just remember, students should have clear algorithms for joining the lesson together with the tools needed. For those not familiar with any video conference system, we recommend using Microsoft Teams:&lt;br /&gt;
* [https://www.youtube.com/watch?v=Cyi5064KLCQ&amp;amp;list=PLneu1tELBieKgdGI6MXpgCQ-KwTnItYu-&amp;amp;index=8 Microsoft Teams quick start]&lt;br /&gt;
 &lt;br /&gt;
3. Attendance tracking&lt;br /&gt;
We use automatic authentication software [https://baam.duckdns.org/ BAAM] compatible with Moodle to simplify the process of attendance tracking. Watch the video below to see how it works:&lt;br /&gt;
* [https://www.youtube.com/watch?v=14hL6avHasc BAAM - students’ attendance tracking]&lt;br /&gt;
 &lt;br /&gt;
4. Contacts&lt;br /&gt;
For organizational aspects you can always contact the program manager of your Institute:&lt;br /&gt;
* Software Engineering - [https://portal.university.innopolis.ru/company/personal/user/1203/ Masur Khazeev]&lt;br /&gt;
* Data Science and Artificial Intelligence - [https://portal.university.innopolis.ru/company/personal/user/3638/ Zamira Kholmatova]&lt;br /&gt;
* Robotics and Computer Vision - [https://portal.university.innopolis.ru/company/personal/user/3396/ Igor Gaponov]&lt;br /&gt;
* Security and Network Engineering - [https://portal.university.innopolis.ru/company/personal/user/1414/ Kirill Saltanov]&lt;br /&gt;
or Teacher Assistants’ coordinator - [https://portal.university.innopolis.ru/company/personal/user/3069/ Artem Kruglov]&lt;/div&gt;</summary>
		<author><name>A.kruglov</name></author>
	</entry>
	<entry>
		<id>https://eduwiki.innopolis.university/index.php?title=MSc:ResearchMethods&amp;diff=563</id>
		<title>MSc:ResearchMethods</title>
		<link rel="alternate" type="text/html" href="https://eduwiki.innopolis.university/index.php?title=MSc:ResearchMethods&amp;diff=563"/>
		<updated>2021-08-26T19:24:27Z</updated>

		<summary type="html">&lt;p&gt;A.kruglov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Research Methods =&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;span&amp;gt;'''Course name:'''&amp;lt;/span&amp;gt; Research Methods&lt;br /&gt;
* &amp;lt;span&amp;gt;'''Course number:'''&amp;lt;/span&amp;gt; XYZ&lt;br /&gt;
&lt;br /&gt;
== Course Characteristics ==&lt;br /&gt;
&lt;br /&gt;
=== Key concepts of the class ===&lt;br /&gt;
&lt;br /&gt;
* Goal-Question-Metric approach&lt;br /&gt;
* Experimental design&lt;br /&gt;
* Basics of statistics&lt;br /&gt;
&lt;br /&gt;
=== What is the purpose of this course? ===&lt;br /&gt;
&lt;br /&gt;
The main purpose of this course is to present the research methods and concepts to the master students of Innopolis University of Software Engineering and Robotics programs. On one side the course provides the scientific fundamentals of the research activity and on the other anchors the theoretical concepts on practices coming from the world of software development and engineering. As a result of the course, students demonstrate on practice the acquired skills of formulating the research problem, collecting, analyzing data and presenting results of research.&lt;br /&gt;
&lt;br /&gt;
=== Course objectives based on Bloom’s taxonomy ===&lt;br /&gt;
&lt;br /&gt;
=== - What should a student remember at the end of the course? ===&lt;br /&gt;
&lt;br /&gt;
By the end of the course, the students should be able to:&lt;br /&gt;
&lt;br /&gt;
* Remember the steps of research design&lt;br /&gt;
* Remember the sources of information in Software Engineering&lt;br /&gt;
* Remember the concept of measurement&lt;br /&gt;
* Remember the notion of Scientific fraud&lt;br /&gt;
* Explain the difference between 4different experimentation designs&lt;br /&gt;
&lt;br /&gt;
=== - What should a student be able to understand at the end of the course? ===&lt;br /&gt;
&lt;br /&gt;
By the end of the course, the students should be able to understand:&lt;br /&gt;
&lt;br /&gt;
* The difference between Science and Engineering&lt;br /&gt;
* The nature of errors&lt;br /&gt;
* The ethics in research&lt;br /&gt;
* How to summarize a research paper&lt;br /&gt;
* How to evaluate a research paper&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== - What should a student be able to apply at the end of the course? ===&lt;br /&gt;
&lt;br /&gt;
By the end of the course, the students should be able to ...&lt;br /&gt;
&lt;br /&gt;
* Summarize a research paper&lt;br /&gt;
* Evaluate a research paper&lt;br /&gt;
* Write good papers&lt;br /&gt;
* Present results of the research&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Course evaluation ===&lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|+ Course grade breakdown&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
!align=&amp;quot;center&amp;quot;| '''Points'''&lt;br /&gt;
|-&lt;br /&gt;
| Project proposal&lt;br /&gt;
| 45 &lt;br /&gt;
|-&lt;br /&gt;
| Interim performance assessment (class participation)&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
| Final presentation&lt;br /&gt;
| 45&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Each component will be assessed on a scale 0-10, where 6 is the minimum passing grade. In case of exceptional work a 10 cum laude will be assigned, with a numeric value from 10 to 13 at the discretion of the instructor. &lt;br /&gt;
&lt;br /&gt;
The grading, though, is not a simple linear combination of the components above. In particular:&lt;br /&gt;
&lt;br /&gt;
* failing any part of the evaluation will trigger a failure in the entire course,&lt;br /&gt;
* if there are not failing components, the final grade will be computed as a weighted average of the components above approximated at the highest second digit and then rounded to the closest integer.&lt;br /&gt;
&lt;br /&gt;
=== Retakes ===&lt;br /&gt;
&lt;br /&gt;
Retakes will be run as comprehensive oral exam, where the student will be assessed the acquired knowledge coming from the textbooks, the lectures, the labs, and the additional required reading material, as supplied by the instructor. During such comprehensive oral the student could be asked to solve exercises and to explain theoretical and practical aspects of the course.&lt;br /&gt;
&lt;br /&gt;
=== Grades range ===&lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|+ Course grading range&lt;br /&gt;
!&lt;br /&gt;
!align=&amp;quot;center&amp;quot;| '''Range'''&lt;br /&gt;
|-&lt;br /&gt;
| A. Excellent&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 95-100&lt;br /&gt;
|-&lt;br /&gt;
| B. Good&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 75-94&lt;br /&gt;
|-&lt;br /&gt;
| C. Satisfactory&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 55-74&lt;br /&gt;
|-&lt;br /&gt;
| D. Poor&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0-54&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Resources and reference material ===&lt;br /&gt;
&lt;br /&gt;
* Donald T. Campbell and Julian C. Stanley. Experimental and Quasi-Experimental Designs for Research. Rand McNally College Publishing, 1963&lt;br /&gt;
* Creswell, John W. Educational research: planning, conducting, and evaluating quantitative and qualitative research / John W. Creswell. — 4th ed.&lt;br /&gt;
&lt;br /&gt;
== Course Sections ==&lt;br /&gt;
&lt;br /&gt;
The main sections of the course and approximate hour distribution between them is as follows:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|+ '''Course Sections'''&lt;br /&gt;
!align=&amp;quot;center&amp;quot;| '''Section'''&lt;br /&gt;
! '''Section Title'''&lt;br /&gt;
!align=&amp;quot;center&amp;quot;| '''Teaching Hours'''&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
| Theory of research&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 16&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 2&lt;br /&gt;
| Research domains&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 12&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 3&lt;br /&gt;
| Students' presentations&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 6&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Section 1 ===&lt;br /&gt;
&lt;br /&gt;
==== Section title: Theory of research ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Topics covered in this section: ====&lt;br /&gt;
&lt;br /&gt;
* Introduction to the course&lt;br /&gt;
* Scientific and engineering research&lt;br /&gt;
* Experimentation&lt;br /&gt;
* Scientific “productivity”&lt;br /&gt;
* Ethics in Research&lt;br /&gt;
* Writing good papers&lt;br /&gt;
* Being a reviewer&lt;br /&gt;
* Influence and presentations&lt;br /&gt;
&lt;br /&gt;
==== What forms of evaluation were used to test students’ performance in this section? ====&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|''' '''&lt;br /&gt;
! '''Yes/No'''&lt;br /&gt;
|-&lt;br /&gt;
| Homework and group projects&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Midterm evaluation&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Testing (written or computer based)&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Reports&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Essays&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Oral polls&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Discussions&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Typical questions for ongoing performance evaluation within this section ====&lt;br /&gt;
&lt;br /&gt;
# XXX&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Typical questions for seminar classes (labs) within this section ====&lt;br /&gt;
&lt;br /&gt;
# XXX&lt;br /&gt;
&lt;br /&gt;
=== Section 2 ===&lt;br /&gt;
&lt;br /&gt;
==== Section title: Research domains ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Topics covered in this section: ====&lt;br /&gt;
&lt;br /&gt;
* SSE research&lt;br /&gt;
* Robotics research&lt;br /&gt;
&lt;br /&gt;
==== What forms of evaluation were used to test students’ performance in this section? ====&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|''' '''&lt;br /&gt;
! '''Yes/No'''&lt;br /&gt;
|-&lt;br /&gt;
| Homework and group projects&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Midterm evaluation&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Testing (written or computer based)&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Reports&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Essays&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Oral polls&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Discussions&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Typical questions for ongoing performance evaluation within this section ====&lt;br /&gt;
&lt;br /&gt;
# XXX&lt;br /&gt;
&lt;br /&gt;
==== Typical questions for seminar classes (labs) within this section ====&lt;br /&gt;
&lt;br /&gt;
# XXX&lt;br /&gt;
&lt;br /&gt;
==== Test questions for final assessment in the course ====&lt;br /&gt;
&lt;br /&gt;
# XXX&lt;br /&gt;
&lt;br /&gt;
=== Section 3 ===&lt;br /&gt;
&lt;br /&gt;
==== Section title: Students' presentations ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Topics covered in this section: ====&lt;br /&gt;
&lt;br /&gt;
* Final project presentations&lt;br /&gt;
&lt;br /&gt;
==== What forms of evaluation were used to test students’ performance in this section? ====&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|''' '''&lt;br /&gt;
! '''Yes/No'''&lt;br /&gt;
|-&lt;br /&gt;
| Homework and group projects&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Midterm evaluation&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Testing (written or computer based)&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Reports&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Essays&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Oral polls&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Discussions&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Typical questions for ongoing performance evaluation within this section ====&lt;br /&gt;
&lt;br /&gt;
# XXX&lt;br /&gt;
&lt;br /&gt;
==== Typical questions for seminar classes (labs) within this section ====&lt;br /&gt;
&lt;br /&gt;
# XXX&lt;br /&gt;
&lt;br /&gt;
==== Test questions for final assessment in the course ====&lt;br /&gt;
&lt;br /&gt;
# XXX&lt;/div&gt;</summary>
		<author><name>A.kruglov</name></author>
	</entry>
	<entry>
		<id>https://eduwiki.innopolis.university/index.php?title=MSc:ResearchMethods&amp;diff=562</id>
		<title>MSc:ResearchMethods</title>
		<link rel="alternate" type="text/html" href="https://eduwiki.innopolis.university/index.php?title=MSc:ResearchMethods&amp;diff=562"/>
		<updated>2021-08-26T19:17:57Z</updated>

		<summary type="html">&lt;p&gt;A.kruglov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Research Methods =&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;span&amp;gt;'''Course name:'''&amp;lt;/span&amp;gt; Research Methods&lt;br /&gt;
* &amp;lt;span&amp;gt;'''Course number:'''&amp;lt;/span&amp;gt; XYZ&lt;br /&gt;
&lt;br /&gt;
== Course Characteristics ==&lt;br /&gt;
&lt;br /&gt;
=== Key concepts of the class ===&lt;br /&gt;
&lt;br /&gt;
* Goal-Question-Metric approach&lt;br /&gt;
* Experimental design&lt;br /&gt;
* Basics of statistics&lt;br /&gt;
&lt;br /&gt;
=== What is the purpose of this course? ===&lt;br /&gt;
&lt;br /&gt;
The main purpose of this course is to present the fundamentals of empirical methods and fundamental statistics to the future software engineers and data scientists, on one side providing the scientific fundamentals of the disciplines, and on the other anchoring the theoretical concepts on practices coming from the world of software development and engineering. As a side product, the course also refreshes the basics of statistics, providing the basis for more advanced statistical courses in the following semester(s) of study.&lt;br /&gt;
&lt;br /&gt;
=== Course objectives based on Bloom’s taxonomy ===&lt;br /&gt;
&lt;br /&gt;
=== - What should a student remember at the end of the course? ===&lt;br /&gt;
&lt;br /&gt;
By the end of the course, the students should be able to:&lt;br /&gt;
&lt;br /&gt;
* Remember the steps of research design&lt;br /&gt;
* Remember the sources of information in Software Engineering&lt;br /&gt;
* Remember the concept of measurement&lt;br /&gt;
* Remember the notion of Scientific fraud&lt;br /&gt;
* Explain the difference between 4different experimentation designs&lt;br /&gt;
&lt;br /&gt;
=== - What should a student be able to understand at the end of the course? ===&lt;br /&gt;
&lt;br /&gt;
By the end of the course, the students should be able to understand:&lt;br /&gt;
&lt;br /&gt;
* The difference between Science and Engineering&lt;br /&gt;
* The nature of errors&lt;br /&gt;
* The ethics in research&lt;br /&gt;
* How to summarize a research paper&lt;br /&gt;
* How to evaluate a research paper&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== - What should a student be able to apply at the end of the course? ===&lt;br /&gt;
&lt;br /&gt;
By the end of the course, the students should be able to ...&lt;br /&gt;
&lt;br /&gt;
* Summarize a research paper&lt;br /&gt;
* Evaluate a research paper&lt;br /&gt;
* Write good papers&lt;br /&gt;
* Present results of the research&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Course evaluation ===&lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|+ Course grade breakdown&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
!align=&amp;quot;center&amp;quot;| '''Points'''&lt;br /&gt;
|-&lt;br /&gt;
| Project proposal&lt;br /&gt;
| 45 &lt;br /&gt;
|-&lt;br /&gt;
| Interim performance assessment (class participation)&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
| Final presentation&lt;br /&gt;
| 45&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Each component will be assessed on a scale 0-10, where 6 is the minimum passing grade. In case of exceptional work a 10 cum laude will be assigned, with a numeric value from 10 to 13 at the discretion of the instructor. &lt;br /&gt;
&lt;br /&gt;
The grading, though, is not a simple linear combination of the components above. In particular:&lt;br /&gt;
&lt;br /&gt;
* failing any part of the evaluation will trigger a failure in the entire course,&lt;br /&gt;
* if there are not failing components, the final grade will be computed as a weighted average of the components above approximated at the highest second digit and then rounded to the closest integer.&lt;br /&gt;
&lt;br /&gt;
=== Retakes ===&lt;br /&gt;
&lt;br /&gt;
Retakes will be run as comprehensive oral exam, where the student will be assessed the acquired knowledge coming from the textbooks, the lectures, the labs, and the additional required reading material, as supplied by the instructor. During such comprehensive oral the student could be asked to solve exercises and to explain theoretical and practical aspects of the course.&lt;br /&gt;
&lt;br /&gt;
=== Grades range ===&lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|+ Course grading range&lt;br /&gt;
!&lt;br /&gt;
!align=&amp;quot;center&amp;quot;| '''Range'''&lt;br /&gt;
|-&lt;br /&gt;
| A. Excellent&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 95-100&lt;br /&gt;
|-&lt;br /&gt;
| B. Good&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 75-94&lt;br /&gt;
|-&lt;br /&gt;
| C. Satisfactory&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 55-74&lt;br /&gt;
|-&lt;br /&gt;
| D. Poor&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0-54&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Resources and reference material ===&lt;br /&gt;
&lt;br /&gt;
* Donald T. Campbell and Julian C. Stanley. Experimental and Quasi-Experimental Designs for Research. Rand McNally College Publishing, 1963&lt;br /&gt;
* Creswell, John W. Educational research: planning, conducting, and evaluating quantitative and qualitative research / John W. Creswell. — 4th ed.&lt;br /&gt;
&lt;br /&gt;
== Course Sections ==&lt;br /&gt;
&lt;br /&gt;
The main sections of the course and approximate hour distribution between them is as follows:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|+ '''Course Sections'''&lt;br /&gt;
!align=&amp;quot;center&amp;quot;| '''Section'''&lt;br /&gt;
! '''Section Title'''&lt;br /&gt;
!align=&amp;quot;center&amp;quot;| '''Teaching Hours'''&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
| Theory of research&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 16&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 2&lt;br /&gt;
| Research domains&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 12&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 3&lt;br /&gt;
| Students' presentations&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 6&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Section 1 ===&lt;br /&gt;
&lt;br /&gt;
==== Section title: Theory of research ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Topics covered in this section: ====&lt;br /&gt;
&lt;br /&gt;
* Introduction to the course&lt;br /&gt;
* Scientific and engineering research&lt;br /&gt;
* Experimentation&lt;br /&gt;
* Scientific “productivity”&lt;br /&gt;
* Ethics in Research&lt;br /&gt;
* Writing good papers&lt;br /&gt;
* Being a reviewer&lt;br /&gt;
* Influence and presentations&lt;br /&gt;
&lt;br /&gt;
==== What forms of evaluation were used to test students’ performance in this section? ====&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|''' '''&lt;br /&gt;
! '''Yes/No'''&lt;br /&gt;
|-&lt;br /&gt;
| Homework and group projects&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Midterm evaluation&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Testing (written or computer based)&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Reports&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Essays&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Oral polls&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Discussions&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Typical questions for ongoing performance evaluation within this section ====&lt;br /&gt;
&lt;br /&gt;
# XXX&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Typical questions for seminar classes (labs) within this section ====&lt;br /&gt;
&lt;br /&gt;
# XXX&lt;br /&gt;
&lt;br /&gt;
=== Section 2 ===&lt;br /&gt;
&lt;br /&gt;
==== Section title: Research domains ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Topics covered in this section: ====&lt;br /&gt;
&lt;br /&gt;
* SSE research&lt;br /&gt;
* Robotics research&lt;br /&gt;
&lt;br /&gt;
==== What forms of evaluation were used to test students’ performance in this section? ====&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|''' '''&lt;br /&gt;
! '''Yes/No'''&lt;br /&gt;
|-&lt;br /&gt;
| Homework and group projects&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Midterm evaluation&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Testing (written or computer based)&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Reports&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Essays&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Oral polls&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Discussions&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Typical questions for ongoing performance evaluation within this section ====&lt;br /&gt;
&lt;br /&gt;
# XXX&lt;br /&gt;
&lt;br /&gt;
==== Typical questions for seminar classes (labs) within this section ====&lt;br /&gt;
&lt;br /&gt;
# XXX&lt;br /&gt;
&lt;br /&gt;
==== Test questions for final assessment in the course ====&lt;br /&gt;
&lt;br /&gt;
# XXX&lt;br /&gt;
&lt;br /&gt;
=== Section 3 ===&lt;br /&gt;
&lt;br /&gt;
==== Section title: Students' presentations ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Topics covered in this section: ====&lt;br /&gt;
&lt;br /&gt;
* Final project presentations&lt;br /&gt;
&lt;br /&gt;
==== What forms of evaluation were used to test students’ performance in this section? ====&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|''' '''&lt;br /&gt;
! '''Yes/No'''&lt;br /&gt;
|-&lt;br /&gt;
| Homework and group projects&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Midterm evaluation&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Testing (written or computer based)&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Reports&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Essays&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Oral polls&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Discussions&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Typical questions for ongoing performance evaluation within this section ====&lt;br /&gt;
&lt;br /&gt;
# XXX&lt;br /&gt;
&lt;br /&gt;
==== Typical questions for seminar classes (labs) within this section ====&lt;br /&gt;
&lt;br /&gt;
# XXX&lt;br /&gt;
&lt;br /&gt;
==== Test questions for final assessment in the course ====&lt;br /&gt;
&lt;br /&gt;
# XXX&lt;/div&gt;</summary>
		<author><name>A.kruglov</name></author>
	</entry>
	<entry>
		<id>https://eduwiki.innopolis.university/index.php?title=MSc:ResearchMethods&amp;diff=561</id>
		<title>MSc:ResearchMethods</title>
		<link rel="alternate" type="text/html" href="https://eduwiki.innopolis.university/index.php?title=MSc:ResearchMethods&amp;diff=561"/>
		<updated>2021-08-26T19:11:49Z</updated>

		<summary type="html">&lt;p&gt;A.kruglov: Created page with &amp;quot;= Research Methods =  * &amp;lt;span&amp;gt;'''Course name:'''&amp;lt;/span&amp;gt; Research Methods * &amp;lt;span&amp;gt;'''Course number:'''&amp;lt;/span&amp;gt; XYZ  == Course Characteristics ==  === Key concepts of the class =...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Research Methods =&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;span&amp;gt;'''Course name:'''&amp;lt;/span&amp;gt; Research Methods&lt;br /&gt;
* &amp;lt;span&amp;gt;'''Course number:'''&amp;lt;/span&amp;gt; XYZ&lt;br /&gt;
&lt;br /&gt;
== Course Characteristics ==&lt;br /&gt;
&lt;br /&gt;
=== Key concepts of the class ===&lt;br /&gt;
&lt;br /&gt;
* Goal-Question-Metric approach&lt;br /&gt;
* Experimental design&lt;br /&gt;
* Basics of statistics&lt;br /&gt;
&lt;br /&gt;
=== What is the purpose of this course? ===&lt;br /&gt;
&lt;br /&gt;
The main purpose of this course is to present the fundamentals of empirical methods and fundamental statistics to the future software engineers and data scientists, on one side providing the scientific fundamentals of the disciplines, and on the other anchoring the theoretical concepts on practices coming from the world of software development and engineering. As a side product, the course also refreshes the basics of statistics, providing the basis for more advanced statistical courses in the following semester(s) of study.&lt;br /&gt;
&lt;br /&gt;
=== Course objectives based on Bloom’s taxonomy ===&lt;br /&gt;
&lt;br /&gt;
=== - What should a student remember at the end of the course? ===&lt;br /&gt;
&lt;br /&gt;
By the end of the course, the students should be able to:&lt;br /&gt;
&lt;br /&gt;
* Remember the fundamentals of statistics and probability theory&lt;br /&gt;
* Remember the basic models for experimentation and quasi-experimentation&lt;br /&gt;
* Remember the specifics and purpose of different measurement scales&lt;br /&gt;
* Distinguish between random variable and random process&lt;br /&gt;
* Explain the difference between the correlation and causation&lt;br /&gt;
&lt;br /&gt;
=== - What should a student be able to understand at the end of the course? ===&lt;br /&gt;
&lt;br /&gt;
By the end of the course, the students should be able to understand:&lt;br /&gt;
&lt;br /&gt;
* the value of experimentation for software engineers and data scientists&lt;br /&gt;
* the basic concepts of an hypothesis&lt;br /&gt;
* the concept of correlation&lt;br /&gt;
* the fundamental laws in statistics&lt;br /&gt;
* the concept of Goal-Question-Metric approach&lt;br /&gt;
&lt;br /&gt;
=== - What should a student be able to apply at the end of the course? ===&lt;br /&gt;
&lt;br /&gt;
By the end of the course, the students should be able to ...&lt;br /&gt;
&lt;br /&gt;
* Apply Goal-Question-Metric approach in practice&lt;br /&gt;
* Apply the fundamental principles of experimental design&lt;br /&gt;
* Apply reduction to quasi-experimentation experimental design&lt;br /&gt;
* Apply statistics and probability theory in practice&lt;br /&gt;
* Apply hypothesis testing technique in software analysis&lt;br /&gt;
&lt;br /&gt;
=== Course evaluation ===&lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|+ Course grade breakdown&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
!align=&amp;quot;center&amp;quot;| '''Points'''&lt;br /&gt;
|-&lt;br /&gt;
| Project proposal&lt;br /&gt;
| 45 &lt;br /&gt;
|-&lt;br /&gt;
| Interim performance assessment (class participation)&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
| Final presentation&lt;br /&gt;
| 45&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Each component will be assessed on a scale 0-10, where 6 is the minimum passing grade. In case of exceptional work a 10 cum laude will be assigned, with a numeric value from 10 to 13 at the discretion of the instructor. &lt;br /&gt;
&lt;br /&gt;
The grading, though, is not a simple linear combination of the components above. In particular:&lt;br /&gt;
&lt;br /&gt;
* failing any part of the evaluation will trigger a failure in the entire course,&lt;br /&gt;
* if there are not failing components, the final grade will be computed as a weighted average of the components above approximated at the highest second digit and then rounded to the closest integer.&lt;br /&gt;
&lt;br /&gt;
=== Retakes ===&lt;br /&gt;
&lt;br /&gt;
Retakes will be run as comprehensive oral exam, where the student will be assessed the acquired knowledge coming from the textbooks, the lectures, the labs, and the additional required reading material, as supplied by the instructor. During such comprehensive oral the student could be asked to solve exercises and to explain theoretical and practical aspects of the course.&lt;br /&gt;
&lt;br /&gt;
=== Grades range ===&lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|+ Course grading range&lt;br /&gt;
!&lt;br /&gt;
!align=&amp;quot;center&amp;quot;| '''Range'''&lt;br /&gt;
|-&lt;br /&gt;
| A. Excellent&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 95-100&lt;br /&gt;
|-&lt;br /&gt;
| B. Good&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 75-94&lt;br /&gt;
|-&lt;br /&gt;
| C. Satisfactory&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 55-74&lt;br /&gt;
|-&lt;br /&gt;
| D. Poor&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0-54&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Resources and reference material ===&lt;br /&gt;
&lt;br /&gt;
* Donald T. Campbell and Julian C. Stanley. Experimental and Quasi-Experimental Designs for Research. Rand McNally College Publishing, 1963&lt;br /&gt;
* Creswell, John W. Educational research: planning, conducting, and evaluating quantitative and qualitative research / John W. Creswell. — 4th ed.&lt;br /&gt;
&lt;br /&gt;
== Course Sections ==&lt;br /&gt;
&lt;br /&gt;
The main sections of the course and approximate hour distribution between them is as follows:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|+ '''Course Sections'''&lt;br /&gt;
!align=&amp;quot;center&amp;quot;| '''Section'''&lt;br /&gt;
! '''Section Title'''&lt;br /&gt;
!align=&amp;quot;center&amp;quot;| '''Teaching Hours'''&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
| Theory of research&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 16&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 2&lt;br /&gt;
| Research domains&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 12&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 3&lt;br /&gt;
| Students' presentations&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 6&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Section 1 ===&lt;br /&gt;
&lt;br /&gt;
==== Section title: Theory of research ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Topics covered in this section: ====&lt;br /&gt;
&lt;br /&gt;
* Introduction to the course&lt;br /&gt;
* Scientific and engineering research&lt;br /&gt;
* Experimentation&lt;br /&gt;
* Scientific “productivity”&lt;br /&gt;
* Ethics in Research&lt;br /&gt;
* Writing good papers&lt;br /&gt;
* Being a reviewer&lt;br /&gt;
* Influence and presentations&lt;br /&gt;
&lt;br /&gt;
==== What forms of evaluation were used to test students’ performance in this section? ====&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|''' '''&lt;br /&gt;
! '''Yes/No'''&lt;br /&gt;
|-&lt;br /&gt;
| Homework and group projects&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Midterm evaluation&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Testing (written or computer based)&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Reports&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Essays&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Oral polls&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Discussions&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Typical questions for ongoing performance evaluation within this section ====&lt;br /&gt;
&lt;br /&gt;
# XXX&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Typical questions for seminar classes (labs) within this section ====&lt;br /&gt;
&lt;br /&gt;
# XXX&lt;br /&gt;
&lt;br /&gt;
=== Section 2 ===&lt;br /&gt;
&lt;br /&gt;
==== Section title: Research domains ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Topics covered in this section: ====&lt;br /&gt;
&lt;br /&gt;
* SSE research&lt;br /&gt;
* Robotics research&lt;br /&gt;
&lt;br /&gt;
==== What forms of evaluation were used to test students’ performance in this section? ====&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|''' '''&lt;br /&gt;
! '''Yes/No'''&lt;br /&gt;
|-&lt;br /&gt;
| Homework and group projects&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Midterm evaluation&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Testing (written or computer based)&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Reports&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Essays&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Oral polls&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Discussions&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Typical questions for ongoing performance evaluation within this section ====&lt;br /&gt;
&lt;br /&gt;
# XXX&lt;br /&gt;
&lt;br /&gt;
==== Typical questions for seminar classes (labs) within this section ====&lt;br /&gt;
&lt;br /&gt;
# XXX&lt;br /&gt;
&lt;br /&gt;
==== Test questions for final assessment in the course ====&lt;br /&gt;
&lt;br /&gt;
# XXX&lt;br /&gt;
&lt;br /&gt;
=== Section 3 ===&lt;br /&gt;
&lt;br /&gt;
==== Section title: Students' presentations ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Topics covered in this section: ====&lt;br /&gt;
&lt;br /&gt;
* Final project presentations&lt;br /&gt;
&lt;br /&gt;
==== What forms of evaluation were used to test students’ performance in this section? ====&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|''' '''&lt;br /&gt;
! '''Yes/No'''&lt;br /&gt;
|-&lt;br /&gt;
| Homework and group projects&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Midterm evaluation&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Testing (written or computer based)&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Reports&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Essays&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Oral polls&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Discussions&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Typical questions for ongoing performance evaluation within this section ====&lt;br /&gt;
&lt;br /&gt;
# XXX&lt;br /&gt;
&lt;br /&gt;
==== Typical questions for seminar classes (labs) within this section ====&lt;br /&gt;
&lt;br /&gt;
# XXX&lt;br /&gt;
&lt;br /&gt;
==== Test questions for final assessment in the course ====&lt;br /&gt;
&lt;br /&gt;
# XXX&lt;/div&gt;</summary>
		<author><name>A.kruglov</name></author>
	</entry>
	<entry>
		<id>https://eduwiki.innopolis.university/index.php?title=BSc:_Operating_Systems&amp;diff=277</id>
		<title>BSc: Operating Systems</title>
		<link rel="alternate" type="text/html" href="https://eduwiki.innopolis.university/index.php?title=BSc:_Operating_Systems&amp;diff=277"/>
		<updated>2021-08-16T08:27:57Z</updated>

		<summary type="html">&lt;p&gt;A.kruglov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Operating Systems =&lt;br /&gt;
&lt;br /&gt;
Course name: Operating Systems&amp;lt;br /&amp;gt;&lt;br /&gt;
Course number: R-01&lt;br /&gt;
&lt;br /&gt;
== Course characteristics ==&lt;br /&gt;
&lt;br /&gt;
=== Key concepts of the class ===&lt;br /&gt;
&lt;br /&gt;
* Structure of an operating system&lt;br /&gt;
* Specific mechanisms, policies, and algorithms used to implement the different parts of an operating system&lt;br /&gt;
&lt;br /&gt;
=== What is the purpose of this course? ===&lt;br /&gt;
&lt;br /&gt;
Operating systems are the core part of a computing device and computing devices are an integral part of our life, not only as programmers, but also just as human being – it is enough to think at smart homes infrastructures, now available at accessible prices to everyone, at car devices, like smart navigator and cruise control systems, at other infrastructures. Therefore, a fundamental understanding of the structure of an operating systems has a paramount role in the curriculum of a student in computer science and engineering. The purpose of this course is to provide such understanding. This is a core course, so it is not among its goals to explore the details of the various proposal for operating systems that are now emerging: this is the subject of more advanced endeavours.&lt;br /&gt;
&lt;br /&gt;
=== Course Objectives Based on Bloom’s Taxonomy ===&lt;br /&gt;
&lt;br /&gt;
=== - What should a student remember at the end of the course? ===&lt;br /&gt;
&lt;br /&gt;
By the end of the course, the students should be able to recognize and define:&lt;br /&gt;
&lt;br /&gt;
* fundamental components of an Operating Systems,&lt;br /&gt;
* organization of primary memory and the associated concept of virtual memory, with techniques based on paging and segmenting,&lt;br /&gt;
* structure of secondary memory (file systems),&lt;br /&gt;
* management of the processor(s) and of the connected scheduling algorithms,&lt;br /&gt;
* allocation of resources and the associated problems (deadlocks),&lt;br /&gt;
* approaches to handle I/O.&lt;br /&gt;
&lt;br /&gt;
=== - What should a student be able to understand at the end of the course? ===&lt;br /&gt;
&lt;br /&gt;
By the end of the course, the students should be able to describe and explain (with examples):&lt;br /&gt;
&lt;br /&gt;
* strategies and algorithms for allocating processor(s) time to processes,&lt;br /&gt;
* strategies and algorithms for allocating primary memory to processes,&lt;br /&gt;
* the fundamental states of a process and how they are reached,&lt;br /&gt;
* concept and implementation of the address space of a process, both in the single threaded and in the multi threaded cases.&lt;br /&gt;
* techniques to organize files and directories in secondary memory,&lt;br /&gt;
* algorithms for a safe concurrent access to resources, preventing or avoiding deadlocks,&lt;br /&gt;
* methods for attaching different kind of devices to a computer, also considering different kind of buses.&lt;br /&gt;
&lt;br /&gt;
=== - What should a student be able to apply at the end of the course? ===&lt;br /&gt;
&lt;br /&gt;
By the end of the course, the students should be able to apply:&lt;br /&gt;
&lt;br /&gt;
* strategies for programming at the Operating System level,&lt;br /&gt;
* fundamental system calls for process creation, termination,&lt;br /&gt;
* fundamental system calls to allocate, change, and deallocate primary memory to processes,&lt;br /&gt;
* libraries to handle buffered and unbuffered interconnections with the computer, including files and I/O devices,&lt;br /&gt;
* the identification of the most suitable algorithms for process, memory, and I/O management depending on the context in which their target operating system is working.&lt;br /&gt;
&lt;br /&gt;
=== Course evaluation ===&lt;br /&gt;
&lt;br /&gt;
The course has two major forms of evaluations:&lt;br /&gt;
&lt;br /&gt;
* a standard evaluation,&lt;br /&gt;
* for very motivated students, an alternative form of evaluation.&lt;br /&gt;
&lt;br /&gt;
The '''standard evaluation''' follows.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;tab:OSCourseGrading&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|+ '''Course grade breakdown'''&lt;br /&gt;
!align=&amp;quot;center&amp;quot;| '''Component'''&lt;br /&gt;
! '''Points'''&lt;br /&gt;
|-&lt;br /&gt;
| Labs/seminar classes (weekly evaluations)&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 30 &amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Interim performance assessment (class participation)&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 5&lt;br /&gt;
|-&lt;br /&gt;
| Exams&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 65 &amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; Of which 15 for online test done during the tutorial, 15 for homeworks related to labs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; Of which 35% for the written and 30% for the oral.&lt;br /&gt;
&lt;br /&gt;
Note: A student who has earned 70% of the grade before the oral exam (meaning 49% of the total grade), can apply for exemption to such oral exam, unless explicitly required by the instructor to take it, at full discretion of the instructor. In such case the grade final grade is computed as follows: all the grades below a total of 55% will award a C and all the one from 55% onward (up to 70%) will award a B. A student aiming at an A in the course has to do the oral exam.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
The '''alternative evaluation''' follows.&lt;br /&gt;
&lt;br /&gt;
The alternative form of evaluation assumes attendance to all lecture and always a grade above 9/10 or equivalent. Students interested to opt for this approach need to inform Xavier Vasquez about their choice no later than during the third Tutorial (1st September). If during the semester a student fails to satisfy the criteria for taking the alternative form of evaluation, s/he is automatically reverted to the standard evaluation.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|+ '''Course grade breakdown'''&lt;br /&gt;
!align=&amp;quot;center&amp;quot;| '''Component'''&lt;br /&gt;
! '''Points'''&lt;br /&gt;
|-&lt;br /&gt;
| Labs/seminar classes (weekly evaluations)&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 20 &amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Interim performance assessment (class participation)&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 5&lt;br /&gt;
|-&lt;br /&gt;
| Solutions to questions of Bach directly in the text&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 50&lt;br /&gt;
|-&lt;br /&gt;
| Exams&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 25 &amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; Of which 10 for online test done during the tutorial and 10 for homeworks related to labs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; Special cumulative oral.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''In both case''' each component apart from homeworks will be assessed on a scale 0-10, where 6 is the minimum passing grade. In case of exceptional work a 10 cum laude will be assigned, with a numeric value from 11 to 13 at discretion of the instructor. The homeworks will be initially graded on a scale 0-2 weekly and then the overall grade will be assembled on a scale 0-10.&amp;lt;br /&amp;gt;&lt;br /&gt;
The grading, though, is not a simple linear combination of the components above. In particular:&lt;br /&gt;
&lt;br /&gt;
* failing any part of the evaluation will trigger a failure in the entire course,&lt;br /&gt;
* the online test done during the tutorial, and the homeworks related to labs will be both averaged on the (n-4) best performances, where the 4 will be used to consider any kind of absence of the student, without requiring any additional documentation; if the student has legitimate reasons to be absent more than 4 times, then supporting document should be provided for all her/his absences,&lt;br /&gt;
* if there are not failing components, the final grade will be computed as a weighted average of the components above approximated at the highest second digit and then rounded to the closest integer.&lt;br /&gt;
&lt;br /&gt;
Note that the questions for the exam are taken from the textbooks with possible modifications of some parts of them.&lt;br /&gt;
&lt;br /&gt;
=== Retakes ===&lt;br /&gt;
&lt;br /&gt;
Retakes will be run as comprehensive oral exam, where the student will be assessed the acquired knowledge coming from the textbooks, the lectures, the tutorials, the labs, and the additional required reading material, as supplied by the instructor. During such comprehensive oral the student could be asked to solve exercises and to explain theoretical and practical aspects of the course.&lt;br /&gt;
&lt;br /&gt;
=== Grades range ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;tab:OSCourseGradingRange&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|+ Course grading range&lt;br /&gt;
|-&lt;br /&gt;
| A. Excellent&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 96-100&lt;br /&gt;
|-&lt;br /&gt;
| B. Good&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 66-95&lt;br /&gt;
|-&lt;br /&gt;
| C. Satisfactory&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 56-65&lt;br /&gt;
|-&lt;br /&gt;
| D. Poor&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0-55&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Resources and reference material ===&lt;br /&gt;
&lt;br /&gt;
* '''Textbook:''' Andrew S. Tanenbaum and Herbert Bos. ''Modern Operating Systems'' (5th Edition), Pearson&lt;br /&gt;
* '''Reference:''' Andrew S. Tanenbaum and David J. Wetherall. Computer Networks (5th Edition), Pearson&lt;br /&gt;
* '''Reference:''' Brian W. Kernighan, Dennis M. Ritchie. The C Programming Language - 2nd Edition, Prentice Hall&lt;br /&gt;
* '''Reference:''' Maurice J.Bach. The design of the Unix Operating System, PRENTICE-HALL, INC., Englewood Cliffs, New Jersey 07632&lt;br /&gt;
&lt;br /&gt;
== Course Sections ==&lt;br /&gt;
&lt;br /&gt;
The course is organized in 15 weeks with every weeks 2 academics hours of lectures, 2 academic hours of labs, and 2 academic hours of tutorials. The main sections of the course and approximate hour distribution between them is as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;tab:OSCourseSections&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|+ Course Sections&lt;br /&gt;
!align=&amp;quot;center&amp;quot;| '''Section'''&lt;br /&gt;
! '''Section Title'''&lt;br /&gt;
!align=&amp;quot;center&amp;quot;| '''Teaching Hours'''&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
| Revision of programming fundamentals for OS&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 12&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 2&lt;br /&gt;
| Processes and threads&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 24&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 3&lt;br /&gt;
| Memory management&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 24&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 4&lt;br /&gt;
| File system, I/O, and management of resources&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 30&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Section 1 ===&lt;br /&gt;
&lt;br /&gt;
==== Section title: Revision of programming fundamentals for OS ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Topics covered in this section: ==== &lt;br /&gt;
&lt;br /&gt;
* Revision of the structure of a C program&lt;br /&gt;
* Overall organization of the computation in C&lt;br /&gt;
* Preprocessing&lt;br /&gt;
* Simulating function calls in preprocessing&lt;br /&gt;
* Analogies between macros and call by name&lt;br /&gt;
* Meaning of a variable in C&lt;br /&gt;
* Scope and extent of a variable&lt;br /&gt;
* Managing data structures with variable length&lt;br /&gt;
* Allocation and deallocation of memory&lt;br /&gt;
* Pointers and pointer arithmentics&lt;br /&gt;
* Pointers to functions&lt;br /&gt;
* Usage of pointers to function to simulate virtual functions&lt;br /&gt;
* Examples of usage of pointers to function in real life scenarios&lt;br /&gt;
* Pointers to functions to perform map and reduce&lt;br /&gt;
&lt;br /&gt;
==== What forms of evaluation were used to test students’ performance in this section? ==== &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;tab:OSSectionEval1&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|+ What forms of evaluation were used to test students’ performance in this section?&lt;br /&gt;
!align=&amp;quot;center&amp;quot;| ''' '''&lt;br /&gt;
! '''Yes/No'''&lt;br /&gt;
|-&lt;br /&gt;
| Development of individual parts of software product code&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Homework and group projects&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Midterm evaluation&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Testing (written or computer based)&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Reports&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Essays&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Oral polls&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Discussions&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==== Typical questions for ongoing performance evaluation within this section ==== &lt;br /&gt;
&lt;br /&gt;
# Explain the difference between an include file and a library.&lt;br /&gt;
# Is a parameter of a macro a “real” parameter?&lt;br /&gt;
# Discuss the importance of the conditional compilation.&lt;br /&gt;
# What happens when a function returning a pointer returns the address of a local variable?&lt;br /&gt;
# Detail the meaning of the keyword static and external for supporting information hiding.&lt;br /&gt;
# Describe how the use of virtual functions can make the code more flexible.&lt;br /&gt;
&lt;br /&gt;
==== Typical questions for seminar classes (labs) within this section ==== &lt;br /&gt;
&lt;br /&gt;
# Given a source .c file including a .h header file, show the results of preprossing in terms of the generated c file.&lt;br /&gt;
# Write a macro and a function in C for the same purpose and discuss pros and cons of both approaches.&lt;br /&gt;
# Show how you can write a generic swap function as a macro.&lt;br /&gt;
# Write the code allocating dynamic memory for a 2 dimensional array and initializing it.&lt;br /&gt;
# Provide an example of how with pointers it is possible in the called function to alter values of variable located in the calling function.&lt;br /&gt;
# Using function pointers, write a sorting function having the sorting rule as a parameter of such function.&lt;br /&gt;
&lt;br /&gt;
==== Test questions for final assessment in this section ==== &lt;br /&gt;
&lt;br /&gt;
# Discuss the difference in the compiled code when using function and when using macros instead.&lt;br /&gt;
# Provide examples of functions that cannot be transformed into macros, also discussing the motivation for such impossibility.&lt;br /&gt;
# Describe the rules for scope and extent for local variables, static variables (in all cases), and pointers, supplying also code examples of them.&lt;br /&gt;
# Detail the structure of the address space of a process when using a three dimensional array allocated as a local variable of a function and when such array is allocated dynamically, also describe the types of the variables in use and how the compiler checks them.&lt;br /&gt;
# Outline the assembly code for a function calling another function passed as a parameter of it.&lt;br /&gt;
&lt;br /&gt;
=== Section 2 ===&lt;br /&gt;
&lt;br /&gt;
==== Section title: Processes and Threads ==== &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====  Topics covered in this section: ==== &lt;br /&gt;
&lt;br /&gt;
* Process models&lt;br /&gt;
* Process creation and termination&lt;br /&gt;
* Process hierarchies&lt;br /&gt;
* Process states&lt;br /&gt;
* Implementation of processes&lt;br /&gt;
* Threads&lt;br /&gt;
* Interprocess communication&lt;br /&gt;
* Races&lt;br /&gt;
* Critical regions, busy waiting, sleep and wakeup&lt;br /&gt;
* Semaphores&lt;br /&gt;
* Monitors&lt;br /&gt;
* Principles of scheduling&lt;br /&gt;
* Categories of scheduling algorithms&lt;br /&gt;
* Most common approaches for scheduling in interactive systems&lt;br /&gt;
&lt;br /&gt;
====  What forms of evaluation were used to test students’ performance in this section? ==== &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;tab:OSSectionEval2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|+ What forms of evaluation were used to test students’ performance in this section?&lt;br /&gt;
!align=&amp;quot;center&amp;quot;| ''' '''&lt;br /&gt;
! '''Yes/No'''&lt;br /&gt;
|-&lt;br /&gt;
| Development of individual parts of software product code&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Homework and group projects&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Midterm evaluation&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Testing (written or computer based)&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Reports&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Essays&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Oral polls&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Discussions&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
====  Typical questions for ongoing performance evaluation within this section ==== &lt;br /&gt;
&lt;br /&gt;
# Outline the typical life of a process from creation to termination&lt;br /&gt;
# Present the different possible models of waiting&lt;br /&gt;
# Define the concept of a semaphore and how it can be implemented&lt;br /&gt;
# Explain the concept of a monitor from a programming standpoint and how it relates to modern programming paradigms.&lt;br /&gt;
# Discuss advantages and disadvantages of the different scheduling algorithms&lt;br /&gt;
&lt;br /&gt;
==== Typical questions for seminar classes (labs) within this section ==== &lt;br /&gt;
&lt;br /&gt;
# Write a shell script that produces a file of sequential numbers by reading the last number in the file, adding 1 to it, and then appending it to the file. Run one instance of the script in the background and one in the foreground, each accessing the same file. Answer the following questions: (a) How long does it take before a race condition manifests itself? (b) What is the critical region? (c) How you can modify the script to prevent the race&lt;br /&gt;
# Write a producer-consumer problem that uses threads and shares a common buffer. However, do not use semaphores or any other synchronization primitives to guard the shared data structures. Just let each thread access them when it wants to. Use sleep and wakeup to handle the full and empty conditions. See how long it takes for a fatal race condition to occur. For example, you might have the producer print a number once in a while. Do not print more than one number every minute because the I/O could affect the race conditions.&lt;br /&gt;
# Write a program that creates a pipe. Have two strings – one should contain some text, the other one should be empty. Transfer a text from the first string to another one using the pipe you created. Show the result.&lt;br /&gt;
# Write a C program that forks a child process, waits for 10 seconds and then sends a SIGTERM signal to the child. The child process should run an infinite loop and print “I’m alive” every second&lt;br /&gt;
# Write the solution for the produced-consumer problem using monitors.&lt;br /&gt;
&lt;br /&gt;
==== Test questions for final assessment in this section ==== &lt;br /&gt;
&lt;br /&gt;
# ''From the textbook:'' Multiple jobs can run in parallel and finish faster than if they had run sequentially. Suppose that two jobs, each needing 20 minutes of CPU time, start simultaneously. How long will the last one take to complete if they run sequentially? How long if they run in parallel? Assume 50% I/O wait.&lt;br /&gt;
# ''From the textbook:'' The readers and writers problem can be formulated in several ways with regard to which category of processes can be started when. Carefully describe three different variations of the problem, each one favoring (or not favoring) some category of processes. For each variation, specify what happens when a reader or a writer becomes ready to access the database, and what happens when a process is finished?&lt;br /&gt;
# ''From the textbook:'' Consider a system in which threads are implemented entirely in user space, with the run-time system getting a clock interrupt once a second. Suppose that a clock interrupt occurs while some thread is executing in the run-time system. What problem might occur? Can you suggest a way to solve it?&lt;br /&gt;
# ''From the textbook:'' In this problem you are to compare reading a file using a single-threaded file server and a multithreaded server. It takes 12 msec to get a request for work, dispatch it, and do the rest of the necessary processing, assuming that the data needed are in the block cache. If a disk operation is needed, as is the case one-third of the time, an additional 75 msec is required, during which time the thread sleeps. How many requests/sec can the server handle if it is single threaded? If it is multithreaded?&lt;br /&gt;
# ''From the textbook:'' There are five batch jobs: A through E, they arrive at a computer center at almost the same time. They have estimated running times of 10, 6, 2, 4, and 8 minutes. Their (externally determined) priorities are 3, 5, 2, 1, and 4, respectively, with 5 being the highest priority. Consider the following scheduling algorithms: '''(a)''' Round robin, '''(b)''' Priority scheduling, '''(c)''' First-come, first-served (run in order 10, 6, 2, 4, 8), '''(d)''' Shortest job first. For each mentioned scheduling algorithms, determine the mean process turnaround time. Ignore process switching overhead. For (a), assume that the system is multi-programmed, and that each job gets its fair share of the CPU. For (b) through (d), assume that only one job at a time runs, until it finishes. All jobs are completely CPU bound.&lt;br /&gt;
&lt;br /&gt;
=== Section 3 ===&lt;br /&gt;
&lt;br /&gt;
====  Section title: Memory management ==== &lt;br /&gt;
&lt;br /&gt;
====  Topics covered in this section: ==== &lt;br /&gt;
&lt;br /&gt;
* Address space&lt;br /&gt;
* Memory abstraction&lt;br /&gt;
* Based and limit registers&lt;br /&gt;
* Swapping&lt;br /&gt;
* Virtual memory&lt;br /&gt;
* Paging&lt;br /&gt;
* Implementation of paging&lt;br /&gt;
* Page replacement algorithms&lt;br /&gt;
* Page faults&lt;br /&gt;
* Segmentation&lt;br /&gt;
* Segmentation with paging&lt;br /&gt;
&lt;br /&gt;
====  What forms of evaluation were used to test students’ performance in this section? ==== &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;tab:OSSectionEval3&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|+ What forms of evaluation were used to test students’ performance in this section?&lt;br /&gt;
!align=&amp;quot;center&amp;quot;| ''' '''&lt;br /&gt;
! '''Yes/No'''&lt;br /&gt;
|-&lt;br /&gt;
| Development of individual parts of software product code&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Homework and group projects&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Midterm evaluation&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Testing (written or computer based)&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Reports&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Essays&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Oral polls&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Discussions&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
====  Typical questions for ongoing performance evaluation within this section ==== &lt;br /&gt;
&lt;br /&gt;
# What are the base and limit registers and what are the problems related to their usage?&lt;br /&gt;
# Can you have swapping in absence of paging? And paging in absence of swapping?&lt;br /&gt;
# What mechanisms and algorithms are available to handle effectively paging?&lt;br /&gt;
# Details advantages and disadvantages of the different page replacement algorithms.&lt;br /&gt;
# Describe the difference between paging and segmenting.&lt;br /&gt;
# Is it possible to combine segmenting and paging? If so, how?&lt;br /&gt;
&lt;br /&gt;
====  Typical questions for seminar classes (labs) within this section ==== &lt;br /&gt;
&lt;br /&gt;
# Run ‘free -t -h‘ in a Linux shell or ‘vmstat‘ in a macOS one. Discuss the output.&lt;br /&gt;
# Write a C program that runs for 10 seconds. Every second it should: (a) allocate 10 MB of memory – fill it with zeros, (b) sleep for 1 second. Then, compile and run the program in the background (./ex2 &amp;amp;amp;) and run ‘vmstat 1’ at the same time. Observe what happens to the memory. Pay attention to si and so fields. ''Hint:'' use memset(ptr, value, size) to fill the allocated memory.&lt;br /&gt;
# Write a program that simulates a paging system using the ageing algorithm. The number of page frames is a parameter. The sequence of page references should be read from a file. For a given input file, your program should print Hit/Miss ratio.&lt;br /&gt;
# Try to construct a sequence of references that will result in increased or decreased Hit/Miss ratio.&lt;br /&gt;
# ''From the textbook:'' A machine has 16-bit virtual addresses. Pages are 8 KB. How many entries are needed for a single-level linear page table? Explain your computations.&lt;br /&gt;
&lt;br /&gt;
====  Test questions for final assessment in this section ==== &lt;br /&gt;
&lt;br /&gt;
# ''From the textbook:'' A computer provides each process with 65,536 bytes of address space divided into pages of 4096 bytes each. A particular program has a text size of 32,768 bytes, a data size of 16,386 bytes, and a stack size of 15,870 bytes. Will this program fit in the machine’s address space? Suppose that instead of 4096 bytes, the page size were 512 bytes, would it then fit? Each page must contain either text, data, or stack, not a mixture of two or three of them.&lt;br /&gt;
# ''From the textbook:'' You are given the following data about a virtual memory system: '''1.''' The TLB can hold 1024 entries and can be accessed in 1 clock cycle (1 nsec). '''2.''' A page table entry can be found in 100 clock cycles or 100 nsec. '''3.'''The average page replacement time is 6 msec. If page references are handled by the TLB 99% of the time, and only 0.01% lead to a page fault, what is the effective address-translation time?&lt;br /&gt;
# ''From the textbook:'' A small computer on a smart card has four page frames. At the first clock tick, the R bits are 0111 (page 0 is 0, the rest are 1). At subsequent clock ticks, the values are 1011, 1010, 1101, 0010, 1010, 1100, and 0001. If the aging algorithm is used with an 8-bit counter, give the values of the four counters after the last tick.&lt;br /&gt;
# ''From the textbook:'' A computer with a 32-bit address uses a two-level page table. Virtual addresses are split into a 9-bit top-level page table field, an 11-bit second-level page table field, and an offset. How large are the pages and how many are there in the address space?&lt;br /&gt;
# ''From the textbook:'' A computer has 32-bit virtual addresses and 4-KB pages. The program and data together fit in the lowest page (0–4095) The stack fits in the highest page. How many entries are needed in the page table if traditional (one-level) paging is used? How many page table entries are needed for two-level paging, with 10 bits in each part?&lt;br /&gt;
&lt;br /&gt;
=== Section 4 ===&lt;br /&gt;
&lt;br /&gt;
====  Section title: File system, I/O, and management of resources ==== &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====  Topics covered in this section: ==== &lt;br /&gt;
&lt;br /&gt;
* File system&lt;br /&gt;
* Files and files types, attributes, and operations&lt;br /&gt;
* Paths&lt;br /&gt;
* File system layout&lt;br /&gt;
* Shared files&lt;br /&gt;
* File system backups&lt;br /&gt;
* FIle system performances&lt;br /&gt;
* General structure of I/O&lt;br /&gt;
* Block devices and character devices&lt;br /&gt;
* Device drivers&lt;br /&gt;
* Memory mapped I/O and Direct Memory Access&lt;br /&gt;
* Interrups&lt;br /&gt;
* Programmed I/O&lt;br /&gt;
* Deadlocks&lt;br /&gt;
* Conditions for deadlocks&lt;br /&gt;
* Strategies to dead with dealock&lt;br /&gt;
&lt;br /&gt;
====  What forms of evaluation were used to test students’ performance in this section? ==== &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;tab:OSSectionEval4&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|+ What forms of evaluation were used to test students’ performance in this section?&lt;br /&gt;
!align=&amp;quot;center&amp;quot;| ''' '''&lt;br /&gt;
! '''Yes/No'''&lt;br /&gt;
|-&lt;br /&gt;
| Development of individual parts of software product code&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Homework and group projects&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Midterm evaluation&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Testing (written or computer based)&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Reports&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Essays&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0&lt;br /&gt;
|-&lt;br /&gt;
| Oral polls&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| Discussions&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
====  Typical questions for ongoing performance evaluation within this section ==== &lt;br /&gt;
&lt;br /&gt;
# What is the overall structure of a file system&lt;br /&gt;
# How are files and directories organized on a disk and what are the roles of i-nodes, when they are used&lt;br /&gt;
# What are the key differences between block and character devices.&lt;br /&gt;
# How does DMA speeds up the computations?&lt;br /&gt;
# List the major classes of strategies to handle deadlock.&lt;br /&gt;
&lt;br /&gt;
====  Typical questions for seminar classes (labs) within this section ==== &lt;br /&gt;
&lt;br /&gt;
# Create tmp directory with two empty files (file1, file2). Then, create one hard link named link1 to file1. Write a program that scans tmp directory, locates all i-nodes with a hard link count of two or more and for each such file it should display together all file names that point to the file.&lt;br /&gt;
# Implement a simulated file system that will be fully contained in a single regular file stored on the disk. This disk file will contain directories, i-nodes, free- block information, file data blocks, etc. Choose appropriate algorithms for maintaining free-block information and for allocating data blocks (contiguous, indexed, linked). Your program will accept system commands from the user to create/delete directories, create/delete/open files, read/write from/to a selected file, and to list directory contents.&lt;br /&gt;
# Create a file ex1.txt with a random string in it. Write a C program (ex1.c) that changes the string in ex1.txt to “This is a nice day” by using mmap(). Hints: '''(a)''' open the file in O_RDWR mode, '''(b)''' use stat() or fstat() to get the size of the file.&lt;br /&gt;
# Write a C program (ex2.c) using line buffer. Write your code according to the instructions: '''(a)''' each of the 5 characters of “Hello” string should be put in separate printf(), '''(b)''' add a 1 sec sleep after every printf(). The output should be a 5 sec wait and then “Hello” printed instantaneously.&lt;br /&gt;
# The tee command reads its standard input until end-of- file, writing a copy of the input to standard output and to the files named in its command-line arguments. Implement tee using I/O system calls. By default, tee overwrites any existing file with the given name. Implement the -a command-line option (tee -a file), which causes tee to append text to the end of a file if it already exists.&lt;br /&gt;
# Write a C program for deadlock detection algorithm reading the resources available form a file (input.txt). For testing purposes consider 5 processes and 3 type of resources. However, your program must be able to process as many processes and resource types, as needed (check next slide for input file structure description). The output of your program should either say that no deadlock is detected or print out the numbers of processes that are deadlocked.&lt;br /&gt;
&lt;br /&gt;
====  Test questions for final assessment in this section ==== &lt;br /&gt;
&lt;br /&gt;
# ''From the textbook:'' Two computer science students, Carolyn and Elinor, are having a discussion about i-nodes. Carolyn maintains that memories have gotten so large and so cheap that when a file is opened, it is simpler and faster just to fetch a new copy of the i-node into the i-node table, rather than search the entire table to see if it is already there. Elinor disagrees. Who is right? Why?&lt;br /&gt;
# ''From the textbook:'' A typical printed page of text contains 50 lines of 80 characters each. Imagine that a certain printer can print 6 pages per minute and that the time to write a character to the printer’s output register is so short it can be ignored. Does it make sense to run this printer using interrupt-driven I/O if each character printed requires an interrupt that takes 50 &amp;lt;math display=&amp;quot;inline&amp;quot;&amp;gt;\mu&amp;lt;/math&amp;gt;sec all-in to service?&lt;br /&gt;
# ''From the textbook:'' Consider a disk that has 10 data blocks starting from block 14 through 23. Let there be 2 files on the disk: f1 and f2. The directory structure lists that the first data blocks of f1 and f2 are respectively 22 and 16. The FAT table is as follows: (14,18), (15,17), (16,23), (17,21), (18,20), (19,15), (20,-1), (21,-1), (22,19), (23,14), where (x,y) indicates that the value stored in table entry x points to data block y. What are the data blocks allotted to f1 and f2?&lt;br /&gt;
# ''From the textbook:'' Explain how hard links and soft links differ with respective to i-node allocations.&lt;br /&gt;
# ''From the textbook:'' When a user program makes a system call to read or write a disk file, it provides an indication of which file it wants, a pointer to the data buffer, and the count. Control is then transferred to the operating system, which calls the appropriate driver. Suppose that the driver starts the disk and terminates until an interrupt occurs. In the case of reading from the disk, obviously the caller will have to be blocked (because there are no data for it). What about the case of writing to the disk? Need the caller be blocked awaiting completion of the disk transfer?&lt;br /&gt;
# ''From the textbook:'' The banker’s algorithm is being run in a system with m resource classes and n processes. In the limit of large m and n, the number of operations that must be performed to check a state for safety is proportional to m&amp;lt;math display=&amp;quot;inline&amp;quot;&amp;gt;^a&amp;lt;/math&amp;gt;n&amp;lt;math display=&amp;quot;inline&amp;quot;&amp;gt;^b&amp;lt;/math&amp;gt; . What are the values of a and b ?&lt;/div&gt;</summary>
		<author><name>A.kruglov</name></author>
	</entry>
	<entry>
		<id>https://eduwiki.innopolis.university/index.php?title=BSc:_Operating_Systems&amp;diff=274</id>
		<title>BSc: Operating Systems</title>
		<link rel="alternate" type="text/html" href="https://eduwiki.innopolis.university/index.php?title=BSc:_Operating_Systems&amp;diff=274"/>
		<updated>2021-08-16T08:11:13Z</updated>

		<summary type="html">&lt;p&gt;A.kruglov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Operating Systems =&lt;br /&gt;
&lt;br /&gt;
Course name: Operating Systems&lt;br /&gt;
Course number: R-01&lt;br /&gt;
&lt;br /&gt;
== Course characteristics ==&lt;br /&gt;
&lt;br /&gt;
=== Key concepts of the class ===&lt;br /&gt;
&lt;br /&gt;
* Structure of an operating system&lt;br /&gt;
* Specific mechanisms, policies, and algorithms used to implement the different parts of an operating system&lt;br /&gt;
&lt;br /&gt;
=== What is the purpose of this course? ===&lt;br /&gt;
&lt;br /&gt;
Operating systems are the core part of a computing device and computing devices are an integral part of our life, not only as programmers, but also just as human being – it is enough to think at smart homes infrastructures, now available at accessible prices to everyone, at car devices, like smart navigator and cruise control systems, at other infrastructures. Therefore, a fundamental understanding of the structure of an operating systems has a paramount role in the curriculum of a student in computer science and engineering. The purpose of this course is to provide such understanding. This is a core course, so it is not among its goals to explore the details of the various proposal for operating systems that are now emerging: this is the subject of more advanced endeavours.&lt;br /&gt;
&lt;br /&gt;
=== Course Objectives Based on Bloom’s Taxonomy ===&lt;br /&gt;
&lt;br /&gt;
=== - What should a student remember at the end of the course? ===&lt;br /&gt;
&lt;br /&gt;
By the end of the course, the students should be able to recognize and define:&lt;br /&gt;
&lt;br /&gt;
* fundamental components of an Operating Systems,&lt;br /&gt;
* organization of primary memory and the associated concept of virtual memory, with techniques based on paging and segmenting,&lt;br /&gt;
* structure of secondary memory (file systems),&lt;br /&gt;
* management of the processor(s) and of the connected scheduling algorithms,&lt;br /&gt;
* allocation of resources and the associated problems (deadlocks),&lt;br /&gt;
* approaches to handle I/O.&lt;br /&gt;
&lt;br /&gt;
=== - What should a student be able to understand at the end of the course? ===&lt;br /&gt;
&lt;br /&gt;
By the end of the course, the students should be able to describe and explain (with examples):&lt;br /&gt;
&lt;br /&gt;
* strategies and algorithms for allocating processor(s) time to processes,&lt;br /&gt;
* strategies and algorithms for allocating primary memory to processes,&lt;br /&gt;
* the fundamental states of a process and how they are reached,&lt;br /&gt;
* concept and implementation of the address space of a process, both in the single threaded and in the multi threaded cases.&lt;br /&gt;
* techniques to organize files and directories in secondary memory,&lt;br /&gt;
* algorithms for a safe concurrent access to resources, preventing or avoiding deadlocks,&lt;br /&gt;
* methods for attaching different kind of devices to a computer, also considering different kind of buses.&lt;br /&gt;
&lt;br /&gt;
=== - What should a student be able to apply at the end of the course? ===&lt;br /&gt;
&lt;br /&gt;
By the end of the course, the students should be able to apply:&lt;br /&gt;
&lt;br /&gt;
* strategies for programming at the Operating System level,&lt;br /&gt;
* fundamental system calls for process creation, termination,&lt;br /&gt;
* fundamental system calls to allocate, change, and deallocate primary memory to processes,&lt;br /&gt;
* libraries to handle buffered and unbuffered interconnections with the computer, including files and I/O devices,&lt;br /&gt;
* the identification of the most suitable algorithms for process, memory, and I/O management depending on the context in which their target operating system is working.&lt;br /&gt;
&lt;br /&gt;
=== Course evaluation ===&lt;br /&gt;
&lt;br /&gt;
The course has two major forms of evaluations:&lt;br /&gt;
&lt;br /&gt;
* a standard evaluation,&lt;br /&gt;
* for very motivated students, an alternative form of evaluation.&lt;br /&gt;
&lt;br /&gt;
The '''standard evaluation''' follows.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;tab:OSCourseGrading&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|+ '''Course grade breakdown'''&lt;br /&gt;
!align=&amp;quot;center&amp;quot;| '''Component'''&lt;br /&gt;
! '''Points'''&lt;br /&gt;
|-&lt;br /&gt;
| Labs/seminar classes (weekly evaluations)&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 35 &amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Interim performance assessment (class participation)&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 5&lt;br /&gt;
|-&lt;br /&gt;
| Exams&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 65 &amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; Of which 15 for online test done during the tutorial, 15 for homeworks related to labs and 5 for professor discretion.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; Of which 35% for the written and 30% for the oral.&lt;br /&gt;
&lt;br /&gt;
Note: A student who has earned 70% of the grade before the oral exam (meaning 49% of the total grade), can apply for exemption to such oral exam, unless explicitly required by the instructor to take it, at full discretion of the instructor. In such case the grade final grade is computed as follows: all the grades below a total of 55% will award a C and all the one from 55% onward (up to 70%) will award a B. A student aiming at an A in the course has to do the oral exam.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
The '''alternative evaluation''' follows.&lt;br /&gt;
&lt;br /&gt;
The alternative form of evaluation assumes attendance to all lecture and always a grade above 9/10 or equivalent. Students interested to opt for this approach need to inform Xavier Vasquez about their choice no later than during the third Tutorial (1st September). If during the semester a student fails to satisfy the criteria for taking the alternative form of evaluation, s/he is automatically reverted to the standard evaluation.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|+ '''Course grade breakdown'''&lt;br /&gt;
!align=&amp;quot;center&amp;quot;| '''Component'''&lt;br /&gt;
! '''Points'''&lt;br /&gt;
|-&lt;br /&gt;
| Labs/seminar classes (weekly evaluations)&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 20 &amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Interim performance assessment (class participation)&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 5&lt;br /&gt;
|-&lt;br /&gt;
| Solutions to questions of Bach directly in the text&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 50&lt;br /&gt;
|-&lt;br /&gt;
| Exams&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 25 &amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; Of which 10 for online test done during the tutorial and 10 for homeworks related to labs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; Special cumulative oral.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''In both case''' each component apart from homeworks will be assessed on a scale 0-10, where 6 is the minimum passing grade. In case of exceptional work a 10 cum laude will be assigned, with a numeric value from 11 to 13 at discretion of the instructor. The homeworks will be initially graded on a scale 0-2 weekly and then the overall grade will be assembled on a scale 0-10.&amp;lt;br /&amp;gt;&lt;br /&gt;
The grading, though, is not a simple linear combination of the components above. In particular:&lt;br /&gt;
&lt;br /&gt;
* failing any part of the evaluation will trigger a failure in the entire course,&lt;br /&gt;
* the online test done during the tutorial, and the homeworks related to labs will be both averaged on the (n-4) best performances, where the 4 will be used to consider any kind of absence of the student, without requiring any additional documentation; if the student has legitimate reasons to be absent more than 4 times, then supporting document should be provided for all her/his absences,&lt;br /&gt;
* if there are not failing components, the final grade will be computed as a weighted average of the components above approximated at the highest second digit and then rounded to the closest integer.&lt;br /&gt;
&lt;br /&gt;
Note that the questions for the exam are taken from the textbooks with possible modifications of some parts of them.&lt;br /&gt;
&lt;br /&gt;
=== Retakes ===&lt;br /&gt;
&lt;br /&gt;
Retakes will be run as comprehensive oral exam, where the student will be assessed the acquired knowledge coming from the textbooks, the lectures, the tutorials, the labs, and the additional required reading material, as supplied by the instructor. During such comprehensive oral the student could be asked to solve exercises and to explain theoretical and practical aspects of the course.&lt;br /&gt;
&lt;br /&gt;
=== Grades range ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;tab:OSCourseGradingRange&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|+ Course grading range&lt;br /&gt;
|-&lt;br /&gt;
| A. Excellent&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 96-100&lt;br /&gt;
|-&lt;br /&gt;
| B. Good&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 66-95&lt;br /&gt;
|-&lt;br /&gt;
| C. Satisfactory&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 56-65&lt;br /&gt;
|-&lt;br /&gt;
| D. Poor&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 0-55&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Resources and reference material ===&lt;br /&gt;
&lt;br /&gt;
* '''Textbook:''' Andrew S. Tanenbaum and Herbert Bos. ''Modern Operating Systems'' (5th Edition), Pearson&lt;br /&gt;
* '''Reference:''' Andrew S. Tanenbaum and David J. Wetherall. Computer Networks (5th Edition), Pearson&lt;br /&gt;
* '''Reference:''' Brian W. Kernighan, Dennis M. Ritchie. The C Programming Language - 2nd Edition, Prentice Hall&lt;br /&gt;
* '''Reference:''' Maurice J.Bach. The design of the Unix Operating System, PRENTICE-HALL, INC., Englewood Cliffs, New Jersey 07632&lt;br /&gt;
&lt;br /&gt;
== Course Sections ==&lt;br /&gt;
&lt;br /&gt;
The course is organized in 15 weeks with every weeks 2 academics hours of lectures, 2 academic hours of labs, and 2 academic hours of tutorials. The main sections of the course and approximate hour distribution between them is as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;tab:OSCourseSections&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing: 2px; border: 1px solid darkgray;&amp;quot;&lt;br /&gt;
|+ Course Sections&lt;br /&gt;
!align=&amp;quot;center&amp;quot;| '''Section'''&lt;br /&gt;
! '''Section Title'''&lt;br /&gt;
!align=&amp;quot;center&amp;quot;| '''Teaching Hours'''&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1&lt;br /&gt;
| Revision of programming fundamentals for OS&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 12&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 2&lt;br /&gt;
| Processes and threads&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 30&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 3&lt;br /&gt;
| Memory management&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 30&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 4&lt;br /&gt;
| File system, I/O, and management of resources&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 18&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Section 1 ===&lt;br /&gt;
&lt;br /&gt;
==== Section title: Revision of programming fundamentals for OS ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Topics covered in this section: ==== &lt;br /&gt;
&lt;br /&gt;
* Revision of the structure of a C program&lt;br /&gt;
* Overall organization of the computation in C&lt;br /&gt;
* Preprocessing&lt;br /&gt;
* Simulating function calls in preprocessing&lt;br /&gt;
* Analogies between macros and call by name&lt;br /&gt;
* Meaning of a variable in C&lt;br /&gt;
* Scope and extent of a variable&lt;br /&gt;
* Managing data structures with variable length&lt;br /&gt;
* Allocation and deallocation of memory&lt;br /&gt;
* Pointers and pointer arithmentics&lt;br /&gt;
* Pointers to functions&lt;br /&gt;
* Usage of pointers to function to simulate virtual functions&lt;br /&gt;
* Examples of usage of pointers to function in real life scenarios&lt;br /&gt;
* Pointers to functions to perform map and reduce&lt;br /&gt;
&lt;br /&gt;
==== What forms of evaluation were used to test students’ performance in this section? ==== &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;tabular&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span&amp;gt;|a|c|&amp;lt;/span&amp;gt; &amp;amp;amp; '''Yes/No'''&amp;lt;br /&amp;gt;&lt;br /&gt;
Development of individual parts of software product code &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
Homework and group projects &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
Midterm evaluation &amp;amp;amp; 0&amp;lt;br /&amp;gt;&lt;br /&gt;
Testing (written or computer based) &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
Reports &amp;amp;amp; 0&amp;lt;br /&amp;gt;&lt;br /&gt;
Essays &amp;amp;amp; 0&amp;lt;br /&amp;gt;&lt;br /&gt;
Oral polls &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
Discussions &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
==== Typical questions for ongoing performance evaluation within this section ==== &lt;br /&gt;
&lt;br /&gt;
# Explain the difference between an include file and a library.&lt;br /&gt;
# Is a parameter of a macro a “real” parameter?&lt;br /&gt;
# Discuss the importance of the conditional compilation.&lt;br /&gt;
# What happens when a function returning a pointer returns the address of a local variable?&lt;br /&gt;
# Detail the meaning of the keyword static and external for supporting information hiding.&lt;br /&gt;
# Describe how the use of virtual functions can make the code more flexible.&lt;br /&gt;
&lt;br /&gt;
==== Typical questions for seminar classes (labs) within this section ==== &lt;br /&gt;
&lt;br /&gt;
# Given a source .c file including a .h header file, show the results of preprossing in terms of the generated c file.&lt;br /&gt;
# Write a macro and a function in C for the same purpose and discuss pros and cons of both approaches.&lt;br /&gt;
# Show how you can write a generic swap function as a macro.&lt;br /&gt;
# Write the code allocating dynamic memory for a 2 dimensional array and initializing it.&lt;br /&gt;
# Provide an example of how with pointers it is possible in the called function to alter values of variable located in the calling function.&lt;br /&gt;
# Using function pointers, write a sorting function having the sorting rule as a parameter of such function.&lt;br /&gt;
&lt;br /&gt;
==== Test questions for final assessment in this section ==== &lt;br /&gt;
&lt;br /&gt;
# Discuss the difference in the compiled code when using function and when using macros instead.&lt;br /&gt;
# Provide examples of functions that cannot be transformed into macros, also discussing the motivation for such impossibility.&lt;br /&gt;
# Describe the rules for scope and extent for local variables, static variables (in all cases), and pointers, supplying also code examples of them.&lt;br /&gt;
# Detail the structure of the address space of a process when using a three dimensional array allocated as a local variable of a function and when such array is allocated dynamically, also describe the types of the variables in use and how the compiler checks them.&lt;br /&gt;
# Outline the assembly code for a function calling another function passed as a parameter of it.&lt;br /&gt;
&lt;br /&gt;
=== Section 2 ===&lt;br /&gt;
&lt;br /&gt;
==== Section title: Processes and Threads ==== &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====  Topics covered in this section: ==== &lt;br /&gt;
&lt;br /&gt;
* Process models&lt;br /&gt;
* Process creation and termination&lt;br /&gt;
* Process hierarchies&lt;br /&gt;
* Process states&lt;br /&gt;
* Implementation of processes&lt;br /&gt;
* Threads&lt;br /&gt;
* Interprocess communication&lt;br /&gt;
* Races&lt;br /&gt;
* Critical regions, busy waiting, sleep and wakeup&lt;br /&gt;
* Semaphores&lt;br /&gt;
* Monitors&lt;br /&gt;
* Principles of scheduling&lt;br /&gt;
* Categories of scheduling algorithms&lt;br /&gt;
* Most common approaches for scheduling in interactive systems&lt;br /&gt;
&lt;br /&gt;
====  What forms of evaluation were used to test students’ performance in this section? ==== &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;tabular&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span&amp;gt;|a|c|&amp;lt;/span&amp;gt; &amp;amp;amp; '''Yes/No'''&amp;lt;br /&amp;gt;&lt;br /&gt;
Development of individual parts of software product code &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
Homework and group projects &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
Midterm evaluation &amp;amp;amp; 0&amp;lt;br /&amp;gt;&lt;br /&gt;
Testing (written or computer based) &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
Reports &amp;amp;amp; 0&amp;lt;br /&amp;gt;&lt;br /&gt;
Essays &amp;amp;amp; 0&amp;lt;br /&amp;gt;&lt;br /&gt;
Oral polls &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
Discussions &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
====  Typical questions for ongoing performance evaluation within this section ==== &lt;br /&gt;
&lt;br /&gt;
# Outline the typical life of a process from creation to termination&lt;br /&gt;
# Present the different possible models of waiting&lt;br /&gt;
# Define the concept of a semaphore and how it can be implemented&lt;br /&gt;
# Explain the concept of a monitor from a programming standpoint and how it relates to modern programming paradigms.&lt;br /&gt;
# Discuss advantages and disadvantages of the different scheduling algorithms&lt;br /&gt;
&lt;br /&gt;
==== Typical questions for seminar classes (labs) within this section ==== &lt;br /&gt;
&lt;br /&gt;
# Write a shell script that produces a file of sequential numbers by reading the last number in the file, adding 1 to it, and then appending it to the file. Run one instance of the script in the background and one in the foreground, each accessing the same file. Answer the following questions: (a) How long does it take before a race condition manifests itself? (b) What is the critical region? (c) How you can modify the script to prevent the race&lt;br /&gt;
# Write a producer-consumer problem that uses threads and shares a common buffer. However, do not use semaphores or any other synchronization primitives to guard the shared data structures. Just let each thread access them when it wants to. Use sleep and wakeup to handle the full and empty conditions. See how long it takes for a fatal race condition to occur. For example, you might have the producer print a number once in a while. Do not print more than one number every minute because the I/O could affect the race conditions.&lt;br /&gt;
# Write a program that creates a pipe. Have two strings – one should contain some text, the other one should be empty. Transfer a text from the first string to another one using the pipe you created. Show the result.&lt;br /&gt;
# Write a C program that forks a child process, waits for 10 seconds and then sends a SIGTERM signal to the child. The child process should run an infinite loop and print “I’m alive” every second&lt;br /&gt;
# Write the solution for the produced-consumer problem using monitors.&lt;br /&gt;
&lt;br /&gt;
==== Test questions for final assessment in this section ==== &lt;br /&gt;
&lt;br /&gt;
# ''From the textbook:'' Multiple jobs can run in parallel and finish faster than if they had run sequentially. Suppose that two jobs, each needing 20 minutes of CPU time, start simultaneously. How long will the last one take to complete if they run sequentially? How long if they run in parallel? Assume 50% I/O wait.&lt;br /&gt;
# ''From the textbook:'' The readers and writers problem can be formulated in several ways with regard to which category of processes can be started when. Carefully describe three different variations of the problem, each one favoring (or not favoring) some category of processes. For each variation, specify what happens when a reader or a writer becomes ready to access the database, and what happens when a process is finished?&lt;br /&gt;
# ''From the textbook:'' Consider a system in which threads are implemented entirely in user space, with the run-time system getting a clock interrupt once a second. Suppose that a clock interrupt occurs while some thread is executing in the run-time system. What problem might occur? Can you suggest a way to solve it?&lt;br /&gt;
# ''From the textbook:'' In this problem you are to compare reading a file using a single-threaded file server and a multithreaded server. It takes 12 msec to get a request for work, dispatch it, and do the rest of the necessary processing, assuming that the data needed are in the block cache. If a disk operation is needed, as is the case one-third of the time, an additional 75 msec is required, during which time the thread sleeps. How many requests/sec can the server handle if it is single threaded? If it is multithreaded?&lt;br /&gt;
# ''From the textbook:'' There are five batch jobs: A through E, they arrive at a computer center at almost the same time. They have estimated running times of 10, 6, 2, 4, and 8 minutes. Their (externally determined) priorities are 3, 5, 2, 1, and 4, respectively, with 5 being the highest priority. Consider the following scheduling algorithms: '''(a)''' Round robin, '''(b)''' Priority scheduling, '''(c)''' First-come, first-served (run in order 10, 6, 2, 4, 8), '''(d)''' Shortest job first. For each mentioned scheduling algorithms, determine the mean process turnaround time. Ignore process switching overhead. For (a), assume that the system is multi-programmed, and that each job gets its fair share of the CPU. For (b) through (d), assume that only one job at a time runs, until it finishes. All jobs are completely CPU bound.&lt;br /&gt;
&lt;br /&gt;
=== Section 3 ===&lt;br /&gt;
&lt;br /&gt;
====  Section title: Memory management ==== &lt;br /&gt;
&lt;br /&gt;
====  Topics covered in this section: ==== &lt;br /&gt;
&lt;br /&gt;
* Address space&lt;br /&gt;
* Memory abstraction&lt;br /&gt;
* Based and limit registers&lt;br /&gt;
* Swapping&lt;br /&gt;
* Virtual memory&lt;br /&gt;
* Paging&lt;br /&gt;
* Implementation of paging&lt;br /&gt;
* Page replacement algorithms&lt;br /&gt;
* Page faults&lt;br /&gt;
* Segmentation&lt;br /&gt;
* Segmentation with paging&lt;br /&gt;
&lt;br /&gt;
====  What forms of evaluation were used to test students’ performance in this section? ==== &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;tabular&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span&amp;gt;|a|c|&amp;lt;/span&amp;gt; &amp;amp;amp; '''Yes/No'''&amp;lt;br /&amp;gt;&lt;br /&gt;
Development of individual parts of software product code &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
Homework and group projects &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
Midterm evaluation &amp;amp;amp; 0&amp;lt;br /&amp;gt;&lt;br /&gt;
Testing (written or computer based) &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
Reports &amp;amp;amp; 0&amp;lt;br /&amp;gt;&lt;br /&gt;
Essays &amp;amp;amp; 0&amp;lt;br /&amp;gt;&lt;br /&gt;
Oral polls &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
Discussions &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
====  Typical questions for ongoing performance evaluation within this section ==== &lt;br /&gt;
&lt;br /&gt;
# What are the base and limit registers and what are the problems related to their usage?&lt;br /&gt;
# Can you have swapping in absence of paging? And paging in absence of swapping?&lt;br /&gt;
# What mechanisms and algorithms are available to handle effectively paging?&lt;br /&gt;
# Details advantages and disadvantages of the different page replacement algorithms.&lt;br /&gt;
# Describe the difference between paging and segmenting.&lt;br /&gt;
# Is it possible to combine segmenting and paging? If so, how?&lt;br /&gt;
&lt;br /&gt;
====  Typical questions for seminar classes (labs) within this section ==== &lt;br /&gt;
&lt;br /&gt;
# Run ‘free -t -h‘ in a Linux shell or ‘vmstat‘ in a macOS one. Discuss the output.&lt;br /&gt;
# Write a C program that runs for 10 seconds. Every second it should: (a) allocate 10 MB of memory – fill it with zeros, (b) sleep for 1 second. Then, compile and run the program in the background (./ex2 &amp;amp;amp;) and run ‘vmstat 1’ at the same time. Observe what happens to the memory. Pay attention to si and so fields. ''Hint:'' use memset(ptr, value, size) to fill the allocated memory.&lt;br /&gt;
# Write a program that simulates a paging system using the ageing algorithm. The number of page frames is a parameter. The sequence of page references should be read from a file. For a given input file, your program should print Hit/Miss ratio.&lt;br /&gt;
# Try to construct a sequence of references that will result in increased or decreased Hit/Miss ratio.&lt;br /&gt;
# ''From the textbook:'' A machine has 16-bit virtual addresses. Pages are 8 KB. How many entries are needed for a single-level linear page table? Explain your computations.&lt;br /&gt;
&lt;br /&gt;
====  Test questions for final assessment in this section ==== &lt;br /&gt;
&lt;br /&gt;
# ''From the textbook:'' A computer provides each process with 65,536 bytes of address space divided into pages of 4096 bytes each. A particular program has a text size of 32,768 bytes, a data size of 16,386 bytes, and a stack size of 15,870 bytes. Will this program fit in the machine’s address space? Suppose that instead of 4096 bytes, the page size were 512 bytes, would it then fit? Each page must contain either text, data, or stack, not a mixture of two or three of them.&lt;br /&gt;
# ''From the textbook:'' You are given the following data about a virtual memory system: '''1.''' The TLB can hold 1024 entries and can be accessed in 1 clock cycle (1 nsec). '''2.''' A page table entry can be found in 100 clock cycles or 100 nsec. '''3.'''The average page replacement time is 6 msec. If page references are handled by the TLB 99% of the time, and only 0.01% lead to a page fault, what is the effective address-translation time?&lt;br /&gt;
# ''From the textbook:'' A small computer on a smart card has four page frames. At the first clock tick, the R bits are 0111 (page 0 is 0, the rest are 1). At subsequent clock ticks, the values are 1011, 1010, 1101, 0010, 1010, 1100, and 0001. If the aging algorithm is used with an 8-bit counter, give the values of the four counters after the last tick.&lt;br /&gt;
# ''From the textbook:'' A computer with a 32-bit address uses a two-level page table. Virtual addresses are split into a 9-bit top-level page table field, an 11-bit second-level page table field, and an offset. How large are the pages and how many are there in the address space?&lt;br /&gt;
# ''From the textbook:'' A computer has 32-bit virtual addresses and 4-KB pages. The program and data together fit in the lowest page (0–4095) The stack fits in the highest page. How many entries are needed in the page table if traditional (one-level) paging is used? How many page table entries are needed for two-level paging, with 10 bits in each part?&lt;br /&gt;
&lt;br /&gt;
=== Section 4 ===&lt;br /&gt;
&lt;br /&gt;
====  Section title: File system, I/O, and management of resources ==== &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====  Topics covered in this section: ==== &lt;br /&gt;
&lt;br /&gt;
* File system&lt;br /&gt;
* Files and files types, attributes, and operations&lt;br /&gt;
* Paths&lt;br /&gt;
* File system layout&lt;br /&gt;
* Shared files&lt;br /&gt;
* File system backups&lt;br /&gt;
* FIle system performances&lt;br /&gt;
* General structure of I/O&lt;br /&gt;
* Block devices and character devices&lt;br /&gt;
* Device drivers&lt;br /&gt;
* Memory mapped I/O and Direct Memory Access&lt;br /&gt;
* Interrups&lt;br /&gt;
* Programmed I/O&lt;br /&gt;
* Deadlocks&lt;br /&gt;
* Conditions for deadlocks&lt;br /&gt;
* Strategies to dead with dealock&lt;br /&gt;
&lt;br /&gt;
====  What forms of evaluation were used to test students’ performance in this section? ==== &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;tabular&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span&amp;gt;|a|c|&amp;lt;/span&amp;gt; &amp;amp;amp; '''Yes/No'''&amp;lt;br /&amp;gt;&lt;br /&gt;
Development of individual parts of software product code &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
Homework and group projects &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
Midterm evaluation &amp;amp;amp; 0&amp;lt;br /&amp;gt;&lt;br /&gt;
Testing (written or computer based) &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
Reports &amp;amp;amp; 0&amp;lt;br /&amp;gt;&lt;br /&gt;
Essays &amp;amp;amp; 0&amp;lt;br /&amp;gt;&lt;br /&gt;
Oral polls &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
Discussions &amp;amp;amp; 1&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
====  Typical questions for ongoing performance evaluation within this section ==== &lt;br /&gt;
&lt;br /&gt;
# What is the overall structure of a file system&lt;br /&gt;
# How are files and directories organized on a disk and what are the roles of i-nodes, when they are used&lt;br /&gt;
# What are the key differences between block and character devices.&lt;br /&gt;
# How does DMA speeds up the computations?&lt;br /&gt;
# List the major classes of strategies to handle deadlock.&lt;br /&gt;
&lt;br /&gt;
====  Typical questions for seminar classes (labs) within this section ==== &lt;br /&gt;
&lt;br /&gt;
# Create tmp directory with two empty files (file1, file2). Then, create one hard link named link1 to file1. Write a program that scans tmp directory, locates all i-nodes with a hard link count of two or more and for each such file it should display together all file names that point to the file.&lt;br /&gt;
# Implement a simulated file system that will be fully contained in a single regular file stored on the disk. This disk file will contain directories, i-nodes, free- block information, file data blocks, etc. Choose appropriate algorithms for maintaining free-block information and for allocating data blocks (contiguous, indexed, linked). Your program will accept system commands from the user to create/delete directories, create/delete/open files, read/write from/to a selected file, and to list directory contents.&lt;br /&gt;
# Create a file ex1.txt with a random string in it. Write a C program (ex1.c) that changes the string in ex1.txt to “This is a nice day” by using mmap(). Hints: '''(a)''' open the file in O_RDWR mode, '''(b)''' use stat() or fstat() to get the size of the file.&lt;br /&gt;
# Write a C program (ex2.c) using line buffer. Write your code according to the instructions: '''(a)''' each of the 5 characters of “Hello” string should be put in separate printf(), '''(b)''' add a 1 sec sleep after every printf(). The output should be a 5 sec wait and then “Hello” printed instantaneously.&lt;br /&gt;
# The tee command reads its standard input until end-of- file, writing a copy of the input to standard output and to the files named in its command-line arguments. Implement tee using I/O system calls. By default, tee overwrites any existing file with the given name. Implement the -a command-line option (tee -a file), which causes tee to append text to the end of a file if it already exists.&lt;br /&gt;
# Write a C program for deadlock detection algorithm reading the resources available form a file (input.txt). For testing purposes consider 5 processes and 3 type of resources. However, your program must be able to process as many processes and resource types, as needed (check next slide for input file structure description). The output of your program should either say that no deadlock is detected or print out the numbers of processes that are deadlocked.&lt;br /&gt;
&lt;br /&gt;
====  Test questions for final assessment in this section ==== &lt;br /&gt;
&lt;br /&gt;
# ''From the textbook:'' Two computer science students, Carolyn and Elinor, are having a discussion about i-nodes. Carolyn maintains that memories have gotten so large and so cheap that when a file is opened, it is simpler and faster just to fetch a new copy of the i-node into the i-node table, rather than search the entire table to see if it is already there. Elinor disagrees. Who is right? Why?&lt;br /&gt;
# ''From the textbook:'' A typical printed page of text contains 50 lines of 80 characters each. Imagine that a certain printer can print 6 pages per minute and that the time to write a character to the printer’s output register is so short it can be ignored. Does it make sense to run this printer using interrupt-driven I/O if each character printed requires an interrupt that takes 50 &amp;lt;math display=&amp;quot;inline&amp;quot;&amp;gt;\mu&amp;lt;/math&amp;gt;sec all-in to service?&lt;br /&gt;
# ''From the textbook:'' Consider a disk that has 10 data blocks starting from block 14 through 23. Let there be 2 files on the disk: f1 and f2. The directory structure lists that the first data blocks of f1 and f2 are respectively 22 and 16. The FAT table is as follows: (14,18), (15,17), (16,23), (17,21), (18,20), (19,15), (20,-1), (21,-1), (22,19), (23,14), where (x,y) indicates that the value stored in table entry x points to data block y. What are the data blocks allotted to f1 and f2?&lt;br /&gt;
# ''From the textbook:'' Explain how hard links and soft links differ with respective to i-node allocations.&lt;br /&gt;
# ''From the textbook:'' When a user program makes a system call to read or write a disk file, it provides an indication of which file it wants, a pointer to the data buffer, and the count. Control is then transferred to the operating system, which calls the appropriate driver. Suppose that the driver starts the disk and terminates until an interrupt occurs. In the case of reading from the disk, obviously the caller will have to be blocked (because there are no data for it). What about the case of writing to the disk? Need the caller be blocked awaiting completion of the disk transfer?&lt;br /&gt;
# ''From the textbook:'' The banker’s algorithm is being run in a system with m resource classes and n processes. In the limit of large m and n, the number of operations that must be performed to check a state for safety is proportional to m&amp;lt;math display=&amp;quot;inline&amp;quot;&amp;gt;^a&amp;lt;/math&amp;gt;n&amp;lt;math display=&amp;quot;inline&amp;quot;&amp;gt;^b&amp;lt;/math&amp;gt; . What are the values of a and b ?&lt;/div&gt;</summary>
		<author><name>A.kruglov</name></author>
	</entry>
</feed>