Agile Technical Practices Distilled

Agile Technical Practices Distilled

Author: Pedro M. Santos

Publisher: Packt Publishing Ltd

Published: 2019-06-28

Total Pages: 443

ISBN-13: 1838986626

DOWNLOAD EBOOK

Delve deep into the various technical practices, principles, and values of Agile. Key FeaturesDiscover the essence of Agile software development and the key principles of software designExplore the fundamental practices of Agile working, including test-driven development (TDD), refactoring, pair programming, and continuous integrationLearn and apply the four elements of simple designBook Description The number of popular technical practices has grown exponentially in the last few years. Learning the common fundamental software development practices can help you become a better programmer. This book uses the term Agile as a wide umbrella and covers Agile principles and practices, as well as most methodologies associated with it. You’ll begin by discovering how driver-navigator, chess clock, and other techniques used in the pair programming approach introduce discipline while writing code. You’ll then learn to safely change the design of your code using refactoring. While learning these techniques, you’ll also explore various best practices to write efficient tests. The concluding chapters of the book delve deep into the SOLID principles - the five design principles that you can use to make your software more understandable, flexible and maintainable. By the end of the book, you will have discovered new ideas for improving your software design skills, the relationship within your team, and the way your business works. What you will learnLearn the red, green, refactor cycle of classic TDD and practice the best habits such as the rule of 3, triangulation, object calisthenics, and moreRefactor using parallel change and improve legacy code with characterization tests, approval tests, and Golden MasterUse code smells as feedback to improve your designLearn the double cycle of ATDD and the outside-in mindset using mocks and stubs correctly in your testsUnderstand how Coupling, Cohesion, Connascence, SOLID principles, and code smells are all relatedImprove the understanding of your business domain using BDD and other principles for "doing the right thing, not only the thing right"Who this book is for This book is designed for software developers looking to improve their technical practices. Software coaches may also find it helpful as a teaching reference manual. This is not a beginner's book on how to program. You must be comfortable with at least one programming language and must be able to write unit tests using any unit testing framework.


Agile Technical Practices Distilled

Agile Technical Practices Distilled

Author: Pedro M. Santos

Publisher:

Published: 2019-06-28

Total Pages: 442

ISBN-13: 9781838980849

DOWNLOAD EBOOK

Delve deep into the various technical practices, principles, and values of Agile. Key Features Discover the essence of Agile software development and the key principles of software design Explore the fundamental practices of Agile working, including test-driven development (TDD), refactoring, pair programming, and continuous integration Learn and apply the four elements of simple design Book Description The number of popular technical practices has grown exponentially in the last few years. Learning the common fundamental software development practices can help you become a better programmer. This book uses the term Agile as a wide umbrella and covers Agile principles and practices, as well as most methodologies associated with it. You'll begin by discovering how driver-navigator, chess clock, and other techniques used in the pair programming approach introduce discipline while writing code. You'll then learn to safely change the design of your code using refactoring. While learning these techniques, you'll also explore various best practices to write efficient tests. The concluding chapters of the book delve deep into the SOLID principles - the five design principles that you can use to make your software more understandable, flexible and maintainable. By the end of the book, you will have discovered new ideas for improving your software design skills, the relationship within your team, and the way your business works. What you will learn Apply the red, green, refactor cycle of TDD to solve procedural problems Implement the various techniques used in the pair programming approach Use code smells as feedback Test your production code using mocks and stubs Refactor legacy code to bring it in line with modern Agile standards Apply the object calisthenics ruleset to enhance your software design Who this book is for This book is designed for software developers looking to improve their technical practices. Software coaches may also find it helpful as a teaching reference manual. This is not a beginner's book on how to program. You must be comfortable with at least one programming language and must be able to write unit tests using any unit testing framework.


SAFe 5.0 Distilled

SAFe 5.0 Distilled

Author: Richard Knaster

Publisher: Addison-Wesley Professional

Published: 2020-06-05

Total Pages: 416

ISBN-13: 013682045X

DOWNLOAD EBOOK

