How to Do Kick-Ass Software Development
- 3. SVEN PETERS • LEAD EVANGELIST • ATLASSIAN • @SVENPET
Kick-AssSoftware Development
- 10. Who expects to see some code?
System.out.println
("Sorry, you may leave now");
- 11. Who expects to learn a new
methodology?
There is no Kick-Ass manifesto!
...and no certification
- 22. GOT FEEDBACK?
Got Feedback?
Submit Cancel
What do you like? * Good tools, but this talk doesn't kick @$$ at all!
What needs to be
improved?*
Add more jokes!
Name
BrowseUpload a screenshot
Email
Freddy Eedback
f.eedback@complain.com
Rate the page * Awesome HorribleGood Meh! Bad
GOT FEEDBACK?
Got Feedback?
Submit Cancel
What do you like? * Good tools, but this talk doesn't kick ass at all!
What needs to be
improved?*
Add more jokes!
Name
BrowseUpload a screenshot
Email
Freddy Eedback
f.eedback@complain.com
Rate the page * Awesome HorribleGood Meh! Bad
Make it simple
Easy to find
Fast to submit
- 28. Who has seen the Gorilla?
Who has seen the curtain changed color?
Who has seen a black shirt player leaving?
- 33. branch code merge
too late
At the right time2
Code Reviews
2 At the right time
branch code mergereview
Code Reviews
- 34. At the right time
a view into the future
3
Code Reviews
Asynchronously
Reviewer 1 Reviewer 2 Reviewer 3
3
Code Reviews
- 37. 4
2
Keep the flow
merge when min. approvals
5
Code Reviews
Code Review Tipsmore
removing yourself is alright
be constructive
@mention people
declining is not the end!
be humble accepting feedback
- 41. Qual·i·ty As·sis·tance [kwol-i-tee] [uh-sis-tuh ns]
Quality is everybody's responsibility. QA employees help
and train developers to become better tester, testing the
more complicated stuff, creating test data, investigating
in new test tools and working on test strategies.
QA
7 Tipsfor kick-ass DoTing
- 51. Design Guidelines
Tools to test designJust a few controls
Simple rules
https://developer.atlassian.com/design/
Dev Speed
Kick-Ass
DesignWorkshopfor Developers
- 67. Connect with the team Chat
team chat rooms
ReConnect
z z z
Chat
chat room history
- 72. get answers from the experts
all the topic experts in one room
the team is already working on it!
- 76. We're helping people
to be faster
by automating their work
How much time do you spend a week
to automate your software development?
- 77. We are trying hard to write
beautiful code
package com.miguelcatalan.materialsearchview;
import android.app.Activity;
import android.widget.ListView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import java.lang.reflect.Field;
import java.util.List;
/**
* @author Miguel Catalan Bañuls
*/
public class MaterialSearchView extends FrameLayout implements Filter.FilterListener {
private MenuItem mMenuItem;
private boolean mIsSearchOpen = false;
public MaterialSearchView(Context context) {
this(context, null);
}
public MaterialSearchView(Context context, AttributeSet attrs) {
this(context, attrs, 0);
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
mUserQuery = s;
startFilter(s);
MaterialSearchView.this.onTextChanged(s);
}
}
LOC: 32
MyAwesomeClass
- 80. 83% test coverage
23 deprecated methods
1136
36 compiler warnings
old unit test framework
Code quality
75% test coverage
32 deprecated methods
1289
45 compiler warnings
old unit test framework
Code quality
- 81. Developers are trying to
solve problems
Developers don’t write
bad code on purpose
Calling
Dr. Codemeasure constantly the engineering health
- 82. measure constantly the engineering health
Calling
Dr. Code
jira.stats.tests.junit.3.count
No more JUnit 3 tests!
JUnit 3 JUnit 4
- 84. Hall of Shame!
You’ll enter the
Wallboard - so everyone sees it!
Hall of Fame!
You’ll enter the
Fixed a matrix?
- 90. Step out of your comfort zone
and be more awesome
Did you
kick ass
today?