kandidatarbete - ida.liu.setddd77/timetable/kandidatarbete.pdf · kandidatarbete vs projektarbete 2...

25
Kandidatarbete Kristian Sandahl IDA

Upload: others

Post on 30-Jul-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Kandidatarbete - ida.liu.seTDDD77/timetable/Kandidatarbete.pdf · Kandidatarbete vs projektarbete 2 Kandidatarbetets syfte Projektarbetets syfte Att integrera kunskap om programvaruutveckling

Kandidatarbete

Kristian Sandahl

IDA

Page 2: Kandidatarbete - ida.liu.seTDDD77/timetable/Kandidatarbete.pdf · Kandidatarbete vs projektarbete 2 Kandidatarbetets syfte Projektarbetets syfte Att integrera kunskap om programvaruutveckling

Kandidatarbete vs projektarbete

2

Kandidatarbetets syfte Projektarbetets syfte

Att integrera kunskap om programvaruutveckling Att skaffa och dokumentera erfarenheter från programutveckling

Att genomföra ett programvaruprojekt

Page 3: Kandidatarbete - ida.liu.seTDDD77/timetable/Kandidatarbete.pdf · Kandidatarbete vs projektarbete 2 Kandidatarbetets syfte Projektarbetets syfte Att integrera kunskap om programvaruutveckling

Modifierad disposition

• Sammanfattning 1. Introduktion 2. Bakgrund 3. Metod 4. Systembeskrivning 5. Gruppens tekniska erfarenheter, positiva/negativa 6. Gruppens processrelaterade erfarenheter, positiva/negativa, alla faser 7. Individuella bidrag: Beskrivning och erfarenhet av roller eller "practices"

(2-3 sidor per person med minst en litteraturreferens) 8. Diskussion 9. Slutsats: Vad gör vi annorlunda nästa gång? 10. Referenser • Bilaga: Affärsplan

3

Page 4: Kandidatarbete - ida.liu.seTDDD77/timetable/Kandidatarbete.pdf · Kandidatarbete vs projektarbete 2 Kandidatarbetets syfte Projektarbetets syfte Att integrera kunskap om programvaruutveckling

Introduktion

• Skall göra läsaren intresserad

• Motivering

• Syfte

• Frågeställning: generisk och individuell

4

Page 5: Kandidatarbete - ida.liu.seTDDD77/timetable/Kandidatarbete.pdf · Kandidatarbete vs projektarbete 2 Kandidatarbetets syfte Projektarbetets syfte Att integrera kunskap om programvaruutveckling

Bakgrund

• Kallas ofta kontext

• Beskriver förutsättningar för • Replikerbarhet

• Överförbarhet

• Projektet är er empiri

5

Page 6: Kandidatarbete - ida.liu.seTDDD77/timetable/Kandidatarbete.pdf · Kandidatarbete vs projektarbete 2 Kandidatarbetets syfte Projektarbetets syfte Att integrera kunskap om programvaruutveckling

Metod

• Forskningsmetod • Explorativ fallstudie

• Datakällor: • Kvantitativa (antal säkerhetshot, enkäter)

• Kvalitativa (reflektioner)

• Utvecklingsmetod • Iterativ

• SEMAT alpha

• Roller

• Dokument

6

Page 7: Kandidatarbete - ida.liu.seTDDD77/timetable/Kandidatarbete.pdf · Kandidatarbete vs projektarbete 2 Kandidatarbetets syfte Projektarbetets syfte Att integrera kunskap om programvaruutveckling

Why do we need empricial studies?

Software Engineering has great variation in: • Scale • Domain • Tools • Infrastructure • Human resources • Organization • Locality • Technique • Quality

Method

Cause Effect

Page 8: Kandidatarbete - ida.liu.seTDDD77/timetable/Kandidatarbete.pdf · Kandidatarbete vs projektarbete 2 Kandidatarbetets syfte Projektarbetets syfte Att integrera kunskap om programvaruutveckling

What is an experiment?

treatment

No treatment

Units (subjects)

Control group

Comparison

Page 9: Kandidatarbete - ida.liu.seTDDD77/timetable/Kandidatarbete.pdf · Kandidatarbete vs projektarbete 2 Kandidatarbetets syfte Projektarbetets syfte Att integrera kunskap om programvaruutveckling

Types of experiments

• Randomized experiment: Units receiving the treatment are selected by random

• Quasi-experiment: Units are not selected randomly

• Controlled experiment: Comparison between treatments (Sjøberg et al 2005)

• Correlation study: Observes relationships with variables (empirical evaluation)

• Replication: Repeating the study

• Differentiated replication: Replication with variation of essential conditions

