Growing Object-Oriented Software, Guided by Tests

Growing Object-Oriented Software, Guided by Tests
Author :
Publisher : Pearson Education
Total Pages : 762
Release :
ISBN-10 : 9780321699763
ISBN-13 : 0321699769
Rating : 4/5 (63 Downloads)

Synopsis Growing Object-Oriented Software, Guided by Tests by : Steve Freeman

Test-Driven Development (TDD) is now an established technique for delivering better software faster. TDD is based on a simple idea: Write tests for your code before you write the code itself. However, this "simple" idea takes skill and judgment to do well. Now there's a practical guide to TDD that takes you beyond the basic concepts. Drawing on a decade of experience building real-world systems, two TDD pioneers show how to let tests guide your development and “grow” software that is coherent, reliable, and maintainable. Steve Freeman and Nat Pryce describe the processes they use, the design principles they strive to achieve, and some of the tools that help them get the job done. Through an extended worked example, you’ll learn how TDD works at multiple levels, using tests to drive the features and the object-oriented structure of the code, and using Mock Objects to discover and then describe relationships between objects. Along the way, the book systematically addresses challenges that development teams encounter with TDD—from integrating TDD into your processes to testing your most difficult features. Coverage includes Implementing TDD effectively: getting started, and maintaining your momentum throughout the project Creating cleaner, more expressive, more sustainable code Using tests to stay relentlessly focused on sustaining quality Understanding how TDD, Mock Objects, and Object-Oriented Design come together in the context of a real software development project Using Mock Objects to guide object-oriented designs Succeeding where TDD is difficult: managing complex test data, and testing persistence and concurrency

Growing Better Software

Growing Better Software
Author :
Publisher : Lulu.com
Total Pages : 369
Release :
ISBN-10 : 9780955982408
ISBN-13 : 0955982405
Rating : 4/5 (08 Downloads)

Synopsis Growing Better Software by : Marc Brevoort

Based on decades of real-life software development experience, this book will help you produce best-of-breed, world class software. Set up both as a manual and reference, this book will help both novice and experienced software developers to take their skills to the next level. Learn how to produce lean, mean, structured code; how to keep bugs out of your programs; to make your software more user-friendly; to improve maintainability; to troubleshoot your projects; and to guarantee software quality.

Elegant Objects

Elegant Objects
Author :
Publisher : Createspace Independent Publishing Platform
Total Pages : 222
Release :
ISBN-10 : 1534908307
ISBN-13 : 9781534908307
Rating : 4/5 (07 Downloads)

Synopsis Elegant Objects by : Yegor Bugayenko

TL;DR Compound variable names, validators, private static literals, configurable objects, inheritance, annotations, MVC, dependency injection containers, reflection, ORM and even algorithms are our enemies.

An Elegant Puzzle

An Elegant Puzzle
Author :
Publisher : Stripe Press
Total Pages : 281
Release :
ISBN-10 : 9781953953339
ISBN-13 : 1953953336
Rating : 4/5 (39 Downloads)

Synopsis An Elegant Puzzle by : Will Larson

A human-centric guide to solving complex problems in engineering management, from sizing teams to handling technical debt. There’s a saying that people don’t leave companies, they leave managers. Management is a key part of any organization, yet the discipline is often self-taught and unstructured. Getting to the good solutions for complex management challenges can make the difference between fulfillment and frustration for teams—and, ultimately, between the success and failure of companies. Will Larson’s An Elegant Puzzle focuses on the particular challenges of engineering management—from sizing teams to handling technical debt to performing succession planning—and provides a path to the good solutions. Drawing from his experience at Digg, Uber, and Stripe, Larson has developed a thoughtful approach to engineering management for leaders of all levels at companies of all sizes. An Elegant Puzzle balances structured principles and human-centric thinking to help any leader create more effective and rewarding organizations for engineers to thrive in.

Domain Modeling Made Functional

Domain Modeling Made Functional
Author :
Publisher : Pragmatic Bookshelf
Total Pages : 426
Release :
ISBN-10 : 9781680505498
ISBN-13 : 1680505491
Rating : 4/5 (98 Downloads)

