Index - Fullstack Development and Agile UX Teams

50 %
50 %
Information about Index - Fullstack Development and Agile UX Teams

Published on February 27, 2018

Author: cnbailey

Source: slideshare.net

1. Chris Bailey
 (@Chris__Bailey) Discover. Collaborate. Deploy. Fullstack Development Enabling Agile UX Squads

2. MARS

3. 20241998

4. 1998 Mars Climate ORbiteR

5. 1998 Mars Climate ORbiteR DeC 11: Launch from Cape Canaveral

6. 1998 Mars Climate ORbiteR DeC 11: Launch from Cape Canaveral

7. 1998 Mars Climate ORbiteR

8. 1999 Mars Climate ORbiteR

9. 1999 Mars Climate ORbiteR Sept 23rd: Lost Radio Contact

10. 1999 Mars Climate ORbiteR

11. 1999 Mars Climate ORbiteR Sept 25th: Mission Declared a LOSS

12. PLANNED TRAJECTORY

13. PLANNED TRAJECTORY

14. PLANNED TRAJECTORY TCM-4

15. PLANNED TRAJECTORY TCM-4

16. PLANNED TRAJECTORY TCM-4 226 KM

17. PLANNED TRAJECTORY TCM-4 ACTUAL TRAJECTORY 226 KM

18. PLANNED TRAJECTORY TCM-4 ACTUAL TRAJECTORY 226 KM TCM-4

19. PLANNED TRAJECTORY TCM-4 TCM-4 ACTUAL TRAJECTORY 226 KM

20. PLANNED TRAJECTORY TCM-4 TCM-4 ACTUAL TRAJECTORY 226 KM 57 KM

21. Lockheed Martin
 Ground SoftwareNasa Jet Propulsion Laboratory
 Trajectory Calculation Software

22. Lockheed Martin
 Ground SoftwareNasa Jet Propulsion Laboratory
 Trajectory Calculation Software Lockheed Martin
 Ground Software Nasa Jet Propulsion Laboratory
 Trajectory Calculation Software SIS
 (Software Interface Specification) Total Impulse pounds-seconds (United States Customary Unit) newton-seconds (International System of Units) 14.45

23. “Software interop is hard”

24. “Software interop is hard” —Rocket Scientists

25. Icons made by Freepik from www.flaticon.com

26. Icons made by Freepik from www.flaticon.com

27. Icons made by Freepik from www.flaticon.com

28. Icons made by Freepik from www.flaticon.com

29. Backend
 For Frontend

30. “The BFF is tightly coupled to a specific user experience, and will typically be maintained by the same team as the user interface, thereby making it easier to define and adapt the API as the UI requires, while also simplifying process of lining up release of both the client and server components.” — Sam Newman, ThoughtWorks

31. GATEWAY PUBLIC NETWORK CLOUD NETWORK Client Devices Backend API ROUTING PROXY Micro-Services Hosted Services iOS Team Android Team Web Team API Team

32. GATEWAY PUBLIC NETWORK CLOUD NETWORK Client Devices ROUTING PROXY Micro-Services Hosted Services iOS Team Android Team Web Team

33. GATEWAY PUBLIC NETWORK CLOUD NETWORK Client Devices ROUTING PROXY Micro-Services Hosted Services iOS Team Android Team Web Team BFF API

34. GATEWAY PUBLIC NETWORK CLOUD NETWORK Client Devices ROUTING PROXY Micro-Services Hosted ServicesBFF API

35. GATEWAY PUBLIC NETWORK CLOUD NETWORK Client Devices ROUTING PROXY Micro-Services Hosted Services iOS Team Android Team Web Team BFF API

36. GATEWAY PUBLIC NETWORK CLOUD NETWORK Client Devices ROUTING PROXY Micro-Services Hosted Services iOS Team Android Team Web Team BFF API UI Engineering

