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

Close the Loop: Designing and Developing Togeth...

zacksimon
February 24, 2017

Close the Loop: Designing and Developing Together.

Update to the talk that I gave with Kristin Marsicano on improving design and development communication.

zacksimon

February 24, 2017
Tweet

More Decks by zacksimon

Other Decks in Programming

Transcript

  1. Kristin Marsicano @kristinmars Zack Simon @zackiets Well, what’s the problem?

    Kristin Marsicano @kristinmars Zack Simon @zackiets
  2. Kristin Marsicano @kristinmars Zack Simon @zackiets What’s a project kickoff

    meeting? Who does what? When do things happen? What tools?
  3. Kristin Marsicano @kristinmars Zack Simon @zackiets Sprint 1 Stakeholder Review

    Developer Review Design Sprint Planning Design Login Developer Chores Sprint Retro
  4. Kristin Marsicano @kristinmars Zack Simon @zackiets Sprint 1 Stakeholder Review

    Developer Review Design Sprint Planning Design Login Developer Chores Sprint Retro
  5. Kristin Marsicano @kristinmars Zack Simon @zackiets Sprint 1 Stakeholder Review

    Developer Review Design Sprint Planning Design Login Developer Chores Sprint Retro
  6. Kristin Marsicano @kristinmars Zack Simon @zackiets Sprint 1 Stakeholder Review

    Developer Review Design Sprint Planning Design Login Developer Chores Sprint Retro
  7. Kristin Marsicano @kristinmars Zack Simon @zackiets Sprint 1 Stakeholder Review

    Developer Review Design Sprint Planning Design Login Developer Chores Sprint Retro
  8. Kristin Marsicano @kristinmars Zack Simon @zackiets Sprint 1 Stakeholder Review

    Developer Review Design Sprint Planning Design Login Developer Chores Sprint Retro
  9. Kristin Marsicano @kristinmars Zack Simon @zackiets Stakeholder Review Design Signup

    Sprint Planning Design QA Build Sprint Retro Developer Review Design Develop Login Sprint 2
  10. Kristin Marsicano @kristinmars Zack Simon @zackiets User Stories and Design

    User can see login screen when they launch the app. User can see error text when entering invalid email. User is logged into app after entering valid credentials and pressing the Login button.
  11. Kristin Marsicano @kristinmars Zack Simon @zackiets “User sees login screen

    when they launch the app.” Preconditions/Test Steps: 1. Make sure user is logged out 2. Click app icon from launch screen
  12. Kristin Marsicano @kristinmars Zack Simon @zackiets “User sees login screen

    when they launch the app.” Preconditions/Test Steps: 1. Make sure user is logged out 2. Click app icon from launch screen Acceptance Criteria: 1. Login screen is styled according to design, containing 2. toolbar with title of app 3. an email field 4. a password field 5. a login button with active, disabled, pressed, and focused state
  13. Kristin Marsicano @kristinmars Zack Simon @zackiets “User sees login screen

    when they launch the app.” Preconditions/Test Steps: 1. Make sure user is logged out 2. Click app icon from launch screen Acceptance Criteria: 1. Login screen is styled according to design, containing 2. toolbar with title of app 3. an email field 4. a password field 5. a login button with active, disabled, pressed, and focused state Not Included: Error states for email and password fields Functionality of login button
  14. Kristin Marsicano @kristinmars Zack Simon @zackiets Stakeholder Review Design Signup

    Sprint Planning Design QA Build Sprint Retro Developer Review Design Develop Login Sprint 2
  15. Kristin Marsicano @kristinmars Zack Simon @zackiets Atoms: Colors <!-- Custom

    Colors --> <color name="blue">#48D8FD</color> <color name="blueDark">#3EC7EB</color> <color name="red">#FF535F</color> <color name="grayDark">#2C2C2C</color> <color name="grayLight">#DCDCDC</color> <color name="gray">#8A8A8A</color> In values/colors.xml: In style guide:
  16. Kristin Marsicano @kristinmars Zack Simon @zackiets Atoms: Colors <!-- Theme

    Colors --> <color name="colorPrimary">@color/blue</color> <color name="colorPrimaryDark">@color/blueDark</color> <color name="colorAccent">@color/red</color> <!-- Custom Colors --> <color name="blue">#48D8FD</color> <color name="blueDark">#3EC7EB</color> <color name="red">#FF535F</color> <color name="grayDark">#2C2C2C</color> <color name="grayLight">#DCDCDC</color> <color name="gray">#8A8A8A</color> In style guide: In values/colors.xml:
  17. Kristin Marsicano @kristinmars Zack Simon @zackiets Atoms: Type Styles <!--

    Text Styles --> <style name="Body" parent="TextAppearance.AppCompat"> <item name="android:fontFamily">sans-serif</item> <item name="android:textStyle">normal</item> <item name="android:textSize">14sp</item> </style> ... In style guide: In values/styles.xml:
  18. Kristin Marsicano @kristinmars Zack Simon @zackiets Molecules: EditText <!-- Molecules

    --> <style name="StandardEditText" parent="Widget.AppCompat.EditText"> <item name="android:textAppearance">@style/Body</item> <item name="android:textColor">@color/grayDark</item> <item name="android:textColorHint">@color/grayLight</item> </style> ... In values/styles.xml:
  19. Kristin Marsicano @kristinmars Zack Simon @zackiets <!-- Molecules --> <style

    name="StandardEditText" parent="Widget.AppCompat.EditText"> <item name="android:textAppearance">@style/Body</item> <item name="android:textColor">@color/grayDark</item> <item name="android:textColorHint">@color/grayLight</item> </style> ... Molecules: EditText In values/styles.xml: <!-- Text Styles --> ... <style name="Body" parent="TextAppearance.AppCompat"> <item name="android:fontFamily">sans-serif</item> <item name="android:textStyle">normal</item> <item name="android:textSize">14sp</item> </style> ...
  20. Kristin Marsicano @kristinmars Zack Simon @zackiets A Screen is an

    Organism <LinearLayout ...> <EditText ... style="@style/StandardEditText" /> <EditText ... style="@style/StandardEditText"/> ... </LinearLayout> In layout/activity_login.xml: In wireframes:
  21. Kristin Marsicano @kristinmars Zack Simon @zackiets Leveraging the Theme <!--

    Base application theme. → <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> ... <item name="editTextStyle">@style/StandardEditText</item> </style> <!-- Molecules --> <style name="StandardEditText" parent="Base.Widget.AppCompat.EditText"> <item name="android:textAppearance">@style/Body</item> <item name="android:textColor">@color/red</item> <item name="android:textColorHint">@color/blue</item> </style> ... In values/styles.xml:
  22. Kristin Marsicano @kristinmars Zack Simon @zackiets Sprint 2 Stakeholder Review

    Design Signup Sprint Planning Design QA Build Sprint Retro Developer Review Design Develop Login
  23. Kristin Marsicano @kristinmars Zack Simon @zackiets Sprint 2 Stakeholder Review

    Design Signup Sprint Planning Design QA Build Sprint Retro Developer Review Design Develop Login
  24. Kristin Marsicano @kristinmars Zack Simon @zackiets Sprint 2 Stakeholder Review

    Design Signup Sprint Planning Design QA Build Sprint Retro Developer Review Design Develop Login
  25. Kristin Marsicano @kristinmars Zack Simon @zackiets 3 things to remember

    1. Be empathetic 2. Check your ego 3. Assume positive intent