Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Empowering Teams

Sven Peters
November 23, 2017

Empowering Teams

Sven Peters

November 23, 2017
Tweet

More Decks by Sven Peters

Other Decks in Business

Transcript

  1. Jira Jira Core Jira Software Confluence Jira Service Desk Bitbucket

    Trello Statuspage Hipchat Sourcetree Fisheye Crucible Stride Crowd Bamboo
  2. increase Revenue Lower costs Less Downtime Project X has to

    be finished Refactor to Microservices Automatic deployments Project Y is the most important one
  3. INCREASE REVENUE LOWER COSTS LESS DOWNTIME PROJECT X HAS TO

    BE FINISHED REFACTOR TO MICROSERVICES AUTOMATIC DEPLOYMENTS PROJECT Y IS THE MOST IMPORTANT ONE North Star
  4. Measure How success looks like? How do we get there?

    Vision Focus Areas Themes What’s important 2 year plan
  5. Don’t believe in lone genius Everyone has innovation in them

    Team sport Everyone has innovation in them Don’t believe in lone genius Team sport Don’t believe in lone genius Everyone has innovation in them Team sport Everyone has innovation in them Don’t believe in lone genius Team sport Don’t believe in lone genius Everyone has innovation in them Team sport Everyone has innovation in them Don’t believe in lone genius Team sport Everyone has innovation in them Team sport Everyone has innovation in them Don’t believe in lone genius Team sport Don’t believe in lone genius Everyone has innovation in them Team sport Everyone has innovation in them Don’t believe in lone genius Team sport Don’t believe in lone genius Everyone has innovation in them Team sport Everyone has innovation in them Don’t believe in lone genius Team sport Don’t believe in lone genius Culture of Innovation
  6. - DURING - Event Remember, 
 time is ticking Have

    fun Get energized—
 eat and drink!
  7. - AFTER - Follow-up Get onto a product roadmap—and plan

    for next ShipIt Presentations— give it all you got Voting, celebrations, and winners announced
  8. Every team is a service team IT Marketing Finance PR

    Legal Development Design Events Workplace Operations
  9. public boolean isTrue(boolean value) { if (value == true) {

    return true; } else { return false; } }
  10. 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
  11. package com.miguelcatalan.materialsearchview; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager;

    import android.content.pm.ResolveInfo; import android.content.res.TypedArray; import android.graphics.Rect; import android.graphics.drawable.Drawable; import android.os.Build; import android.os.Parcel; import android.os.Parcelable; import android.speech.RecognizerIntent; import android.text.Editable; import android.text.TextUtils; import android.text.TextWatcher; import android.util.AttributeSet; import android.util.Log; import android.view.KeyEvent; import android.view.LayoutInflater; import android.view.MenuItem; import android.view.View; import android.view.inputmethod.InputMethodManager; import android.widget.AdapterView; import android.widget.EditText; import android.widget.Filter; import android.widget.Filterable; import android.widget.FrameLayout; import android.widget.ImageButton; import android.widget.ListAdapter; import android.widget.ListView; import android.widget.RelativeLayout; import android.widget.TextView; import com.miguelcatalan.materialsearchview.utils.AnimationUtil; LOC: counting…. MyAwesomeClass
  12. mSearchSrcTextView.setText(null); mSearchSrcTextView.requestFocus(); if (animate) { AnimationUtil.fadeInView(mSearchLayout, AnimationUtil.ANIMATION_DURATION_MEDIUM, new AnimationUtil.AnimationListener() {

    @Override public boolean onAnimationStart(View view) { return false; } @Override public boolean onAnimationEnd(View view) { if (mSearchViewListener != null) { mSearchViewListener.onSearchViewShown(); } return false; } @Override public boolean onAnimationCancel(View view) { return false; } }); } else { mSearchLayout.setVisibility(VISIBLE); if (mSearchViewListener != null) { mSearchViewListener.onSearchViewShown(); } } mIsSearchOpen = true; } /** * Close search view. */ public void closeSearch() { LOC: 996 MyAwesomeClass
  13. 1 2 3 4 5 6 7 8 9 10

    0 DETRACTORS PASSIVES PROMOTERS NPS
  14. Usability - 63% Reliability - 31% Functionality - 6% RUF’ing

    it! Bugs - 3% Editing - 6% Performance - 28% Navigation - 9% Complexity - 22% Content- 32%
  15. Team Health Full time owner Balanced team Shared understanding Value

    and Metrics Proof-of-concept One-pager Dependencies Velocity 8 check points for better