37. GATEWAY PUBLIC NETWORK CLOUD NETWORK Client Devices ROUTING PROXY Micro-Services Hosted Services iOS Team Android Team Web Team BFF API UI Engineering Systems Engineering

38. Icons made by Freepik from www.flaticon.com

39. Icons made by Freepik from www.flaticon.com

40. Icons made by Freepik from www.flaticon.com

41. Icons made by Freepik from www.flaticon.com

42. Icons made by Freepik from www.flaticon.com

43. Icons made by Freepik from www.flaticon.com

44. Fullstack
 Development

45. Swift

46. struct Profile { } Swift

47. struct Profile { var name: String } Swift

48. struct Profile { var name: String var photo: Data } Swift

49. struct Profile { var name: String var photo: Data var dateOfBirth: Date } Swift

50. struct Profile { var name: String var photo: Data var dateOfBirth: Date } Swift

51. struct Profile { var name: String var photo: Data var dateOfBirth: Date } Swift

52. { "name": "", "photo": "", "dateOfBirth": "" } { "name": "", "photo": "", "dateOfBirth": "" } struct Profile { var name: String var photo: Data var dateOfBirth: Date } Swift

53. { "name": "", "photo": "", "dateOfBirth": "" } { "name": "", "photo": "", "dateOfBirth": "" } struct Profile { var name: String var photo: Data var dateOfBirth: Date } Swift Node.js

54. { "name": "", "photo": "", "dateOfBirth": "" } { "name": "", "photo": "", "dateOfBirth": "" } struct Profile { var name: String var photo: Data var dateOfBirth: Date } Swift parsed = JSON.parse(data) photo = parsed["photo"] name = parsed["dateOfBirth"] dateOfBirth = parsed["dateOfBirth"] Node.js

55. { "name": "", "photo": "", "dateOfBirth": "" } { "name": "", "photo": "", "dateOfBirth": "" } struct Profile { var name: String var photo: Data var dateOfBirth: Date } Swift parsed = JSON.parse(data) photo = parsed["photo"] name = parsed["dateOfBirth"] dateOfBirth = parsed["dateOfBirth"] Node.js

56. { "name": "", "photo": "", "dateOfBirth": "" } { "name": "", "photo": "", "dateOfBirth": "" } struct Profile { var name: String var photo: Data var dateOfBirth: Date } Swift parsed = JSON.parse(data) photo = parsed["photo"] name = parsed["dateOfBirth"] dateOfBirth = parsed["dateOfBirth"] Node.js String

57. { "name": "", "photo": "", "dateOfBirth": "" } { "name": "", "photo": "", "dateOfBirth": "" } struct Profile { var name: String var photo: Data var dateOfBirth: Date } Swift parsed = JSON.parse(data) photo = parsed["photo"] name = parsed["dateOfBirth"] dateOfBirth = parsed["dateOfBirth"] Node.js String String

58. { "name": "", "photo": "", "dateOfBirth": "" } { "name": "", "photo": "", "dateOfBirth": "" } struct Profile { var name: String var photo: Data var dateOfBirth: Date } Swift parsed = JSON.parse(data) photo = parsed["photo"] name = parsed["dateOfBirth"] dateOfBirth = parsed["dateOfBirth"] Node.js String String String

59. { "name": "", "photo": "", "dateOfBirth": "" } { "name": "", "photo": "", "dateOfBirth": "" } struct Profile { var name: String var photo: Data var dateOfBirth: Date } Swift parsed = JSON.parse(data) photo = parsed["photo"] name = parsed["dateOfBirth"] dateOfBirth = parsed["dateOfBirth"] Node.js String String String

60. { "name": "", "photo": "", "dateOfBirth": "" } { "name": "", "photo": "", "dateOfBirth": "" } struct Profile { var name: String var photo: Data var dateOfBirth: Date } Swift parsed = JSON.parse(data) photo = parsed["photo"] name = parsed["dateOfBirth"] dateOfBirth = parsed["dateOfBirth"] Node.js

