YouTube SummarySee all summaries
Watch on YouTube
Publisher thumbnail
GOTO Conferences
51:5711/26/24
Software Dev

How to Deliver Quality Software Against All Odds • Daniel Terhorst-North & Julian Wood • GOTO 2024

11/26/24
Summaries by topic
English

The podcast discusses the evolution of software delivery over the past 20 years, highlighting the shift from rigid, waterfall approaches to more agile and iterative methodologies. It emphasizes the importance of understanding the economic and environmental impact of software, the integration of operations and development (DevOps), and the critical role of product management in bridging the gap between business needs and technical execution.

Agile's Evolution

00:02:03 The agile movement, initially viewed as maverick and irresponsible, has become normalized and ubiquitous in software development. Agile principles like cross-functional teams and continuous integration/continuous delivery (CI/CD) are now standard practices, yet further advancements in CI/CD are still being explored and implemented.

Software Sustainability

00:05:08 The growing importance of sustainable and green software development is discussed, highlighting that efficient software is also cost-effective and environmentally friendly. Examples include utilizing technologies like GraalVM and Micronaut to optimize Java applications and reduce electricity consumption in serverless environments.

Serverless Architecture

00:07:33 Serverless architecture, especially AWS Lambda, offers significant cost savings due to its pay-per-millisecond billing model. The concept of 'shared nothing' is highlighted as a key feature of serverless, allowing for greater optimization and efficiency, as illustrated by Gojko Adzic's MindMup application which serves millions of users with minimal costs.

Domain-Driven Design

00:21:10 Domain-driven design (DDD) is presented as a powerful approach to aligning software development with business needs. By incorporating domain language into the code, business rules become more transparent and readily understood by both technical and non-technical stakeholders, improving communication and efficiency. It is advocated to improve communication and foster a shared understanding between developers and the business domain.

Organizational Flow and Product Management

00:40:50 The podcast emphasizes that effective software delivery needs to be viewed as a product rather than just a project. Product management plays a crucial role in bridging the gap between business ideas, technical implementation, and customer feedback. The podcast suggests that successful organizations shift their focus from project-based to product-based thinking to ensure continuous improvement and value delivery.