Agile Android
-
Upload
boris-farber -
Category
Technology
-
view
230 -
download
0
description
Transcript of Agile Android
DEFINITION OF DONE – THE HARDEST AND MOST THE IMPORTANT AGILE PRACTICE IN ANDROID DEVELOPMENT
Boris Farber04/12/[email protected]
About Me
Android Lead at Varonis Blog – www.api-solutions.com Open Source
Profiterole – Map Reduce on Android Sherlock Hash – Persistent Hash
Definition of Done
Definition of Done – the hardest and the most important agile practice in Android development
Without a consistent meaning of done, velocity cannot be estimated.
A common definition of done ensures that the increment produced at the end of sprint is of high quality, with minimal defects.
Definition Of Done
Am I finished with a feature? You are not finished with a feature until it
meets the benchmark defined by done. A very simple definition of done can be encapsulated as follows: Code Complete Test Complete Approved by Product Owner
Real Life
Platform/API limitations Time pressure Code is not clean
Developed by external company Developed by person who left Technical Debts – unfinished features
My feature
Make it work Refactor (Rinse and Repeat)
Butter Churning
Roll over the churner There will be last round
Problem
Very difficult to estimate Contagious
What to do
Don’t look how good code can be Look how bad code can not be (Smells)
Smells + Solutions
Code Duplication Extract method/class/Interface Move Common functionality …
Dependency Between UI and BL Context God Class Use Façade pattern (XXXPlayer)
Many ifs (specially with same condition) Use Design Patterns to reduce coupling …
Strategy State Template Method
Links
1. http://www.scrumalliance.org/community/articles/2008/september/definition-of-done-a-reference
2. http://www.api-solutions.com/2013/09/protocols-protocols-protocols.html
3. http://www.api-solutions.com/2013/11/using-strategy-pattern-to-block.html
THANK YOU ! [email protected]