SAFe® 5.0: The World's Leading Framework for Business Agility "Those who master large-scale software delivery will define the economic landscape of the twenty-first century. SAFe 5.0 is a monumental release that I am convinced will be key in helping countless enterprise organizations succeed in their shift from project to product." –Dr. Mik Kersten, CEO of Tasktop and author of the book Project to Product Business agility is the ability to compete and thrive in the digital age by quickly responding to unprecedented market changes, threats, and emerging opportunities with innovative business solutions. SAFe® 5.0 Distilled: Achieving Business Agility with Scaled Agile Framework® explains how adopting SAFe helps enterprises use the power of Agile, Lean, and DevOps to outflank the competition and deliver complex, technology-based business solutions in the shortest possible time. This book will help you Understand the business case for SAFe: its benefits, and the problems it solves Learn the technical, organizational and leadership competencies needed for business agility Refocus on customer centricity with design thinking Better align strategy and execution with Lean Portfolio Management Learn the leadership skills needed to thrive in the digital age Increase the flow of value to customers with value stream networks Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.


Agile Software Requirements

Agile Software Requirements

Author: Dean Leffingwell

Publisher: Addison-Wesley Professional

Published: 2010-12-27

Total Pages: 977

ISBN-13: 0321685407

DOWNLOAD EBOOK

“We need better approaches to understanding and managing software requirements, and Dean provides them in this book. He draws ideas from three very useful intellectual pools: classical management practices, Agile methods, and lean product development. By combining the strengths of these three approaches, he has produced something that works better than any one in isolation.” –From the Foreword by Don Reinertsen, President of Reinertsen & Associates; author of Managing the Design Factory; and leading expert on rapid product development Effective requirements discovery and analysis is a critical best practice for serious application development. Until now, however, requirements and Agile methods have rarely coexisted peacefully. For many enterprises considering Agile approaches, the absence of effective and scalable Agile requirements processes has been a showstopper for Agile adoption. In Agile Software Requirements, Dean Leffingwell shows exactly how to create effective requirements in Agile environments. Part I presents the “big picture” of Agile requirements in the enterprise, and describes an overall process model for Agile requirements at the project team, program, and portfolio levels Part II describes a simple and lightweight, yet comprehensive model that Agile project teams can use to manage requirements Part III shows how to develop Agile requirements for complex systems that require the cooperation of multiple teams Part IV guides enterprises in developing Agile requirements for ever-larger “systems of systems,” application suites, and product portfolios This book will help you leverage the benefits of Agile without sacrificing the value of effective requirements discovery and analysis. You’ll find proven solutions you can apply right now–whether you’re a software developer or tester, executive, project/program manager, architect, or team leader.


Hands-On Docker for Microservices with Python

Hands-On Docker for Microservices with Python

Author: Jaime Buelta

Publisher: Packt Publishing Ltd

Published: 2019-11-22

Total Pages: 396

ISBN-13: 1838822550

DOWNLOAD EBOOK

A step-by-step guide to building microservices using Python and Docker, along with managing and orchestrating them with Kubernetes Key FeaturesLearn to use Docker containers to create, operate, and deploy your microservicesCreate workflows to manage independent deployments on coordinating services using CI and GitOps through GitHub, Travis CI, and FluxDevelop a REST microservice in Python using the Flask framework and Postgres databaseBook Description Microservices architecture helps create complex systems with multiple, interconnected services that can be maintained by independent teams working in parallel. This book guides you on how to develop these complex systems with the help of containers. You’ll start by learning to design an efficient strategy for migrating a legacy monolithic system to microservices. You’ll build a RESTful microservice with Python and learn how to encapsulate the code for the services into a container using Docker. While developing the services, you’ll understand how to use tools such as GitHub and Travis CI to ensure continuous delivery (CD) and continuous integration (CI). As the systems become complex and grow in size, you’ll be introduced to Kubernetes and explore how to orchestrate a system of containers while managing multiple services. Next, you’ll configure Kubernetes clusters for production-ready environments and secure them for reliable deployments. In the concluding chapters, you’ll learn how to detect and debug critical problems with the help of logs and metrics. Finally, you’ll discover a variety of strategies for working with multiple teams dealing with different microservices for effective collaboration. By the end of this book, you’ll be able to build production-grade microservices as well as orchestrate a complex system of services using containers. What you will learnDiscover how to design, test, and operate scalable microservicesCoordinate and deploy different services using KubernetesUse Docker to construct scalable and manageable applications with microservicesUnderstand how to monitor a complete system to ensure early detection of problemsBecome well versed with migrating from an existing monolithic system to a microservice oneUse load balancing to ensure seamless operation between the old monolith and the new serviceWho this book is for This book is for developers, engineers, or software architects who are trying to move away from traditional approaches for building complex multi-service systems by adopting microservices and containers. Although familiarity with Python programming is assumed, no prior knowledge of Docker is required.


Agile Technical Practices Distilled

Agile Technical Practices Distilled

Author: Marco Consolaro

Publisher: Independently Published

