Metrics and Databases for Agile Software Development Projects David I. Heimann IEEE Boston Reliability Society April 14, 2010.

Slides:



Advertisements
Similar presentations
Effective Test Planning: Scope, Estimates, and Schedule Presented By: Shaun Bradshaw
Advertisements

PROCESS FRAMEWORK Lecture - 3. Topics covered PROCESS FRAMEWORK PROCESS MODELS DIFFERENCE.
AGILE DEVELOPMENT Outlines : Quick Look of agile development Agility
MIS 2000 Class 20 System Development Process Updated 2014.
CS487 Software Engineering Omar Aldawud
What is Agile? Agile is a software methodology based on iterative and incremental development, where requirements and solutions evolve through collaboration.
Alternate Software Development Methodologies
 User assignments (product owner)  ‘circle’  1 st sprint: ◦ Scrum Boards (informative workspace)  Product -, release -, sprint -, defect backlog 
Agile development By Sam Chamberlain. First a bit of history..
Software Life Cycles ECE 417/617: Elements of Software Engineering
Software Quality Metrics
Review: Agile Software Testing in Large-Scale Project Talha Majeed COMP 587 Spring 2011.
Extreme Programming Team Members Gowri Devi Yalamanchi Sandhya Ravi.
Computer Engineering 203 R Smith Process/Plan Model 7/ Development Process Models Development Process Models are different ways to look at the processes.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Quality evaluation and improvement for Internal Audit
Agile Process: Overview n Agile software engineering represents a reasonable compromise to conventional software engineering for certain classes of software.
An Agile View of Process
Release & Deployment ITIL Version 3
Lean Software Management: BBC Worldwide Case Study Dr Peter Middleton MBA 13 th June 2014 IASA Ireland, Dublin Irish Computer.
Chapter 30 Agile Requirements Methods. Mitigating Requirements Risk  The entire requirements discipline within the software lifecycle exists for only.
CSCI ClearQuest 1 Rational ClearQuest Michel Izygon - Jim Helm.
What is Business Analysis Planning & Monitoring?
Chapter 3 – Agile Software Development 1Chapter 3 Agile software development.
Chapter 2 The process Process, Methods, and Tools
Chapter 5 Software Process Models. Problems with “Traditional” Processes 1.Focused on and oriented towards “large projects” and lengthy development time.
Agile Software Development Chapter 3 – Lecture 1 Adrián Susinos.
Current Trends in Systems Develpment
Software Configuration Management (SCM)
Embracing change with Extreme Programming Method Engineering Erik ten Brinke
University of Palestine software engineering department Testing of Software Systems Testing throughout the software life cycle instructor: Tasneem Darwish.
1 Software Process Models-ii Presented By; Mehwish Shafiq.
Test Metrics. Metrics Framework “Lord Kelvin, a renowned British physicist, is reputed to have said: ‘When you can measure what you are speaking about,
Agile Concepts - II “Agile” Estimating & Planning Nupul Kukreja 5 th November, 2014.
Rapid software development 1. Topics covered Agile methods Extreme programming Rapid application development Software prototyping 2.
Extreme Programming (XP). Agile Software Development Paradigm Values individuals and interactions over processes and tools. Values working software over.
XP – Extreme Programming
1 김 수 동 Dept. of Computer Science Soongsil University Tel Fax
Effort.vs. Software Product “Quality” Effort Product “Quality” Which curve? - linear? - logarithmic? - exponential?
A Metrics Program. Advantages of Collecting Software Quality Metrics Objective assessments as to whether quality requirements are being met can be made.
Requirements Engineering Requirements Engineering in Agile Methods Lecture-28.
Overview of RUP Lunch and Learn. Overview of RUP © 2008 Cardinal Solutions Group 2 Welcome  Introductions  What is your experience with RUP  What is.
Software Testing Process
Agenda: Overview of Agile testing Difference between Agile and traditional Methodology Agile Development Methodologies Extreme Programming Test Driven.
AGILE - IMPLEMENTATION (C) CLARION TECHNOLOGIES. ability to move quickly and easily…. AGILE MEANING (LITERALLY)
Intelligence and Information Systems 1 3/17/2004 © 2004 Raytheon Company USC/CSE Executive Workshop on Agile Experiences March 17, 2004 A Raytheon Agile.
Agile Development Chapter 10 - part 2. Agile Philosophy  A guiding philosophy and set of guidelines for : developing information systems in an unknown,
CSE Senior Design II Timebox Development Mike O’Dell Based on an earlier presentation by Bill Farrior, UTA, modified by Mike O’Dell.
A way to develop software that emphasizes communication, collaboration, and integration between development and IT operations teams.
Introduction to Software Engineering Muhammad Nasir Agile Software Development(2)
Scrum Overview. Agenda What is scrum…and what it isn’t Scrum’s Characteristics The Scrum Process Scrum Phases Measurements Key Practices Backlogs Sprint.
Review of Definitions Software life cycle: –Set of activities and their relationships to each other to support the development of a software system Software.
Agile Methodology. -Dhanashree Kumkar -Plus91 Technologies.
Informed Traveler Program and Applications Agile / Scrum Overview Jerry Inberg.
Adaptive Software Development Process Framework. Version / 21 / 2001Page Project Initiation 2.0 Adaptive Cycle Planning 5.0 Final Q/A and.
Chapter 2- Software Development Process  Product Components  Software Project Staff  Software Development Lifecycle Models.
Software Development Life Cycle. The Software Life Cycle  Encompasses all activities from initial analysis until end of work  Formal process for software.
Embedded Systems Software Engineering
Introduction to Systems Analysis and Design
Software Project Configuration Management
Object oriented system development life cycle
Introduction to Software Engineering
Chapter 1 (pages 4-9); Overview of SDLC
Agile Process: Overview
Mumtaz Ali Rajput +92 – SOFTWARE PROJECTMANAGMENT– WEEK 4 Mumtaz Ali Rajput +92 – 301-
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
Chapter 5: New and Emerging Process Methodologies
Chapter 2: Building a System
Building a “System” Moving from writing a program to building a system. What’s the difference?! Complexity, size, complexity, size complexity Breadth.
Presentation transcript:

Metrics and Databases for Agile Software Development Projects David I. Heimann IEEE Boston Reliability Society April 14, 2010

Based on the paper Based on the paper A Bipartite Empirically-Oriented Metrics Process For Agile Software Development by David Heimann, Peter Hennessey and Ashok Tripathi appearing in ASQ Software Quality Professional; Vol. 9, No. 2, 2007

Agile Methodologies Rapid development of small timeboxed subproducts of overall system Iterative development Quick responsiveness to changing requirements and customer needs

Metrics Identifying, obtaining data for, computing, and using quantitative values to evaluate development performance Key to identifying key goals and progress towards them Key for stable, coordinated, and reliable development

However… Agile processes emphasize individual interactions over processes, and software over documentation This can lead to a deficiency of metrics to allow for a stable and coordinated development framework

The Bipartite Approach

Bipartite Approach Agile development features two environments: – Development team – Project coordination and management Approach – Keep metrics activity to a minimum within the team, but a significant activity within project management

Metrics for Teams Goals – Address specific components being developed – Focus on the short term (up to 30 days) – Focus on specific requirements

Metrics for Teams Questions – What have we accomplished thus far? – Are we on schedule? – What inputs/outputs with other components do we need to address? – Do our tests cover code and functionality? – How is our testing proceeding?

Metrics for Teams Features – Small and simple configuration management systems – Simple database for documentation and related artifacts – Easily accessible list of requirements – Easily accessible schedule – Test-bank repository – Simple bulletin board or collaboration software

Metrics for Project Goals – Keep up with ever-changing requirements – Allow new and changed requirements to be easily translated into specific tasks for teams – Emphasize interactions among components – Consider customers and stakeholders – Focus on entire development life cycle

Metrics for Project Questions – How have requirements changed and are we keeping up? – What tasks have been distributed to teams, and what tasks have been accomplished? – Have all interactions been accounted for? – How is our product matching up to customer or market expectations? – Does software possess systemic integrity and fitness for customer delivery?

Metrics for Project Features – Distributed repository system – High-level configuration management system featuring tracking of parallel and mutually dependent applications and interfaces – Complete requirements, documentation, team- coordination databases – Overall schedules and team assignments – Collaborative bulletin board system

Implementation at Brooks

Brooks Agile Development Process (ADP) Requirements specified in terms of stories. – Encapsulated item of functionality – Easily communicated and validated with customers and related stakeholders – Implemented in no more than 2 person-weeks of development effort

Brooks Agile Development Process (ADP) Stories are batched into a single 6-week cycle, each cycle to be completed by one team in two consecutive 3-week iteration cycles. On average 5-6 iterations sufficient to supply overall functionality for a release. Stories scheduled into cycles based on priority, risk, and need for learning and refactoring

ADP Metrics Goals 1.Project Completion* 2.Level of Quality* 3.Ability to Change (content & priorities) 4.Ability to Integrate (cycle-products into seamless release) * Addressed in this work

Sample Questions – Goal 1 What has a team accomplished thus far? How is a team doing compared to its task commitments? Are we on schedule relative to the current release backlog? How fast is a team, or project as a whole, completing story development?

Sample Metrics – Goal 1 Story points Story size Story risk Velocity Complexity ratio On-Time-Delivery (OTD)

Issues – Goal 1 Metrics Contending with moving targets for planning and production Tracking requirements changes

Sample Questions – Goal 2 How well does team product, or overall product, fulfill current requirements? How well does a teams product pass the QA tests specific to that product? How well does the completed work pass integration and system test? Does developed product possess systemic integrity and customer fitness?

Sample Metrics – Goal 2 Defect rates Found-fixed ratio Weighted quality percentage Weighted quality percentage with confidence loss

Issues – Goal 2 Metrics Timeliness and complexity of testing regimen – Test First Impact of changing requirements on testing.

Conclusion

Summary Metrics for team should be brief, focused, and short-term Metrics for project management should be inclusive, encompass the projects full complexity, and track through the project life The two metrics areas complement each other. They not only coexist, but both must be present in the metrics design

Next Steps Questions, metrics, and issues for Goals 3 and 4. Further sophistication in data collection systems for bipartite agile metrics. Further implementation of process improvements incorporating bipartite approach.