Advertisement
Advertisement

More Related Content

Similar to Architecting apps - Can we write better code by planning ahead?(20)

Advertisement
Advertisement

Architecting apps - Can we write better code by planning ahead?

  1. Architecting apps Can we write better code by planning ahead? Paul Ardeleanu @pardel
  2. Thank you
  3. Architecting apps Can we write better code by planning ahead? Paul Ardeleanu @pardel
  4. Architecting apps
  5. http://media.ofcom.org.uk/news/2015/five-years-of-tablets/
  6. iOS apps available
  7. 100 000 000 000 app downloads
  8. https://www.flickr.com/photos/officenow/2631533044/
  9. http://www.tiobe.com/index.php/content/paperinfo/tpci/Swift.html
  10. http://www.tiobe.com/index.php/content/paperinfo/tpci/Swift.html
  11. http://www.apple.com/live/2015-june-event/
  12. http://agilemanifesto.org
  13. Solutions A. Respect the process B. Prototype C. Divide & Conquer D. Testing E. Documentation
  14. Respect the process
  15. Ask the right questions • usually starts with an idea / project requirement • sell the vision to the team • shoot the idea down and scale according to the platform constraints • communication, communication, communication • proposal
  16. Application Definition Statement
  17. Application Definition Statement “A concise, concrete declaration of the app’s main purpose and its intended audience.” https://developer.apple.com/library/ios/documentation/ UserExperience/Conceptual/MobileHIG/
  18. Solve real problems "An app must solve a user's problem clearly and elegantly." Eric Hope, User Experience Evangelist, Apple
  19. List of features too many features? Filter Yes Application Definition Statement App features User journeys Wirefames Prototype
  20. Prototype
  21. Wireframes and/or Prototype
  22. Wireframing • identify main areas of the app • identify screens • identify relations between screens • start from the simplest things and build up • start from the main task of the app
  23. Sketching
  24. Sketching
  25. Sketching
  26. Sketching
  27. Sketching
  28. Sketching
  29. Sketching
  30. Sketching
  31. Sketching
  32. Sketching
  33. Sketching
  34. Sketching
  35. Sketching
  36. Sketching
  37. More sketching start Splash screen List of sequences Add sequence Sequence edit 05:12start Timer start Add timer
  38. Sketching • start from the most important task • identify main areas of the app • identify screens • identify relations between screens • Don’t worry! You won’t get it right the first time
  39. Prototyping • Web based • Visual • Presentation based
  40. Divide & Conquer
  41. C4 Model
  42. C4 Model
  43. C4 Model
  44. Black Box • Avoid side effects • Control inter-dependencies • Improve testability
  45. Don’t follow blindly
  46. Playgrounds
  47. Testing
  48. Faster is always better
  49. Faster is always better
  50. TDD vs BDD • Test-Driven Development • Behaviour-Driven Development
  51. TBD To Be Determined
  52. Documentation
  53. UML The Unified Modelling Language (UML) is a general-purpose modelling language in the field of software engineering, which is designed to provide a standard way to visualize the design of a system.
  54. UML
  55. Documentation • Sanity • Communication across multiple teams • Inter-operability of features • Good practices • Sanity
  56. Solutions A. Respect the process B. Prototype C. Divide & Conquer D. Testing E. Documentation
  57. Off by 1
  58. Motivation
  59. Your Why
  60. Change one’s life
  61. Charity
  62. Help people
  63. Solutions A. Respect the process B. Prototype C. Divide & Conquer D. Testing E. Documentation F. Motivation
  64. Thank you! } twitter pardel@pardel.net }blog
Advertisement