Page 10: Kandidatarbete - ida.liu.seTDDD77/timetable/Kandidatarbete.pdf · Kandidatarbete vs projektarbete 2 Kandidatarbetets syfte Projektarbetets syfte Att integrera kunskap om programvaruutveckling

Variables

Age Sex Education Experience ...

Background variables

Controlled variables

Independent variables

Time of day Temperature Available resources ...

Method used Tool used Size of task Group size ...

Dependent variables

No of errors done Time to complete task Judgement of quality ...

Different Not changeable

Same Observed

Manipulated Observed

Assumed to change as effect manipulation of independent variables

Page 11: Kandidatarbete - ida.liu.seTDDD77/timetable/Kandidatarbete.pdf · Kandidatarbete vs projektarbete 2 Kandidatarbetets syfte Projektarbetets syfte Att integrera kunskap om programvaruutveckling

Validity threats

• Internal validity: Are differences in dependent variables really due to changes of independent variables?

• Conclusion validity: Are our measurement and analysis methods appropriate?

• Construct validity: Are we measuring the phenomena we intend to do?

• External validity: To what population can we generalise our results?

Page 12: Kandidatarbete - ida.liu.seTDDD77/timetable/Kandidatarbete.pdf · Kandidatarbete vs projektarbete 2 Kandidatarbetets syfte Projektarbetets syfte Att integrera kunskap om programvaruutveckling

Comparing means

Under certain conditions: Student’s t-test

Significance level: nomally 5%

Page 13: Kandidatarbete - ida.liu.seTDDD77/timetable/Kandidatarbete.pdf · Kandidatarbete vs projektarbete 2 Kandidatarbetets syfte Projektarbetets syfte Att integrera kunskap om programvaruutveckling

Comparing distributions

Comparing severity ratings Severity Tester 1 Tester 2

Catastrophic 4 2

Severe 9 6

Moderate 53 27

Minor 105 58

• Are the testers’ methods the same?

• Under certain conditions: use the Chi-square test

• For 2x2 contigency tables other methods apply, for instance Cohen’s Kappa

Page 14: Kandidatarbete - ida.liu.seTDDD77/timetable/Kandidatarbete.pdf · Kandidatarbete vs projektarbete 2 Kandidatarbetets syfte Projektarbetets syfte Att integrera kunskap om programvaruutveckling

The box plot

Page 15: Kandidatarbete - ida.liu.seTDDD77/timetable/Kandidatarbete.pdf · Kandidatarbete vs projektarbete 2 Kandidatarbetets syfte Projektarbetets syfte Att integrera kunskap om programvaruutveckling

Comparing variance

Page 16: Kandidatarbete - ida.liu.seTDDD77/timetable/Kandidatarbete.pdf · Kandidatarbete vs projektarbete 2 Kandidatarbetets syfte Projektarbetets syfte Att integrera kunskap om programvaruutveckling

Case Studies…

• ... are investigating contemporary phenomena in their context

• … can be: • Exploratory

• Descriptive

• Explanatory

• Improving

Page 17: Kandidatarbete - ida.liu.seTDDD77/timetable/Kandidatarbete.pdf · Kandidatarbete vs projektarbete 2 Kandidatarbetets syfte Projektarbetets syfte Att integrera kunskap om programvaruutveckling

Triangulation

Increases precision and thrus worthiness Types: • Data (source) • Observer • Methodological • Theory

(Picture: Wikimedia commons)

Page 18: Kandidatarbete - ida.liu.seTDDD77/timetable/Kandidatarbete.pdf · Kandidatarbete vs projektarbete 2 Kandidatarbetets syfte Projektarbetets syfte Att integrera kunskap om programvaruutveckling

Some more definitions

• Objective: overall statement of expectations

• Research questions: refinement of objective

• Hypothesis: supposed explanation

• Case: the object of the study

• Subjects: those providing information

• Qualitative data: Descriptions, text

• Quantitative data: Numbers, measurements

• Case study protocol: Procedures of study

• Protocol: Data obtained by observation, interview etc.

Page 19: Kandidatarbete - ida.liu.seTDDD77/timetable/Kandidatarbete.pdf · Kandidatarbete vs projektarbete 2 Kandidatarbetets syfte Projektarbetets syfte Att integrera kunskap om programvaruutveckling

What happens if the line is broken?

Software project

Software engineer

Grounding

Page 20: Kandidatarbete - ida.liu.seTDDD77/timetable/Kandidatarbete.pdf · Kandidatarbete vs projektarbete 2 Kandidatarbetets syfte Projektarbetets syfte Att integrera kunskap om programvaruutveckling

SWEBOK on a Profession

• Professional education, validated through accreditiation