Synopsis Domain Modeling Made Functional by : Scott Wlaschin

You want increased customer satisfaction, faster development cycles, and less wasted work. Domain-driven design (DDD) combined with functional programming is the innovative combo that will get you there. In this pragmatic, down-to-earth guide, you'll see how applying the core principles of functional programming can result in software designs that model real-world requirements both elegantly and concisely - often more so than an object-oriented approach. Practical examples in the open-source F# functional language, and examples from familiar business domains, show you how to apply these techniques to build software that is business-focused, flexible, and high quality. Domain-driven design is a well-established approach to designing software that ensures that domain experts and developers work together effectively to create high-quality software. This book is the first to combine DDD with techniques from statically typed functional programming. This book is perfect for newcomers to DDD or functional programming - all the techniques you need will be introduced and explained. Model a complex domain accurately using the F# type system, creating compilable code that is also readable documentation---ensuring that the code and design never get out of sync. Encode business rules in the design so that you have "compile-time unit tests," and eliminate many potential bugs by making illegal states unrepresentable. Assemble a series of small, testable functions into a complete use case, and compose these individual scenarios into a large-scale design. Discover why the combination of functional programming and DDD leads naturally to service-oriented and hexagonal architectures. Finally, create a functional domain model that works with traditional databases, NoSQL, and event stores, and safely expose your domain via a website or API. Solve real problems by focusing on real-world requirements for your software. What You Need: The code in this book is designed to be run interactively on Windows, Mac and Linux.You will need a recent version of F# (4.0 or greater), and the appropriate .NET runtime for your platform.Full installation instructions for all platforms at fsharp.org.

Building Mobile Apps at Scale

Building Mobile Apps at Scale
Author :
Publisher :
Total Pages : 238
Release :
ISBN-10 : 1638778868
ISBN-13 : 9781638778868
Rating : 4/5 (68 Downloads)

Synopsis Building Mobile Apps at Scale by : Gergely Orosz

While there is a lot of appreciation for backend and distributed systems challenges, there tends to be less empathy for why mobile development is hard when done at scale. This book collects challenges engineers face when building iOS and Android apps at scale, and common ways to tackle these. By scale, we mean having numbers of users in the millions and being built by large engineering teams. For mobile engineers, this book is a blueprint for modern app engineering approaches. For non-mobile engineers and managers, it is a resource with which to build empathy and appreciation for the complexity of world-class mobile engineering. The book covers iOS and Android mobile app challenges on these dimensions: Challenges due to the unique nature of mobile applications compared to the web, and to the backend. App complexity challenges. How do you deal with increasingly complicated navigation patterns? What about non-deterministic event combinations? How do you localize across several languages, and how do you scale your automated and manual tests? Challenges due to large engineering teams. The larger the mobile team, the more challenging it becomes to ensure a consistent architecture. If your company builds multiple apps, how do you balance not rewriting everything from scratch while moving at a fast pace, over waiting on "centralized" teams? Cross-platform approaches. The tooling to build mobile apps keeps changing. New languages, frameworks, and approaches that all promise to address the pain points of mobile engineering keep appearing. But which approach should you choose? Flutter, React Native, Cordova? Native apps? Reuse business logic written in Kotlin, C#, C++ or other languages? What engineering approaches do "world-class" mobile engineering teams choose in non-functional aspects like code quality, compliance, privacy, compliance, or with experimentation, performance, or app size?

Leading Lean Software Development

Leading Lean Software Development
Author :
Publisher : Pearson Education
Total Pages : 530
Release :
ISBN-10 : 9780321699657
ISBN-13 : 0321699653
Rating : 4/5 (57 Downloads)

Synopsis Leading Lean Software Development by : Mary Poppendieck