Published: 2018-12-11

Total Pages: 342

ISBN-13: 9781793412379

DOWNLOAD EBOOK

This is a book on Agile technical practices, principles and values. The readers will first learn individual practices (TDD, Refactoring, Pair Programming, simple design and more). Afterwards they will focus on principles of Software Design, their relationships and systemic reasons, ending with a business oriented and sociotechnical perspective. The authors of the book have been working as software developers and coaches for years, accumulating more then half a century of experience. During this period working in the trenches of teaching software design we created lots of content and shared many stories of real professional life among us. From the feedback we had, we thought it would be a good idea to organize all the information in a single place, following a logical sequence, creating a sort of learning journey. We touch all the principles we consider important to master, dropping too many details. In our profession the information are far too many to be all memorized, let alone mastered. The ability to select what to focus on is maybe more important then the ability of learning itself. We all are very excited to be able to share with you our personal selection of content and the lessons we learned the hard way. We genuinely hope that at the end of it you will find some new ideas for improving your Software Design skills, the relationship within your team and your business as well.


Lean Software Development

Lean Software Development

Author: Mary Poppendieck

Publisher: Addison-Wesley

Published: 2003-05-08

Total Pages: 236

ISBN-13: 0133812960

DOWNLOAD EBOOK

Lean Software Development: An Agile Toolkit Adapting agile practices to your development organization Uncovering and eradicating waste throughout the software development lifecycle Practical techniques for every development manager, project manager, and technical leader Lean software development: applying agile principles to your organization In Lean Software Development, Mary and Tom Poppendieck identify seven fundamental "lean" principles, adapt them for the world of software development, and show how they can serve as the foundation for agile development approaches that work. Along the way, they introduce 22 "thinking tools" that can help you customize the right agile practices for any environment. Better, cheaper, faster software development. You can have all three–if you adopt the same lean principles that have already revolutionized manufacturing, logistics and product development. Iterating towards excellence: software development as an exercise in discovery Managing uncertainty: "decide as late as possible" by building change into the system. Compressing the value stream: rapid development, feedback, and improvement Empowering teams and individuals without compromising coordination Software with integrity: promoting coherence, usability, fitness, maintainability, and adaptability How to "see the whole"–even when your developers are scattered across multiple locations and contractors Simply put, Lean Software Development helps you refocus development on value, flow, and people–so you can achieve breakthrough quality, savings, speed, and business alignment.


Balancing Coupling in Software Design

Balancing Coupling in Software Design

Author: Vlad Khononov

Publisher: Addison-Wesley Professional

Published: 2024-10-28

Total Pages: 409

ISBN-13: 013735357X

DOWNLOAD EBOOK

Learn How Coupling Impacts Every Software Design Decision You Make--and How to Control It If you want to build modular, evolvable, and resilient software systems, you have to get coupling right. Every design decision you make influences coupling, which in turn shapes the design options available to you. Despite its importance, coupling often doesn't receive the attention it deserves--until now. Since the dawn of software engineering, it's been clear that proper management of coupling is essential for architecting modular software systems. This topic has been extensively researched over the years, but some of that knowledge has been forgotten, and some of it is challenging to apply in this day and age. In Balancing Coupling in Software Design, author Vlad Khononov has built a model that not only draws on this accumulated knowledge, but also adapts it to modern software engineering practices, offering a fresh perspective on modular software design. With principles grounded in practice, Vlad teaches you not only to navigate the multi-dimensional nature of coupling but also to use coupling as a tool for managing complexity and increasing modularity. And who knows, maybe this book will change the way you think about software design as whole. Defines the concept of coupling and the role it plays in system design and architecture Explains how coupling can both increase complexity and foster modularity of a system Introduces a holistic model that turns coupling into a tool for designing modular software Shows how to evolve design decisions to support continuous growth of software systems Illustrates the discussed principles with detailed examples based on real-life case studies "Coupling is one of those words that is used a lot, but little understood. Vlad propels us from simplistic slogans like 'always decouple components' to a nuanced discussion of coupling in the context of complexity and software evolution. If you build modern software, read this book!" --Gregor Hohpe, author of The Software Architect Elevator Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.


Architecture Modernization

Architecture Modernization

Author: Nick Tune

Publisher: Simon and Schuster

Published: 2024-02-20

Total Pages: 486

ISBN-13: 1633438155

DOWNLOAD EBOOK

