XP Days UA Pecha kucha

Post on 10-May-2015

328 views 0 download

description

My small talk about processes, tools and people at eBuddy

Transcript of XP Days UA Pecha kucha

Mobile developer is Software developer

maven, ant, gradle, bb-ant-tools, proguard, antennajunit, testng, fest assert, mockito, jmockitrobolectric, microemulator, robotium, j2meunit, sikuli, monkeyrunnerroboguice, androidannotations, daggermicrolog, jarrut, lwuit, advanced bb ui, guava, otto, actionbarsherlock, viepageindicator, disklrucachejenkins, teamcity, bamboo, sonar, mooseintellij idea, eclipse, eclipse code formatter plugin

Company

eBuddy

• 2003, Chat and XMS• AIM, Facebook, GoogleTalk, ICQ,

MySpace, MSN and Yahoo• iOS, Android, BB, Symbian, J2ME, WP7,

Web• 30 million monthly unique users• 26 different nationalities

Build script

• Ant, antenna, bb-ant-tools• Maven• Proguard• Release autochecks• Reviewing gradle

Translations

• Wiki, excel• XSLT, commit to vsc

Continuous integration

• TeamCity• 9 agents – Linux, Windows,

Mac• Trunk, Beta and Release• Pin to deploy in TC

Dependencies

• Artifactory, ivy• SDKs• Open Source

Analytics

• Flurry, Google analytics• DataWareHouse

UX and customer support

Teams

• 4-5 developers, 1quality assurance

• Platform and feature teams• Scrum

Project setup

• General conventions, definition of done

• Eclipse, IDEA• Eclipse code formatter

plugin

Source Control

• Trunk, release and spike branches

• Commit frequently, commit smart

• Behavior commit comments

Code

• Clean code• Preprocessor and

optimizations • Comments only for firmware

bugs workarounds• BE developer• Sonar for project health

Tests philosophy

Tests practice

• Quick feedback• Robolectric, microemulator• Emulator/simulator tests

Dependency injection

• Separate creation and usage• Roboguice, Dagger

Other tests

• Automate regression• Sikuli, Robotium• Monkey runner

Knowledge sharing

• Pair programming• Code review• Design sessions• Wiki

Spikes

• Clear outcome• Timeboxed• Presentable

Personal projects

• 2 personal projects• One sprint duration• Presented on company

meeting

Conclusion

• @jack_martynov• eugen.martynov@gmail.com