Software Architecture and People Ayushi Rastogi Postdoc @ - - PowerPoint PPT Presentation

software architecture and people
SMART_READER_LITE
LIVE PREVIEW

Software Architecture and People Ayushi Rastogi Postdoc @ - - PowerPoint PPT Presentation

Software Architecture and People Ayushi Rastogi Postdoc @ TU-Delft 1 PC: www.bonkersworld.net Outline ARCHITECTING ARCHITECTING MY RESEARCH ASSIGNMENT WITH THE PEOPLE FOR THE PEOPLE 2 What is Software Architecture? STRUCTURE


slide-1
SLIDE 1

Software Architecture and People

Ayushi Rastogi Postdoc @ TU-Delft

PC: www.bonkersworld.net

1

slide-2
SLIDE 2

Outline

ARCHITECTING WITH THE PEOPLE ARCHITECTING FOR THE PEOPLE MY RESEARCH ASSIGNMENT

2

slide-3
SLIDE 3

What is Software Architecture?

STRUCTURE DECISIONS BIG PICTURE

3

slide-4
SLIDE 4

Software Architecture and People

  • Who takes decisions?
  • Who implements decisions?

4

slide-5
SLIDE 5

Architecting with

with the

people

5

slide-6
SLIDE 6

Architecting with the people

Software designer Developer

6

slide-7
SLIDE 7

Software designer

[Individual] personal bias in design solutions

e.g. Why Facebook is blue?1

[Team] composition

e.g. group think

[Process]

E.g. Who speaks first? – Anchoring bias [1] https://edition.cnn.com/2010/TECH/social.media/09/20/zuckerberg.facebook.list/index.html

7

slide-8
SLIDE 8

Design to code: community structure

Architecture hood – architects far away from devs. and ops.

no accountability; uncooperative behavior

Organization silo – high decoupled tasks

waste resources; duplicate code

Radio silence – formal

  • rganization structure

refrain from asking questions; time intensive Social debt in software engineering: insights from industry

slide-9
SLIDE 9

Design to code: context and interactions

Shared Villany - No incentive for knowledge sharing or meetings

information outdated, unconfirmed or wrong

Organizational Skirmish – culture mismatch in devs. And ops.

cause delay

Prima donnas – legacy product unreceptive to change

uncooperative behavior Social debt in software engineering: insights from industry

slide-10
SLIDE 10

Consequences: not immediately visible

[Architecture] erosion [Input] time and cost [Code] quality [Process] development and operations

Social debt in software engineering: insights from industry

slide-11
SLIDE 11

Solutions

Social Wiki - Organization silo, prima donnas Cultural conveyors - Shared villany, prima donnas Effect: 40% of the mitigations adopted did not yield positive

  • utcomes and, in some cases, they made things worse.

Social debt in software engineering: insights from industry

slide-12
SLIDE 12

Conway’s law

Software mimics

  • rganizational-social structure

12

https://www.noahbrier.com/archives/tag/tim-harford/ https://www.forbes.com/sites/danwoods/2017/08/15/how-platforms-are-neutralizing-conways-law/ How Do Committees Invent?

slide-13
SLIDE 13

Architecting fo

for the

people

13

slide-14
SLIDE 14

Stakeholders

14

designer plan maker change in the world audience experiences

  • ther stakeholders

https://www.ics.uci.edu/~andre/informatics121f2019.html

slide-15
SLIDE 15

Scenario: design a classroom

slide-16
SLIDE 16

Scenario: Messaging app

slide-17
SLIDE 17

Design for value

Tradeoff b/w security and privacy

E.g. chatting applications

Design for digital rights

E.g. say in terms and conditions

Cultural valence

E.g. values for one nation may not translate to another

COMPUTING ETHICS: VALUES IN DESIGN

slide-18
SLIDE 18

References

18

slide-19
SLIDE 19

Good reads: architecting with the people

[DESIGNER] SOFTWARE DESIGN DECODED: 66 WAYS EXPERTS THINK [TEAM] SOCIAL DEBT IN SOFTWARE ENGINEERING: INSIGHTS FROM INDUSTRY THE INFLUENCE OF ORGANIZATIONAL STRUCTURE ON SOFTWARE QUALITY PUTTING IT ALL TOGETHER: USING SOCIO-TECHNICAL NETWORKS TO PREDICT FAILURES

slide-20
SLIDE 20

Good reads: architecting for the people

COMPUTING ETHICS: VALUES IN DESIGN THE POLITICS OF DESIGN, DESIGN AS POLITICS WHEN THE IMPLICATION IS NOT TO DESIGN (TECHNOLOGY)

slide-21
SLIDE 21

My research

22

slide-22
SLIDE 22

Team personality and effectiveness

Who works best together? What makes a good software team?

slide-23
SLIDE 23

Unfairness in software engineering

Manifestations of unfairness in software engineering How does it impact software and its development? Solutions to improve

slide-24
SLIDE 24

Assignment

25

slide-25
SLIDE 25

Relation of team structure to code structure

e.g.

  • 1. Select highly coupled and loosely coupled

components in your project

  • 2. How developers participating in the two

pairs of components interact?

  • [Reflections] within your team
slide-26
SLIDE 26

Design decisions catering to user need

  • List up to 3 design choices in the selected software

project that caters to its user need.

  • How would the design choices change for a different

audience?

  • Aspects: international, inclusion

e.g. [Everyday] size of chair in classroom (for kid vs. adult) [Software] size of fonts in applications (for elder vs. young)

slide-27
SLIDE 27

Discuss

W: ayushir.com M: a.rastogi@tudelft.nl

28