• Certification or licensing

• Skill development, continuing professional education

• Professional society

• Commitment to norms

• Code of ethics

Page 21: Kandidatarbete - ida.liu.seTDDD77/timetable/Kandidatarbete.pdf · Kandidatarbete vs projektarbete 2 Kandidatarbetets syfte Projektarbetets syfte Att integrera kunskap om programvaruutveckling

ACM/IEEE-CS Joint Task Force on Software Engineering Ethics v 5.2 1(2)

• 1 PUBLIC - Software engineers shall act consistently with the public interest.

• 2. CLIENT AND EMPLOYER - Software engineers shall act in a manner that is in the best interests of their client and employer consistent with the public interest.

• 3. PRODUCT - Software engineers shall ensure that their products and related modifications meet the highest professional standards possible.

• 4. JUDGMENT - Software engineers shall maintain integrity and independence in their professional judgment.

• 5. MANAGEMENT - Software engineering managers and leaders shall subscribe to and promote an ethical approach to the management of software development and maintenance.

Page 22: Kandidatarbete - ida.liu.seTDDD77/timetable/Kandidatarbete.pdf · Kandidatarbete vs projektarbete 2 Kandidatarbetets syfte Projektarbetets syfte Att integrera kunskap om programvaruutveckling

ACM/IEEE-CS Joint Task Force on Software Engineering Ethics v 5.2 2(2)

• 6. PROFESSION - Software engineers shall advance the integrity and reputation of the profession consistent with the public interest.

• 7. COLLEAGUES - Software engineers shall be fair to and supportive of their colleagues.

• 8. SELF - Software engineers shall participate in lifelong learning regarding the practice of their profession and shall promote an ethical approach to the practice of the profession.

Page 23: Kandidatarbete - ida.liu.seTDDD77/timetable/Kandidatarbete.pdf · Kandidatarbete vs projektarbete 2 Kandidatarbetets syfte Projektarbetets syfte Att integrera kunskap om programvaruutveckling

Hederskodex för Sveriges Ingenjörer

1. Ingenjören bör i sin yrkesutövning känna ett personligt ansvar för att tekniken används på ett sätt som gagnar människa, miljö och samhälle.

2. Ingenjören bör sträva efter att förbättra tekniken och det tekniska kunnandet i riktning mot ett effektivare resursutnyttjande utan skadeverkningar.

3. Ingenjören bör ställa sitt kunnande till förfogande i offentliga och enskilda sammanhang för att uppnå bästa beslutsunderlag och belysa teknikens möjligheter och risker.

4. Ingenjören bör inte arbeta inom eller samverka med företag och organisationer av tvivelaktig karaktär eller med mål som strider mot personlig övertygelse.

5. Ingenjören bör visa full lojalitet mot arbetsgivare och arbetskamrater. Svårigheter härvidlag bör tas upp till öppen diskussion, i första hand på arbetsplatsen.

6. Ingenjören får inte använda otillbörliga metoder i tävlan om anställning, uppdrag eller beställning, ej heller försöka skada kollegors anseende genom obefogade beskyllningar.

7. Ingenjören bör respektera anförtrodda upplysningars konfidentiella natur samt andras rätt till uppslag, uppfinningar, utredningar, planer och ritningar.

8. Ingenjören får inte gynna obehöriga intressen och bör öppet redovisa ekonomiska och andra intressen som kan påverka tilltron till hans eller hennes opartiskhet och omdöme.

9. Ingenjören bör enskilt och offentligt, i tal och skrift, sträva efter ett sakligt framställningssätt och undvika felaktiga, missvisande eller överdrivna påståenden.

10. Ingenjören bör aktivt stödja kollegor, som råkar i svårigheter på grund av ett handlande i enlighet med dessa regler, samt enligt bästa övertygelse avstyra brott mot dem.

Page 24: Kandidatarbete - ida.liu.seTDDD77/timetable/Kandidatarbete.pdf · Kandidatarbete vs projektarbete 2 Kandidatarbetets syfte Projektarbetets syfte Att integrera kunskap om programvaruutveckling

My own thinking

• By definition, professional means that you are capable to make your living on what you do

• To do this your products and services shall be worthwhile for customers

• You have a minimum standard

• You can receive a series of similar assignments

• You can work under non-optimal conditions

• You can learn and instruct

• Being a professional is often not equal to gold-plating,

• it is not necessarily always good

Page 25: Kandidatarbete - ida.liu.seTDDD77/timetable/Kandidatarbete.pdf · Kandidatarbete vs projektarbete 2 Kandidatarbetets syfte Projektarbetets syfte Att integrera kunskap om programvaruutveckling

www.liu.se