sbqs - software craftsmanship

12
APPLYING SOFTWARE CRAFTSMANSHIP PRACTICES TO A SCRUM PROJECT: AN EXPERIENCE REPORT PERCIVAL LUCENA LEONARDO TIZZEI

Upload: percival-lucena

Post on 11-Apr-2017

68 views

Category:

Internet


0 download

TRANSCRIPT

APPLYING SOFTWARE CRAFTSMANSHIP PRACTICES TO A SCRUM PROJECT: AN EXPERIENCE REPORTPERCIVAL LUCENA

LEONARDO TIZZEI

IBM RESEARCH

• largest industrial research organization in the world

• 1945 (US) – 2010 (BR)

• 12 labs. 6 continents.

• 9.3 patents per day.

• Inventions: ATM, floopy drive, hard disck, relational database, DRAM, bar code,

• John Backus, Fred Brooks, Grady Booch

RESEARCH PROBLEM: SCRUM MISSING PIECES

SOFTWARE CRAFTSMANSHIP PRINCIPLE

Agile Software Crafsmanship

Working software Well-crafted software

Responding to change Steadily adding value

Individuals and interactions Community of professionals

Customer collaboration Productive partnerships

Pete-McBreen – Software Craftsmanship - 2001

Agile 2008 – Bob Martin - "Craftsmanship over Crap”

2008 - Craftsmanship Manifesto - Doug Bradbury et al

RESEARCH QUESTION

• How to apply Software Craftsmanship Principles to a Scrum Project?

RELATED WORK

• How to apply Software Craftsmanship Principles to a Scrum Project?

• - Guidelines: Clean Code – Robert Martin[Oliveira et al. 2015] – measure Tech Debt on Scrum[Brown et al. 2010] , [Mushtaq and Qureshi 2012] XP practices to solve tech debt

CRAFTSMANSHIP GUIDELINE

Practise Craftsmanship Value SDC Phase

Code of Ethics Community of professionals *

Planning Game Productive partnerships Planning

Agile Modeling Well-crafted software Development

Domain Driven Design Productive partnerships Development

Coding Standards Well-crafted software Development

Static Code Analysis Well-crafted software Development

Code Review Well-crafted software Development

Pair Programming Well-crafted software Development

Test Driven Development Steadily adding value Testing

Automated Integration Test Steadily adding value Testing

Automated Performance Test Steadily adding value Testing

Continuos Integration Steadily adding value Deploy

CASE STUDY

• Mobile Devices Ecommerce App

• A multi-tenant application inside third party e-commerce websites.

• The developer team was composed of ten developers, an architect, a Scrum master, and a Product Owner.

• The team members were distributed in United States and in Brazil and they developed the

• Project duration 12 2-week sprints

– TECH DEBT METRICS

DELETED LINES– TECH DEBT METRICS

CONCLUSIONS

• Scrum an incomplete software development methodology as it does not provide technical practices required by the software development

• Software craftsmanship goal is to improve existing agile manifesto principles raising the bar of quality level delivered to software development projects.

• Our guideline discusses each Software Craftsmanship principles and provides an approach on how to implement it on a Scrum project

• Case study analyzes how guideline was applied to a real project

THANK YOU