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 modelsLean software developmentExtreme ProgrammingGetting into the Scrum modelGathering 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 impacted system resultsCase 1 – my website is too slow to open that page!Understanding 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 user needsCase study – introducing World Wild Travel ClubUnderstanding user needs and system requirementsSummaryQuestionsFurther reading