What is software architecture?Creating an Azure accountSoftware development process modelsReviewing traditional software development process modelsUnderstanding the waterfall model principlesAnalyzing the incremental modelUnderstanding agile software development process modelsScaling agile throughout a companyGathering the right information to design high-quality softwareUnderstanding the requirements gathering processDetecting exact user needsAnalyzing requirementsWriting the specificationsUnderstanding the principles of scalability, robustness, security, and performanceReviewing the specificationUsing design techniques as a helpful toolDesign ThinkingDesign SprintCommon cases where the requirements gathering process impacts system resultsCase 1 – my website is too slow to open that page!Understanding backend cachingApplying asynchronous programmingDealing with object allocationGetting better database accessCase 2 – the user’s needs are not properly implementedCase 3 – the usability of the system does not meet the user’s needsSummaryQuestionsFurther reading