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

Slides:



Advertisements
Similar presentations
Are Parametric Techniques Relevant for Agile Development Projects?
Advertisements

Marc Conrad University of Bedfordshire 1 Project Management – PMBOK® Project Management Plan Dr Marc Conrad Office: D104 – Park Square
Agile Software Development Robert Moore Senior Developer Curtin University.
AGILE DEVELOPMENT Outlines : Quick Look of agile development Agility
PROC-1 3. Software Process. PROC-2 What’s a process? Set of activities in creating software It involves creativity –hard to automate –Requires human judgment.
Systems Analysis and Design in a Changing World, 6th Edition
CS3773 Software Engineering Lecture 01 Introduction.
Alternate Software Development Methodologies
Agile Project Management with Scrum
Agile development By Sam Chamberlain. First a bit of history..
Agile
© S. Demeyer, S. Ducasse, O. Nierstrasz Reverse Engineering.1 2. Reverse Engineering What and Why Setting Direction  Most Valuable First First Contact.
IBM Business Consulting Services © Copyright IBM Corporation 2006 Unified Process March 27, 2006 Chris Armstrong.
Project Management – An Overview Project as a metaphor – a way to approach a series of activities Contexts – construction managementt, IT development,
Improving Process for Better Software. Who We Are An experiential learning program that provides technology solutions for our partners, and real- world.
Requirements Analysis Concepts & Principles
EXtreme Programming Quick Introduction Daniel Arraes Pereira Eduardo Lourenço Apolinário Ricardo de Oliveira Cavalcanti.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
1 Info 1409 Systems Analysis & Design Module Lecture 8 – Modelling tools and techniques HND Year /9 De Montfort University.
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
COMP 350: Object Oriented Analysis and Design Lecture 2
Classical vs. Agile Requirements Development Svetlin Nakov Telerik Software Academy academy.telerik.com Senior Technical Trainer
SEG4911 – Projet génie logiciel en fin d’études / Software Engineering Capstone Project Thoughts about Agile Design and Release Management Timothy C. Lethbridge.
CASE Tools And Their Effect On Software Quality Peter Geddis – pxg07u.
Using UML to report results of project management for information systems projects Donna M. Gavin MMIS 621 Information Systems Project Management Assignment.
Software Development Process
A Survey of Software Refactoring Tom Mens, Tom Tourwé
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
1. 2  Have a basic understanding of the fundamental principles of object-oriented software development.  Understand a selection of the design patterns.
CS361 Winter 2013 Final Exam Review Software Engineering I Oregon State University.
UML & Prototyping. What is a prototype? A prototype is a small-scale model. It can be (among other things): a series of screen sketches a storyboard,
Key Challenges for Modeling Language Creation by Demonstration Hyun Cho, Jeff Gray Department of Computer Science University of Alabama Jules White Bradley.
Classical vs. Agile Requirements Development Svetlin Nakov Telerik Software Academy academy.telerik.com Senior Technical Trainer
Software Engineering EKT 420 MOHAMED ELSHAIKH KKF 8A – room 4.
Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.
11 Partnership for Performance How to hear this lecture Click on the icon: to hear the narration for each slide.
Software Life Cycle Models. Waterfall Model  The Waterfall Model is the earliest method of structured system development.  The original waterfall model.
Extreme Programming (XP). Agile Software Development Paradigm Values individuals and interactions over processes and tools. Values working software over.
1 Systems Analysis and Design in a Changing World, Thursday, January 18, 2007.
Abstract We present two Model Driven Engineering (MDE) tools, namely the Eclipse Modeling Framework (EMF) and Umple. We identify the structure and characteristic.
1 Introduction to Software Engineering Lecture 1.
UML Use Case Diagramming Guidelines. What is UML? The Unified Modeling Language (UML) is a standard language for specifying, visualizing, constructing,
© Bennett, McRobb and Farmer Avoiding the Problems Based on Chapter 3 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and Design.
Verification of behavioural elements of UML models using B Truong, Ninh-Thuan and Souquieres, Jeanine In Proceedings of the 2005 ACM Symposium on.
Object-Oriented Software Engineering using Java, Patterns &UML. Presented by: E.S. Mbokane Department of System Development Faculty of ICT Tshwane University.
UX meets XP. Overview of core approaches to creating interactive software Waterfall, iterative design, Agile Hybrid methods of evaluation H&P Chapter.
Agile Methodology Paul Mohrbacher. Agile Manifesto We are uncovering better ways of developing software by doing it and helping others do it. Through.
Software Engineering Emphasis for Engineering Computing Courses William Hankley Computing & Information Sciences Kansas State University.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
Sofia Event Center May 2014 Martin Kulov Agile Project Management with Team Foundation Server.
Fall 2015CISC/CMPE320 - Prof. McLeod1 CISC/CMPE320 Assignment 1 due tomorrow, 7pm. RAD due next Friday in your Wiki. Presentations week 6. Tomorrow’s lecture.
AGILE XP AND SCRUM © University of LiverpoolCOMP 319slide 1.
Agile. Processes Waterfall Traditional With prototyping Sprial Agile Dynamic Systems Development Method (DSDM) Scrum Crystal eXtreme Programming (XP)
Agenda: Overview of Agile testing Difference between Agile and traditional Methodology Agile Development Methodologies Extreme Programming Test Driven.
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
Copyright 2015, Robert W. Hasker. Classic Model Gathering Requirements Specification Scenarios Sequences Design Architecture Class, state models Implementation.
Introduction to Software Engineering 1. Software Engineering Failures – Complexity – Change 2. What is Software Engineering? – Using engineering approaches.
AGILE PROJECT MANAGEMENT WITH TEAM FOUNDATION SERVER 2010 Brian Keller Microsoft.
Extreme Programming מתודולוגיה לפיתוח פרויקטי תוכנה.
Introducing an Agile Process to an Organization By Mike Cohn and Doris Ford IEEE Computer.
AGILE SCRUM METHODOLOGY
Software Engineering Process
Agile Software Development
Unified Modeling Language
Business System Development
Introduction to Software Engineering
COMP 350: Object Oriented Analysis and Design Lecture 2
Interactive Exploration of Reverse-Engineered UML Sequence Diagrams
Topic 1: Introduction to the Module and an Overview of Agile
A quick intro to SCRUM and KANBAN By John Voris.
Presentation transcript:

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