Building on their breakthrough bestsellers Lean Software Development and Implementing Lean Software Development, Mary and Tom Poppendieck’s latest book shows software leaders and team members exactly how to drive high-value change throughout a software organization—and make it stick. They go far beyond generic implementation guidelines, demonstrating exactly how to make lean work in real projects, environments, and companies. The Poppendiecks organize this book around the crucial concept of frames, the unspoken mental constructs that shape our perspectives and control our behavior in ways we rarely notice. For software leaders and team members, some frames lead to long-term failure, while others offer a strong foundation for success. Drawing on decades of experience, the authors present twenty-four frames that offer a coherent, complete framework for leading lean software development. You’ll discover powerful new ways to act as competency leader, product champion, improvement mentor, front-line leader, and even visionary. Systems thinking: focusing on customers, bringing predictability to demand, and revamping policies that cause inefficiency Technical excellence: implementing low-dependency architectures, TDD, and evolutionary development processes, and promoting deeper developer expertise Reliable delivery: managing your biggest risks more effectively, and optimizing both workflow and schedules Relentless improvement: seeing problems, solving problems, sharing the knowledge Great people: finding and growing professionals with purpose, passion, persistence, and pride Aligned leaders: getting your entire leadership team on the same page From the world’s number one experts in Lean software development, Leading Lean Software Development will be indispensable to everyone who wants to transform the promise of lean into reality—in enterprise IT and software companies alike.

Hacking Growth

Hacking Growth
Author :
Publisher : Crown Currency
Total Pages : 322
Release :
ISBN-10 : 9780451497222
ISBN-13 : 0451497228
Rating : 4/5 (22 Downloads)

Synopsis Hacking Growth by : Sean Ellis

The definitive playbook by the pioneers of Growth Hacking, one of the hottest business methodologies in Silicon Valley and beyond. It seems hard to believe today, but there was a time when Airbnb was the best-kept secret of travel hackers and couch surfers, Pinterest was a niche web site frequented only by bakers and crafters, LinkedIn was an exclusive network for C-suite executives and top-level recruiters, Facebook was MySpace’s sorry step-brother, and Uber was a scrappy upstart that didn’t stand a chance against the Goliath that was New York City Yellow Cabs. So how did these companies grow from these humble beginnings into the powerhouses they are today? Contrary to popular belief, they didn’t explode to massive worldwide popularity simply by building a great product then crossing their fingers and hoping it would catch on. There was a studied, carefully implemented methodology behind these companies’ extraordinary rise. That methodology is called Growth Hacking, and it’s practitioners include not just today’s hottest start-ups, but also companies like IBM, Walmart, and Microsoft as well as the millions of entrepreneurs, marketers, managers and executives who make up the community of Growth Hackers. Think of the Growth Hacking methodology as doing for market-share growth what Lean Start-Up did for product development, and Scrum did for productivity. It involves cross-functional teams and rapid-tempo testing and iteration that focuses customers: attaining them, retaining them, engaging them, and motivating them to come back and buy more. An accessible and practical toolkit that teams and companies in all industries can use to increase their customer base and market share, this book walks readers through the process of creating and executing their own custom-made growth hacking strategy. It is a must read for any marketer, entrepreneur, innovator or manger looking to replace wasteful big bets and "spaghetti-on-the-wall" approaches with more consistent, replicable, cost-effective, and data-driven results.

Help Them Grow Or Watch Them Go

Help Them Grow Or Watch Them Go
Author :
Publisher : Berrett-Koehler Publishers
Total Pages : 143
Release :
ISBN-10 : 9781609946326
ISBN-13 : 1609946324
Rating : 4/5 (26 Downloads)

Synopsis Help Them Grow Or Watch Them Go by : Beverly Kaye

Kaye and Giulioni identify three broad types of conversations that have the power to motivate employees more deeply than any well-intentioned development event or process to help with career development.

Growing Modular

Growing Modular
Author :
Publisher : Springer Science & Business Media
Total Pages : 185
Release :
ISBN-10 : 9783540274308
ISBN-13 : 3540274308
Rating : 4/5 (08 Downloads)

Synopsis Growing Modular by : Milan Kratochvíl

A starter to the concepts of modularization and mass customization. Condensed and application-oriented approach for a broad audience in engineering, production, sales and marketing. Provides an extensive configurator evaluation checklist for future users and a supplement of business cases.