• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Agile Workshop: Releasing Quality Software
 

Agile Workshop: Releasing Quality Software

on

  • 2,113 views

 

Statistics

Views

Total Views
2,113
Views on SlideShare
2,109
Embed Views
4

Actions

Likes
0
Downloads
59
Comments
0

2 Embeds 4

http://www.slideshare.net 3
http://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Agile Workshop: Releasing Quality Software Agile Workshop: Releasing Quality Software Presentation Transcript

    • Chennai Agile Workshop 20th March 2009 Releasing Quality Software By Balaji D Loganathan Agile Java Architect and Co-Founder, Spritle SPRITLE Software (P) Limited http://www.spritle.com Your partner in Distributed Agile info@spritle.com
    • About the Speaker Agile Java Architect and Co-Founder,  Spritle Software –A recent Startup Around 10 years of experience in IT Field  6 years of experience in enterprise Java  5 years of service to United Nations, Swiss  B.E / India; Master’s in IT / Australia  Moderator at Javaranch  UNeDocs India Focal Point  Certified SCRUM Master and Agile  Practitioner SPRITLE Software (P) Limited http://www.spritle.com Your partner in Distributed Agile info@spritle.com
    • Agile Quality Can Agile software development techniques and practices delivers quality software than the traditional software teams ? Can Agile helps me to cut cost spent on Quality checking ? SPRITLE Software (P) Limited http://www.spritle.com Your partner in Distributed Agile info@spritle.com
    • What is ‘Quality Software’ ?  In the context of software engineering, software quality measures how well software is designed (quality of design), and how well the software conforms to that design (quality of conformance), although there are several different definitions. [Source: Wikipedia]  Steve McConnell’s Code Complete divides software as “Internal and External Quality Characteristics”  Dr. DeMarco says “a product’s quality is a function of how much it changes the world for the better – In other words User Satisfacation ” SPRITLE Software (P) Limited http://www.spritle.com Your partner in Distributed Agile info@spritle.com
    • Quality in Agile – What ?  Agile Manifesto  Working software over comprehensive documentation  Agile Principles  Working software is the primary measure of progress.  Continuous attention to technical excellence and good design enhances agility.  The best architectures, requirements, and designs emerge from self-organizing teams. SPRITLE Software (P) Limited http://www.spritle.com Your partner in Distributed Agile info@spritle.com
    • Quality in Agile – How ? Incremental delivery Continuous Quality Assurance Test Driven Development Refactoring Continuous Integration SPRITLE Software (P) Limited http://www.spritle.com Your partner in Distributed Agile info@spritle.com
    • Incremental Delivery - I Picture taken from http://epf.eclipse.org/wikis/scrum/ SPRITLE Software (P) Limited http://www.spritle.com Your partner in Distributed Agile info@spritle.com
    • Incremental Delivery - II Set Quality with ‘Definition of Done’  Code produced (all 'to do' items in code completed)  Code commented, checked in and run against current version in source control  Builds without errors  Unit tests written and passing  Deployed to system test environment and passed system tests  Passed UAT (User Acceptance Testing) and signed off as meeting requirements  Any build/deployment/configuration changes implemented/documented/communicated  Relevant documentation/diagrams produced and/or updated  Remaining hours for task set to zero and task closed SPRITLE Software (P) Limited http://www.spritle.com Your partner in Distributed Agile info@spritle.com
    • Incremental Delivery - III Scope of ‘Done’ changes Source: Kent’s Presentation SPRITLE Software (P) Limited http://www.spritle.com Your partner in Distributed Agile info@spritle.com
    • Incremental Delivery - Benefits Faster ROI from deployment of more valuable software Frequent releases helps understand requirements better and implement valuable piece of the product Lower cost of quality The earlier we catch bugs, the less they cost to fix SPRITLE Software (P) Limited http://www.spritle.com Your partner in Distributed Agile info@spritle.com
    • Test Driven Development - I Design TEST TEST Implement SPRITLE Software (P) Limited http://www.spritle.com Your partner in Distributed Agile info@spritle.com
    • Test Driven Development - II SPRITLE Software (P) Limited http://www.spritle.com Your partner in Distributed Agile info@spritle.com
    • Test Driven Development - III Refactoring • “change to the internal structure of software to make it easier to understand and cheaper to change, WITHOUT changing the observable behaviour” (Martin Fowler, 1999) Code smells Duplicated Code Long Method Long Loop Extract Method SPRITLE Software (P) Limited http://www.spritle.com Your partner in Distributed Agile info@spritle.com
    • Test Driven Development - Benefits  Stability  Accountability  Improvement in code quality  Ease of maintenance  Reduced bugs  Ease of upgrade  Reduces production ‘surprises’  Higher developer confidence  Separated Concerns SPRITLE Software (P) Limited http://www.spritle.com Your partner in Distributed Agile info@spritle.com
    • Continuous Integration - I Automated Build and Test as Changes Occurs The CI Server sits on a clean, non- developer machine and rebuilds your project every time someone commits new changes May include “Agile Metrics” SPRITLE Software (P) Limited http://www.spritle.com Your partner in Distributed Agile info@spritle.com
    • Continuous Integration - II Source http://blog.briandicroce.com/2008/03/ SPRITLE Software (P) Limited http://www.spritle.com Your partner in Distributed Agile info@spritle.com
    • Continuous Integration - III SPRITLE Software (P) Limited http://www.spritle.com Your partner in Distributed Agile info@spritle.com
    • Continuous Integration - Benefits  Early detection of errors  Reducing slipping of schedule caused by significant time losses  Reducing and oftentimes eliminating loss of productivity caused by code base breakage  Increasing team morale and helping to maintain capable engineers on board  Reducing development time and hitting the market before competitors SPRITLE Software (P) Limited http://www.spritle.com Your partner in Distributed Agile info@spritle.com
    • What can affect Quality in Agile ? Overtime and Weekends Cut Testing (unit, acceptance, performance) Cut review (design, code) Don’t follow standards No refactoring SPRITLE Software (P) Limited http://www.spritle.com Your partner in Distributed Agile info@spritle.com
    • Agile Quality - Implications  Greater quality implies less need for quality assurance activities  Evolving Artifacts  Multi-Skilled Team  Agile shifted our attention to small teams incrementally delivering quality software • Testing at the end is no longer applicable SPRITLE Software (P) Limited http://www.spritle.com Your partner in Distributed Agile info@spritle.com
    • Agile Quality - Areas  Phases  Release Cycles  Iteration Cycles  Development Cycles  Types: Engineering Testing (Unit and Integration)  User Functionality Testing  Acceptance Testing  Regression Testing  Exploratory Testing  Performance and Scalability Testing  SPRITLE Software (P) Limited http://www.spritle.com Your partner in Distributed Agile info@spritle.com
    • Thank You Question ? Balaji D Loganathan, Spritle Software bloganathan@spritle.com SPRITLE Software (P) Limited http://www.spritle.com Your partner in Distributed Agile info@spritle.com