Information Visualization as an aid to Agile Software Development By: Andrew J. Armstrong.

18
Information Visualization as an aid to Agile Software Development By: Andrew J. Armstrong

Transcript of Information Visualization as an aid to Agile Software Development By: Andrew J. Armstrong.

Page 1: Information Visualization as an aid to Agile Software Development By: Andrew J. Armstrong.

Information Visualizationas an aid to

Agile Software Development

By: Andrew J. Armstrong

Page 2: Information Visualization as an aid to Agile Software Development By: Andrew J. Armstrong.

Agile Software Development Overview[4]

•Manifesto• Individuals and interactions over processes and tools•Working software over comprehensive documentation• Customer collaboration over contract negotiation• Responding to change over following a plan

Page 3: Information Visualization as an aid to Agile Software Development By: Andrew J. Armstrong.

Agile Software Development Overview cont.

http://cdn.ttgtmedia.com/WhatIs/images/pert_chart.jpghttp://images.vertex42.com/ExcelTemplates/excel-gantt-chart-MF_large.gif

Page 4: Information Visualization as an aid to Agile Software Development By: Andrew J. Armstrong.

Paper Overview

• “Information Visualization for Agile Software Development Teams”• By: Julia Paredes, Craig Anslow & Frank Maurer

Research Questions1)What information visualization techniques are used in Agile Software

Development?2)What information visualization techniques raise awareness of

artifacts in Agile software development teams?

Page 5: Information Visualization as an aid to Agile Software Development By: Andrew J. Armstrong.

Information Visualization

• Information Visualization – “Use of visual representations of abstract data to amplify cognition.”[1]

• Effective visualizations should:• Quickly identify relevant information• Understand the relationships between elements of the visualization

• “Make the structure, behavior and evolution of software, such as code organization, software state and bugs, more understandable.”[1]

Page 6: Information Visualization as an aid to Agile Software Development By: Andrew J. Armstrong.

Information Visualization - Design

• Low Fidelity Sketches• Input Diagrams

• Both typically used to make design decision & communicate information.

Page 7: Information Visualization as an aid to Agile Software Development By: Andrew J. Armstrong.

Information Visualization – Design cont.• Formal Diagrams• Example UML

• Explain & Share Information• Empirical Study• 35 / 50 Developers did not use

UML• Others only used in very early

stages

http://www.uml-diagrams.org/examples/class-diagram-example-hasp-licensing-domain.png

Page 8: Information Visualization as an aid to Agile Software Development By: Andrew J. Armstrong.

Design - Example Software

•Microsoft SketchFlow•ActiveStory• Low Fidelity Sketches• Easy to produce/edit• Support gesture/touch

http://blogs.msdn.com/cfs-filesystemfile.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-06-46-metablogapi/7041.donate_5F00_thumb_5F00_1A04D12A.png

Page 9: Information Visualization as an aid to Agile Software Development By: Andrew J. Armstrong.

Design – Example Software – ActiveStory

Page 10: Information Visualization as an aid to Agile Software Development By: Andrew J. Armstrong.

Information Visualization - Development• Problems in source code• Areas suitable for refactoring• “restructuring the existing code without changing the external behavior”

• Continuous Integration• Automated Testing• SQA Mashup

Page 11: Information Visualization as an aid to Agile Software Development By: Andrew J. Armstrong.

Development Software – SQA Mashup• Tool Requirements• 1) Able to located quality hot-spots in source code• 2) Permit dynamic arrangement of information shown in the UI• 3) Provide awareness of the activities of peers• 4) Discover immediately where changes occurred, when they were made &

how made them• 5) Provide an interactive visualization of roles (developer vs. manager)• 6) Interoperate with other software engineering tools• 7) Permit independent development of UI

Page 12: Information Visualization as an aid to Agile Software Development By: Andrew J. Armstrong.

Development Software - CodeCity

Page 13: Information Visualization as an aid to Agile Software Development By: Andrew J. Armstrong.

Information Visualization - Communication• Verbal vs. Non-verbal• “Big Picture”• Standard Aspects• Dashboards

Page 14: Information Visualization as an aid to Agile Software Development By: Andrew J. Armstrong.

Information Visualization – Progress Tracking• Burn charts• Importance of work completed• Completion definition?• Task assigning• Estimation• MSE’s

https://www.atlassian.com/wac/software/jira/agile/tourBlocks/0/screenshotTourSection/01/imageBinary/jiraagile-02_whyja_1_flexibleplanning.png

Page 15: Information Visualization as an aid to Agile Software Development By: Andrew J. Armstrong.

Discussion & Conclusions

• Design• Sketches• ActiveStory

• Development• Understanding Code• Physical Objects

• Communication• Information Radiators• Dashboards

• Progress Tracking• Taskboards

Page 16: Information Visualization as an aid to Agile Software Development By: Andrew J. Armstrong.

Discussion & Conclusions cont.

• Implications• Barriers to adoption of technologies

Page 17: Information Visualization as an aid to Agile Software Development By: Andrew J. Armstrong.

References

• [1] Paredes, J.; Anslow, C.; Maurer, F., "Information Visualization for Agile Software Development," in Software Visualization (VISSOFT), 2014 Second IEEE Working Conference on , vol., no., pp.157-166, 29-30 Sept. 2014, URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=6980227&isnumber=6980193

• [2] Brandtner, M.; Giger, E.; Gall, H., "Supporting continuous integration by mashing-up software quality information," in Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014 Software Evolution Week - IEEE Conference on , vol., no., pp.184-193, 3-6 Feb. 2014, URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=6747169&isnumber=6747152

• [3] Hosseini-Khayat, A.; Seye, T.; Burns, C.; Maurer, F., “Low-Fidelity Prototyping of Gesture-based Applications,” in 3rd ACM SIGCHI symposium on Engineering interactive computing systems , pp. 289-294, URL: http://dl.acm.org/citation.cfm?id=1996538

• [4] Martin, Robert C. & Martin, Micah, “Agile Principles, Patterns, and Practices in C#,” Chapter 1: Agile Practices

• [5] http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=6062104

Page 18: Information Visualization as an aid to Agile Software Development By: Andrew J. Armstrong.

The End