software development - ric centre · testing & test automation required for continuous delivery...
TRANSCRIPT
![Page 1: SOFTWARE DEVELOPMENT - RIC Centre · TESTING & TEST AUTOMATION Required for continuous delivery Dedicated Quality Assurance ... CHOOSING A MOBILE DEV PLATFORM. CLOUD-INTEGRATED MOBILE](https://reader030.vdocuments.net/reader030/viewer/2022041023/5ed4774d6e10b435861eea97/html5/thumbnails/1.jpg)
SOFTWARE DEVELOPMENTNotes for Startup Founders
March 25th, 2015
![Page 2: SOFTWARE DEVELOPMENT - RIC Centre · TESTING & TEST AUTOMATION Required for continuous delivery Dedicated Quality Assurance ... CHOOSING A MOBILE DEV PLATFORM. CLOUD-INTEGRATED MOBILE](https://reader030.vdocuments.net/reader030/viewer/2022041023/5ed4774d6e10b435861eea97/html5/thumbnails/2.jpg)
Brian PhamProfessor, School of Applied Computing , Sheridan CollegeAdjunct Professor, School of Computer Science, University of [email protected]
YuFan DongComputer Science Student, University of WaterlooQA Analyst, Oracle [email protected]
Rahil ShahComputer Programmer Student, Sheridan CollegeAndroid Developer, [email protected]
Yash TilvaComputer Programmer Student, Sheridan CollegeWeb Developer, [email protected]
![Page 3: SOFTWARE DEVELOPMENT - RIC Centre · TESTING & TEST AUTOMATION Required for continuous delivery Dedicated Quality Assurance ... CHOOSING A MOBILE DEV PLATFORM. CLOUD-INTEGRATED MOBILE](https://reader030.vdocuments.net/reader030/viewer/2022041023/5ed4774d6e10b435861eea97/html5/thumbnails/3.jpg)
AGENDA
Managing a software endeavor
Useful tools
Choosing the right dev platform
![Page 4: SOFTWARE DEVELOPMENT - RIC Centre · TESTING & TEST AUTOMATION Required for continuous delivery Dedicated Quality Assurance ... CHOOSING A MOBILE DEV PLATFORM. CLOUD-INTEGRATED MOBILE](https://reader030.vdocuments.net/reader030/viewer/2022041023/5ed4774d6e10b435861eea97/html5/thumbnails/4.jpg)
MANAGING A SOFTWARE ENDEAVOR
![Page 5: SOFTWARE DEVELOPMENT - RIC Centre · TESTING & TEST AUTOMATION Required for continuous delivery Dedicated Quality Assurance ... CHOOSING A MOBILE DEV PLATFORM. CLOUD-INTEGRATED MOBILE](https://reader030.vdocuments.net/reader030/viewer/2022041023/5ed4774d6e10b435861eea97/html5/thumbnails/5.jpg)
SOFTWARE: BRIDGE OR GARDEN?
![Page 6: SOFTWARE DEVELOPMENT - RIC Centre · TESTING & TEST AUTOMATION Required for continuous delivery Dedicated Quality Assurance ... CHOOSING A MOBILE DEV PLATFORM. CLOUD-INTEGRATED MOBILE](https://reader030.vdocuments.net/reader030/viewer/2022041023/5ed4774d6e10b435861eea97/html5/thumbnails/6.jpg)
PROBABLY GARDEN!
• Never complete• Launch is just the first release
• Change is inevitable:• New features• Competitors• Business Strategy• etc.
• Incremental design vs Big design upfront
• Continuous releaseThe Agile Samurai
![Page 8: SOFTWARE DEVELOPMENT - RIC Centre · TESTING & TEST AUTOMATION Required for continuous delivery Dedicated Quality Assurance ... CHOOSING A MOBILE DEV PLATFORM. CLOUD-INTEGRATED MOBILE](https://reader030.vdocuments.net/reader030/viewer/2022041023/5ed4774d6e10b435861eea97/html5/thumbnails/8.jpg)
AGILE DEVELOPMENT PROCESS
The Agile Samurai
![Page 9: SOFTWARE DEVELOPMENT - RIC Centre · TESTING & TEST AUTOMATION Required for continuous delivery Dedicated Quality Assurance ... CHOOSING A MOBILE DEV PLATFORM. CLOUD-INTEGRATED MOBILE](https://reader030.vdocuments.net/reader030/viewer/2022041023/5ed4774d6e10b435861eea97/html5/thumbnails/9.jpg)
YOUR DEVELOPMENT TEAM
How to recruit and hire great software engineers
http://it-ebooks.info/book/2356/
▪ Gardeners vs Builders
▪ Generalists vs Specialists
▪ Masters vs Journeymen vs Apprentices
▪ Front enders vs back enders
![Page 10: SOFTWARE DEVELOPMENT - RIC Centre · TESTING & TEST AUTOMATION Required for continuous delivery Dedicated Quality Assurance ... CHOOSING A MOBILE DEV PLATFORM. CLOUD-INTEGRATED MOBILE](https://reader030.vdocuments.net/reader030/viewer/2022041023/5ed4774d6e10b435861eea97/html5/thumbnails/10.jpg)
USEFUL TOOLS
![Page 11: SOFTWARE DEVELOPMENT - RIC Centre · TESTING & TEST AUTOMATION Required for continuous delivery Dedicated Quality Assurance ... CHOOSING A MOBILE DEV PLATFORM. CLOUD-INTEGRATED MOBILE](https://reader030.vdocuments.net/reader030/viewer/2022041023/5ed4774d6e10b435861eea97/html5/thumbnails/11.jpg)
WEBSITE & BLOG
▪ Design
▪ Template Monsters
▪ {Wrap}Bootstrap
▪ CMS
▪ Magento
▪ SEO
▪ Google Analytics
http://www.templatemonster.com/demo/53155.html
http://riotdesign.eu/en/
![Page 12: SOFTWARE DEVELOPMENT - RIC Centre · TESTING & TEST AUTOMATION Required for continuous delivery Dedicated Quality Assurance ... CHOOSING A MOBILE DEV PLATFORM. CLOUD-INTEGRATED MOBILE](https://reader030.vdocuments.net/reader030/viewer/2022041023/5ed4774d6e10b435861eea97/html5/thumbnails/12.jpg)
WIREFRAMING / MOCKUP
![Page 13: SOFTWARE DEVELOPMENT - RIC Centre · TESTING & TEST AUTOMATION Required for continuous delivery Dedicated Quality Assurance ... CHOOSING A MOBILE DEV PLATFORM. CLOUD-INTEGRATED MOBILE](https://reader030.vdocuments.net/reader030/viewer/2022041023/5ed4774d6e10b435861eea97/html5/thumbnails/13.jpg)
VERSION CONTROL
▪ Collaboration without conflicts
▪ Branching and Merging
▪ History/Journal
![Page 14: SOFTWARE DEVELOPMENT - RIC Centre · TESTING & TEST AUTOMATION Required for continuous delivery Dedicated Quality Assurance ... CHOOSING A MOBILE DEV PLATFORM. CLOUD-INTEGRATED MOBILE](https://reader030.vdocuments.net/reader030/viewer/2022041023/5ed4774d6e10b435861eea97/html5/thumbnails/14.jpg)
TESTING & TEST AUTOMATION
▪ Required for continuous delivery
▪ Dedicated Quality Assurance
▪ Issue Tracking
▪ Regression Testing
![Page 15: SOFTWARE DEVELOPMENT - RIC Centre · TESTING & TEST AUTOMATION Required for continuous delivery Dedicated Quality Assurance ... CHOOSING A MOBILE DEV PLATFORM. CLOUD-INTEGRATED MOBILE](https://reader030.vdocuments.net/reader030/viewer/2022041023/5ed4774d6e10b435861eea97/html5/thumbnails/15.jpg)
CHOOSING A MOBILE DEV PLATFORM
![Page 16: SOFTWARE DEVELOPMENT - RIC Centre · TESTING & TEST AUTOMATION Required for continuous delivery Dedicated Quality Assurance ... CHOOSING A MOBILE DEV PLATFORM. CLOUD-INTEGRATED MOBILE](https://reader030.vdocuments.net/reader030/viewer/2022041023/5ed4774d6e10b435861eea97/html5/thumbnails/16.jpg)
CLOUD-INTEGRATED MOBILE APPS
▪ Few mobile apps are “stand-alone”
▪ Sharing data between users
▪ Making use of complex
computations/services
▪ Client-Server model is often used
▪ Aka “front-end” and “back-end”
![Page 17: SOFTWARE DEVELOPMENT - RIC Centre · TESTING & TEST AUTOMATION Required for continuous delivery Dedicated Quality Assurance ... CHOOSING A MOBILE DEV PLATFORM. CLOUD-INTEGRATED MOBILE](https://reader030.vdocuments.net/reader030/viewer/2022041023/5ed4774d6e10b435861eea97/html5/thumbnails/17.jpg)
CLOUD-INTEGRATED MOBILE APPS▪ Server (aka back end)
▪ Runs on the cloud, processes data, might call other web/cloud services
▪ Completely under your control
▪ Client (aka front end)
▪ Runs on customer’s device, displays UI, sends data to server
▪ Many types of device Cross-platform is often desirable
▪ The dreaded “Web vs Native” debate
![Page 18: SOFTWARE DEVELOPMENT - RIC Centre · TESTING & TEST AUTOMATION Required for continuous delivery Dedicated Quality Assurance ... CHOOSING A MOBILE DEV PLATFORM. CLOUD-INTEGRATED MOBILE](https://reader030.vdocuments.net/reader030/viewer/2022041023/5ed4774d6e10b435861eea97/html5/thumbnails/18.jpg)
WEB VS NATIVE
▪ Two opposite ends of the spectrum
▪ Native
▪ Rich user experience
▪ Snappy
▪ Can utilize latest hardware capabilities
▪ Can take advantage of new OS features
▪ Expensive for cross-platform apps
![Page 19: SOFTWARE DEVELOPMENT - RIC Centre · TESTING & TEST AUTOMATION Required for continuous delivery Dedicated Quality Assurance ... CHOOSING A MOBILE DEV PLATFORM. CLOUD-INTEGRATED MOBILE](https://reader030.vdocuments.net/reader030/viewer/2022041023/5ed4774d6e10b435861eea97/html5/thumbnails/19.jpg)
WEB VS NATIVE
Web/HTML5▪ Write once, run anywhere (WORA)
▪ Not as sleek
▪ Good for
▪ “Information-based” applications▪ Form-based applications
▪ Online content viewing
▪ Wikipedia, Facebook, Twitter, Yelp, etc.
▪ Apps that don’t want to go through the app stores
▪ Apps that don’t need advanced access to hardware
![Page 20: SOFTWARE DEVELOPMENT - RIC Centre · TESTING & TEST AUTOMATION Required for continuous delivery Dedicated Quality Assurance ... CHOOSING A MOBILE DEV PLATFORM. CLOUD-INTEGRATED MOBILE](https://reader030.vdocuments.net/reader030/viewer/2022041023/5ed4774d6e10b435861eea97/html5/thumbnails/20.jpg)
COMPROMISE #1:▪ Main Ideas:
▪ Mask the differences between platforms using a specialized browser: The PhoneGap browser
▪ More advanced hardware access can be enabled via the PhoneGap browser: The PhoneGap API
Your web app is bundled with the PhoneGap browser, and the entire package is then distributed as a native app via app stores
![Page 21: SOFTWARE DEVELOPMENT - RIC Centre · TESTING & TEST AUTOMATION Required for continuous delivery Dedicated Quality Assurance ... CHOOSING A MOBILE DEV PLATFORM. CLOUD-INTEGRATED MOBILE](https://reader030.vdocuments.net/reader030/viewer/2022041023/5ed4774d6e10b435861eea97/html5/thumbnails/21.jpg)
PHONEGAP (CONT)
Cons
▪ Is (still) a web app
▪ Not as sleek and snappy
▪ Hardware access is limited to those allowed by the PhoneGap API
Pros
▪ Is a web app
▪ WORA
▪ With more hardware access (than reg browsers)
▪ Web developers feels at home
![Page 22: SOFTWARE DEVELOPMENT - RIC Centre · TESTING & TEST AUTOMATION Required for continuous delivery Dedicated Quality Assurance ... CHOOSING A MOBILE DEV PLATFORM. CLOUD-INTEGRATED MOBILE](https://reader030.vdocuments.net/reader030/viewer/2022041023/5ed4774d6e10b435861eea97/html5/thumbnails/22.jpg)
COMPROMISE #2:
▪ Programmer writes app code in JavaScript
▪ Code gets interpreted on mobile device by a modified JavaScript engine
▪ JS Engine call native API
Main Idea: Mask the differences between platforms with an interpreter
![Page 23: SOFTWARE DEVELOPMENT - RIC Centre · TESTING & TEST AUTOMATION Required for continuous delivery Dedicated Quality Assurance ... CHOOSING A MOBILE DEV PLATFORM. CLOUD-INTEGRATED MOBILE](https://reader030.vdocuments.net/reader030/viewer/2022041023/5ed4774d6e10b435861eea97/html5/thumbnails/23.jpg)
TITANIUM (CONT)
Cons
▪ Not as fast as native
▪ Interpreter engine
▪ Hardware and graphics API is limited to that allowed by Titanium
Pros
▪ Is faster than web apps
▪ Is sleeker than web apps
▪ Native looking UIs
▪ More hardware access than web apps and PhoneGap
▪ WORA
![Page 24: SOFTWARE DEVELOPMENT - RIC Centre · TESTING & TEST AUTOMATION Required for continuous delivery Dedicated Quality Assurance ... CHOOSING A MOBILE DEV PLATFORM. CLOUD-INTEGRATED MOBILE](https://reader030.vdocuments.net/reader030/viewer/2022041023/5ed4774d6e10b435861eea97/html5/thumbnails/24.jpg)
COMPROMISE #3:
▪ Main Idea: Mask the differences between platforms using a cross-platform execution engine (VM/Runtime)
![Page 25: SOFTWARE DEVELOPMENT - RIC Centre · TESTING & TEST AUTOMATION Required for continuous delivery Dedicated Quality Assurance ... CHOOSING A MOBILE DEV PLATFORM. CLOUD-INTEGRATED MOBILE](https://reader030.vdocuments.net/reader030/viewer/2022041023/5ed4774d6e10b435861eea97/html5/thumbnails/25.jpg)
XAMARIN (CONT)
Cons
▪ Require more knowledge of native Oses
▪ Some UI code need to be platform specific
▪ App Logic is still common!
▪ Tools licences
Pros
▪ Compiled code▪ Higher performance
▪ Closest to native▪ (Almost) full hardware
access
▪ C#/.NET: Large dev comm
▪ WORA???▪ Semi-wora
![Page 26: SOFTWARE DEVELOPMENT - RIC Centre · TESTING & TEST AUTOMATION Required for continuous delivery Dedicated Quality Assurance ... CHOOSING A MOBILE DEV PLATFORM. CLOUD-INTEGRATED MOBILE](https://reader030.vdocuments.net/reader030/viewer/2022041023/5ed4774d6e10b435861eea97/html5/thumbnails/26.jpg)
OTHER THINGS WORTH CONSIDERING
▪ Time to market
▪ Stage of product
▪ Your own expertise
▪ Talent pool
▪ Development cost
![Page 27: SOFTWARE DEVELOPMENT - RIC Centre · TESTING & TEST AUTOMATION Required for continuous delivery Dedicated Quality Assurance ... CHOOSING A MOBILE DEV PLATFORM. CLOUD-INTEGRATED MOBILE](https://reader030.vdocuments.net/reader030/viewer/2022041023/5ed4774d6e10b435861eea97/html5/thumbnails/27.jpg)
FURTHER REFERENCES▪ Pro Git
▪ http://git-scm.com/book/en/v2
▪ Selenium Testing Tools Starter
▪ http://it-ebooks.info/book/3123/
▪ Building cross-platform apps using Titanium
▪ http://it-ebooks.info/book/4475/
▪ PhoneGap for Enterprise
▪ http://it-ebooks.info/book/4763/
▪ Xamarian Mobile Application Development for Android
▪ http://www.it-ebooks.info/book/3892/
![Page 28: SOFTWARE DEVELOPMENT - RIC Centre · TESTING & TEST AUTOMATION Required for continuous delivery Dedicated Quality Assurance ... CHOOSING A MOBILE DEV PLATFORM. CLOUD-INTEGRATED MOBILE](https://reader030.vdocuments.net/reader030/viewer/2022041023/5ed4774d6e10b435861eea97/html5/thumbnails/28.jpg)
THANK YOU!