Agile Software Development Overview cont.

Paper Overview “Information Visualization for Agile Software Development Teams” By: Julia Paredes, Craig Anslow & Frank Maurer Research Questions 1)What information visualization techniques are used in Agile Software Development? 2)What information visualization techniques raise awareness of artifacts in Agile software development teams?

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]

Information Visualization - Design Low Fidelity Sketches Input Diagrams Both typically used to make design decision & communicate information.

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

Design - Example Software Microsoft SketchFlow ActiveStory Low Fidelity Sketches Easy to produce/edit Support gesture/touch metablogapi/7041.donate_5F00_thumb_5F00_1A04D12A.png

Design – Example Software – ActiveStory

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

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

Development Software - CodeCity

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

Information Visualization – Progress Tracking Burn charts Importance of work completed Completion definition? Task assigning Estimation MSE’s ction/01/imageBinary/jiraagile-02_whyja_1_flexibleplanning.png

Discussion & Conclusions Design Sketches ActiveStory Development Understanding Code Physical Objects Communication Information Radiators Dashboards Progress Tracking Taskboards

Discussion & Conclusions cont. Implications Barriers to adoption of technologies

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 , Sept. 2014, URL: [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 , 3-6 Feb. 2014, URL: [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 , URL: [4] Martin, Robert C. & Martin, Micah, “Agile Principles, Patterns, and Practices in C#,” Chapter 1: Agile Practices [5]

The End