Dieser Vortrag beleuchtet die Rolle von schnellen Rückkopplungsschleifen ("Fast Feedback Loops") im Erfolg von Agilen Techniken im Software Engineering.
live-blog and tweet this presentation given that you attribute it to its author and respect the rights and licences of its parts. Slide is based on suggestions by @SMEasterbrook und @ethanwhite
the inspection, adaptation, and visibility requirements of empirical process control with a set of simple practices and rules…“ –Ken Schwaber K. Schwaber. Agile Project Management with Scrum. Microsoft Press, 2004
why do they vary in the… role of Product Owner? role of Scrum Master? Sprints? events? requirements engineering? quality assurance? Analyse the Scrum framework to explore its industrial usage with respect to its variations from the perspective of practitioners.
based on availability willingness Maximise variation by No. of employees (start-up to 130,000) Different information system domains International customers Interview participant developers and dev. managers past or current projects 10 interviews
Code Refactor Test Code Refactor Test Code Refactor Passing acceptance test Refactor the test Customer acceptance Implement acceptance test(s) Failing acceptance tests Acceptance- test-driven development Test-driven development Identify conditions of satisfaction Select a user story
and to explore (curiosity) Rewards Liking Wanting Reinforcement Discount effect: A reward is perceived the less valuable the later it will become available. Partly based on: P. Gray, D.F. Bjorklund. Psychology. Worth, 2014
by which people consciously and unconsciously modify their behaviour to influence others’ impressions of them. Partly based on: P. Gray, D.F. Bjorklund. Psychology. Worth, 2014 Cooperation Accountability Reputation Reciprocity
inconsistent evolution of clones in industrial telecom. SW. [Monden02]: higher revision number for files with clones in legacy SW. [Kim05]: substantial amount of coupled changes to code clones. [Li06], [SuChiu07] and [Aversano07], [Bakota07]: discovery of bugs through search for inconsistent clones or clone evolution analysis. Doubting harmfulness [Krinke07]: inconsistent clones hardly ever become consistent later. [Geiger06]: Failure to statistically verify impact of clones on change couplings [Lozano08]: Failure to statistically verify impact of clones on changeability. [Göde11]: Most changes intentionally inconsistent [Rahman12]: no statistically significant impacts on faults
inconsistent clones by system developers No indirect measures of consequences of cloning • Both industrial and open source software analysed • Quantitative data F. Deissenboeck, E. Juergens, B. Hummel, S. Wagner, ICSE 2009
RQ2: Are inconsistent clones created unintentionally? |UIC| / |IC| RQ3: Can inconsistent clones be indicators for faults in real systems? |F| / |IC|, |F| / |UIC| Clone Groups C (exact and incons.) Inconsistent clone groups IC Unintentionally incons. Clone Groups UIC Faulty clone Groups F
candidate detection • Novel algorithm • Tailored to target program False positive removal • Manual inspection of all inconsistent and ¼ exact CCs • Performed by researchers Assessment of inconsistencies • All inconsistent clone groups inspected • Performed by developers Clone groups C (exact and incons.) Inconsistent clone groups IC Unintentionally inconsistent clone groups UIC Faulty clone groups F → CC → C, IC → UIC, F
400 employees Sysiphus: Open source collaboration environment for distributed SW development. Developed at TUM. 281 8 Java TUM Sysiphus 197 17 Cobol LV 1871 D 495 2 C# Munich Re C 454 4 C# Munich Re B 317 6 C# Munich Re A Size (kLoC) Age (years) Language Organization System
groups CT3 Faulty clone Groups CT3 F RQ1: Do software systems contain type-3 clones? |CT3| / |C| RQ2: Do type-3 clones contain documented faults? |CT3 F | / |CT3| RQ3: Are developers aware of type-3 clones? |IMS | / |IM |, |Cx| / |CT3 F |, |CT2 F ▶︎ CT3 NF |
STUDY OBJECTS Size Age System Domain Lang. (KLOC) Revision (Years) Developers A Automotive Java 253 2470 4 10 B Automotive Java 332 1622 5 5 C Automotive Java 454 2181 4 10 B. Share of Type-3 Clones (RQ 1) Table III contains the quantitative results for all research questions in detail. We found a mean share of type-3 clones in all clones and all three systems of 52 %. Yet, it varied quite strongly from 23 % in system B to 79 % in system C. Nevertheless, in all three systems, there is a considerable share of type-3 clones and, hence, it is useful to investigate their relationship with faults.
clones. • Rate of faulty type-3 clones is about 17 %. • There is a high awareness of clones and inconsistencies. • This awareness seems to impact how many faults are related to type-3 clones. • Making developers aware of clones seems still to be worthwhile.
Méndez Fernández, S. Wagner, ICSE 2015 User Story XYZ-123 As a user, I can indicate folders not to backup so that my backup drive isn't filled up with things I don't need saved Why did the implementation of this user story took longer then estimated ? not clear description falsely assumed standard functionality intrinsic difficulty of the problem other:
Wallroth (https://commons.wikimedia.org/wiki/ File:Ken_Schwaber.jpg) „Mercurial Logo“ by Mackall (http://www.selenic.com/hg-logo/) Reusable Scrum Presentation by Mountain Goat Software (https:// www.mountaingoatsoftware.com/agile/scrum/a-reusable-scrum-presentation) „Nightly Build“ by System One Gang (https://flic.kr/p/tmwbV) Figure 8.2 by Elmar Jürgens (http://mediatum.ub.tum.de/doc/997705/document.pdf) „On the couch (Explored“ by Pascal (https://flic.kr/p/8DVMLy)