61. { "name": "", "photo": "", "dateOfBirth": "" } { "name": "", "photo": "", "dateOfBirth": "" } struct Profile { var name: String var photo: Data var dateOfBirth: Date } Swift parsed = JSON.parse(data) photo = parsed["photo"] name = parsed["dateOfBirth"] dateOfBirth = parsed["dateOfBirth"] Node.js Data

62. { "name": "", "photo": "", "dateOfBirth": "" } { "name": "", "photo": "", "dateOfBirth": "" } struct Profile { var name: String var photo: Data var dateOfBirth: Date } Swift parsed = JSON.parse(data) photo = parsed["photo"] name = parsed["dateOfBirth"] dateOfBirth = parsed["dateOfBirth"] Node.js Data String

63. { "name": "", "photo": "", "dateOfBirth": "" } { "name": "", "photo": "", "dateOfBirth": "" } struct Profile { var name: String var photo: Data var dateOfBirth: Date } Swift parsed = JSON.parse(data) photo = parsed["photo"] name = parsed["dateOfBirth"] dateOfBirth = parsed["dateOfBirth"] Node.js Data String String

64. { "name": "", "photo": "", "dateOfBirth": "" } { "name": "", "photo": "", "dateOfBirth": "" } struct Profile { var name: String var photo: Data var dateOfBirth: Date } Swift parsed = JSON.parse(data) photo = parsed["photo"] name = parsed["dateOfBirth"] dateOfBirth = parsed["dateOfBirth"] Node.js

65. { "name": "", "photo": "", "dateOfBirth": "" } { "name": "", "photo": "", "dateOfBirth": "" } struct Profile { var name: String var photo: Data var dateOfBirth: Date } Swift parsed = JSON.parse(data) photo = parsed["photo"] name = parsed["dateOfBirth"] dateOfBirth = parsed["dateOfBirth"] Node.js Date

66. { "name": "", "photo": "", "dateOfBirth": "" } { "name": "", "photo": "", "dateOfBirth": "" } struct Profile { var name: String var photo: Data var dateOfBirth: Date } Swift parsed = JSON.parse(data) photo = parsed["photo"] name = parsed["dateOfBirth"] dateOfBirth = parsed["dateOfBirth"] Node.js Date String

67. { "name": "", "photo": "", "dateOfBirth": "" } { "name": "", "photo": "", "dateOfBirth": "" } struct Profile { var name: String var photo: Data var dateOfBirth: Date } Swift parsed = JSON.parse(data) photo = parsed["photo"] name = parsed["dateOfBirth"] dateOfBirth = parsed["dateOfBirth"] Node.js Date String String