Proven techniques and principles for modernizing legacy systems into new architectures that deliver serious competitive advantage. For a business to thrive, it needs a modern software architecture that is aligned with its corporate architecture. This book presents concrete practices that sync software, product, strategy, team dynamics, and work practices. You’ll evolve your technical and social architecture together, reducing needless dependencies and achieving faster flow of innovation across your organization. In Architecture Modernization: Socio-technical alignment of software, strategy, and structure you’ll learn how to: Identify strategic ambitions and challenges using listening and mapping tours Visualize your business landscape and crucial capabilities with Wardley Mapping Create a product taxonomy as a framework for your architecture Run big picture EventStorming workshops to map business domains Apply Team Topologies patterns to identify and refine value streams Design loosely coupled, domain-aligned software architectures Build internal developer platforms for rapid, reliable evolution Implement data mesh principles and tools to revolutionize data engineering Deliver compelling modernization roadmaps focused on continuous value Architecture Modernization: Socio-technical alignment of software, strategy, and structure shows you how to turn the practice of architecting systems into a transformative process for your entire company. Chapter-by-chapter, you’ll identify the reasons and benefits of modernization, design an architecture that works for your business, and then implement your new approach in a progressive and sustainable manner. Every technique is illustrated with insightful industry examples and an interactive Miro board that lets you dig deeper. Forewords by Matthew Skelton and Xin Yao. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the technology The decisions you make about your software are inherently connected to the decisions you make about your business. Why not turn the mundane task of modernizing legacy systems into a transformative process for your entire company? This book shows you how! It reveals a socio-technical approach to align your software and products with organizational dynamics and ways of working. About the book Architecture Modernization: Socio-technical alignment of software, strategy, and structure presents a clear path for upgrading your entire organization when you re-imagine your software. In it, you’ll learn to combine practices like Domain-Driven Design, Event Storming, and Wardley Mapping to discover user needs, design optimal architecture, and avoid falling back into old habits. Provocative examples from Danske, Salesforce, the UK Government, and others show the real-world result of each approach, identifying techniques you can apply effectively in your own business. What's inside Uncover cross-org challenges and opportunities A product-centric approach to architecture Envision architecture as a portfolio to prioritize investment About the reader For CTOs, tech leads, and principal engineers who decide on architecture and organization design. About the author Nick Tune helps organizations modernize their architectures through empowered product teams and continuous delivery. Jean-Georges Perrin builds innovative and modern data platforms. The technical editor on this book was Kamil Nicieja. Table of Contents 1 What is architecture modernization? 2 Preparing for the journey 3 Business objectives 4 Listening and mapping tours 5 Wardley Mapping 6 Product taxonomy 7 Big picture EventStorming 8 Product and domain modernization 9 Identifying domains and subdomains 10 Strategic IT portfolio 11 Team Topologies 12 Loosely coupled software architecture 13 Internal developer platforms 14 Data mesh revolutionizing data engineering 15 Architecture modernization enabling teams 16 Strategy and roadmaps 17 Learning and upskilling


SAFe 4.5 Distilled

SAFe 4.5 Distilled

Author: Richard Knaster

Publisher: Addison-Wesley Professional

Published: 2018-07-20

Total Pages: 517

ISBN-13: 013517127X

DOWNLOAD EBOOK

SAFe®: The World’s Leading Framework for Enterprise Agility “Philips is continuously driving to develop high-quality software in a predictable, fast, and Agile way. SAFe addresses this primary goal, and offers these further benefits: reduced time-to-market, improved quality, stronger alignment across geographically distributed multi-disciplinary teams, and collaboration across teams to deliver meaningful value to customers with reduced cycle time.” —Sundaresan Jagadeesan, SW CoE Program Director, Philips To succeed in today’s adapt-or-die marketplace, businesses must be able to rapidly change the way they create and deliver value to their customers. Hundreds of the world’s most successful companies–including Intel, Capital One, AstraZeneca, Cisco, and Philips–have turned to the Scaled Agile Framework® (SAFe®) to achieve agility at scale and maintain a competitive edge. SAFe® 4.5 Distilled: Applying the Scaled Agile Framework® for Lean Enterprises explains how adopting SAFe can quickly improve time to market and increase productivity, quality, and employee engagement. In this book, you will Understand the business case for SAFe: its benefits, the problems it solves, and how to apply it Get an overview of SAFe across all parts of the business: team, program, value stream, and portfolio Learn why SAFe works: the power of SAFe’s Lean-Agile mindset, values, and principles Discover how systems thinking, Agile development, and Lean product development form the underlying basis for SAFe Learn how to become a Lean-Agile leader and effectively drive an enterprise-wide transformation Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.