68. { "name": "", "photo": "", "dateOfBirth": "" } { "name": "", "photo": "", "dateOfBirth": { "year": "month": "day": } struct Profile { var name: String var photo: Data var dateOfBirth: Date } Swift parsed = JSON.parse(data) photo = parsed["photo"] name = parsed["dateOfBirth"] dateOfBirth = parsed["dateOfBirth"] Node.js Date String

69. { "name": "", "photo": "", "dateOfBirth": "" } { "name": "", "photo": "", "dateOfBirth": { "year": "month": "day": } struct Profile { var name: String var photo: Data var dateOfBirth: Date } Swift parsed = JSON.parse(data) photo = parsed["photo"] name = parsed["dateOfBirth"] dateOfBirth = parsed["dateOfBirth"] year = dateOfBirth["year"] month = dateOfBirth["month"] day = dateOfBirth[“day"] Node.js Date Strings

70. “Software interop is hard” —Rocket Scientists

71. struct Profile { var name: String var photo: Data var dateOfBirth: Date } Swift

72. struct Profile { var name: String var photo: Data var dateOfBirth: Date } Swift Swift KITURA

73. struct Profile: Codable { var name: String var photo: Data var dateOfBirth: Date } Swift Swift KITURA

74. struct Profile: Codable { var name: String var photo: Data var dateOfBirth: Date } Swift Swift struct Profile: Codable { var name: String var photo: Data var dateOfBirth: Date } KITURA

75. struct Profile: Codable { var name: String var photo: Data var dateOfBirth: Date } Swift Swift struct Profile: Codable { var name: String var photo: Data var dateOfBirth: Date } let encoder = JSONEncoder() let data = try encoder.encode(profile) KITURA

76. struct Profile: Codable { var name: String var photo: Data var dateOfBirth: Date } Swift Swift struct Profile: Codable { var name: String var photo: Data var dateOfBirth: Date } let decoder = JSONDecoder() let person = try decoder.decode(Person.self, from: jsonData) KITURA

77. { "name": "", "photo": "", "dateOfBirth": "" } { "name": "", "photo": "", "dateOfBirth": "" } struct Profile: Codable { var name: String var photo: Data var dateOfBirth: Date } Swift Swift struct Profile: Codable { var name: String var photo: Data var dateOfBirth: Date } KITURA

78. struct Profile: Codable { var name: String var photo: Data var dateOfBirth: Date } Swift Swift struct Profile: Codable { var name: String var photo: Data var dateOfBirth: Date } KITURA

79. struct Profile: Codable { var name: String var photo: Data var dateOfBirth: Date } Swift Swift struct Profile: Codable { var name: String var photo: Data var dateOfBirth: Date } KITURA

80. Icons made by Freepik from www.flaticon.com

81. Icons made by Freepik from www.flaticon.com

82. Icons made by Freepik from www.flaticon.com

83. Fullstack BFFs

84. GATEWAY PUBLIC NETWORK CLOUD NETWORK Client Devices ROUTING PROXY Micro-Services Hosted Services iOS Team Android Team Web Team BFF API UI Engineering Systems Engineering

85. GATEWAY PUBLIC NETWORK CLOUD NETWORK Client Devices ROUTING PROXY Micro-Services Hosted Services iOS Team Android Team Web Team BFF API UI Engineering Systems Engineering

86. GATEWAY PUBLIC NETWORK CLOUD NETWORK Client Devices ROUTING PROXY Micro-Services Hosted Services iOS Team Android Team Web Team BFF API UI Engineering Systems Engineering

87. GATEWAY PUBLIC NETWORK CLOUD NETWORK Client Devices ROUTING PROXY Micro-Services Hosted Services iOS Team Android Team Web Team BFF API UI Engineering Systems Engineering

88. GATEWAY PUBLIC NETWORK CLOUD NETWORK Client Devices ROUTING PROXY Micro-Services Hosted Services iOS Team Android Team Web Team BFF API UI Engineering Systems Engineering

89. GATEWAY PUBLIC NETWORK CLOUD NETWORK Client Devices ROUTING PROXY Micro-Services Hosted Services iOS Team Android Team Web Team BFF API UI Engineering Systems Engineering

90. node.js

91. node.js

92. node.js

93. node.js +

94. node.js +

95. node.js +

96. node.js ++

97. GATEWAY PUBLIC NETWORK CLOUD NETWORK Client Devices ROUTING PROXY Micro-Services Hosted Services iOS Team Android Team Web Team BFF API UI Engineering Systems Engineering

98. GATEWAY PUBLIC NETWORK CLOUD NETWORK Client Devices ROUTING PROXY Micro-Services Hosted Services iOS Team Android Team Web Team BFF API UI Engineering Systems Engineering

99. GATEWAY PUBLIC NETWORK CLOUD NETWORK Client Devices ROUTING PROXY Micro-Services Hosted Services iOS Team Android Team Web Team BFF API UI Engineering Systems Engineering

100. Create Project Deploy Deploy

101. Create Project Deploy Deploy

102. Fullstack Development For safer missions to Mars

103. Thank you!

Add a comment