Growing Object-Oriented Software, Guided by Tests

Growing Object-Oriented Software, Guided by Tests PDF Author: Steve Freeman
Publisher: Pearson Education
ISBN: 0321699769
Category : Computers
Languages : en
Pages : 762

Get Book Here

Book Description
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 Object-Oriented Software, Guided by Tests

Growing Object-Oriented Software, Guided by Tests PDF Author: Steve Freeman
Publisher: Pearson Education
ISBN: 0321699769
Category : Computers
Languages : en
Pages : 762

Get Book Here

Book Description
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 Software

Growing Software PDF Author: Louis Testa
Publisher: No Starch Press
ISBN: 1593272251
Category : Computers
Languages : en
Pages : 428

Get Book Here

Book Description
As the technology leader at a small software company, you need to focus on people, products, processes, and technology as you bring your software to market, while doing your best to put out fires and minimize headaches. Growing Software is your guide to juggling the day-to-day challenges of running a software company while managing those long-term problems and making sure that your business continues to grow. With practical, hands-on advice, Growing Software will teach you how to build and lead an effective team, define and sell your products, work with everyone from customers to CEOs, and ensure high-quality results. Instead of learning by trial and error, you'll benefit from author Louis Testa's 20+ years of management experience. Testa combines big-picture advice, specific solutions, and real-life anecdotes to teach you how to: –Work effectively with your CEO and executive team –Improve development team efficiency and enthusiasm –Evaluate your software methodology to improve effectiveness and safeguard against failure –Use product prototypes to bridge the gap between marketing and engineering –Defuse technology time bombs Whether you're new to managing software or newly lost, Growing Software will help you and your growing company thrive.

Growing Better Software

Growing Better Software PDF Author: Marc Brevoort
Publisher: Lulu.com
ISBN: 0955982405
Category : Computers
Languages : en
Pages : 369

Get Book Here

Book Description
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 PDF Author: Yegor Bugayenko
Publisher: Createspace Independent Publishing Platform
ISBN: 9781534908307
Category :
Languages : en
Pages : 222

Get Book Here

Book Description
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 PDF Author: Will Larson
Publisher: Stripe Press
ISBN: 1953953336
Category : Computers
Languages : en
Pages : 281

Get Book Here

Book Description
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.

Let Over Lambda

Let Over Lambda PDF Author: Doug Hoyte
Publisher: Lulu.com
ISBN: 9781435712751
Category : Computers
Languages : en
Pages : 376

Get Book Here

Book Description
Let Over Lambda is one of the most hardcore computer programming books out there. Starting with the fundamentals, it describes the most advanced features of the most advanced language: Common Lisp. Only the top percentile of programmers use lisp and if you can understand this book you are in the top percentile of lisp programmers. If you are looking for a dry coding manual that re-hashes common-sense techniques in whatever langue du jour, this book is not for you. This book is about pushing the boundaries of what we know about programming. While this book teaches useful skills that can help solve your programming problems today and now, it has also been designed to be entertaining and inspiring. If you have ever wondered what lisp or even programming itself is really about, this is the book you have been looking for.

User Stories Applied

User Stories Applied PDF Author: Mike Cohn
Publisher: Addison-Wesley Professional
ISBN: 0132702649
Category : Computers
Languages : en
Pages : 291

Get Book Here

Book Description
Thoroughly reviewed and eagerly anticipated by the agile community, User Stories Applied offers a requirements process that saves time, eliminates rework, and leads directly to better software. The best way to build software that meets users' needs is to begin with "user stories": simple, clear, brief descriptions of functionality that will be valuable to real users. In User Stories Applied, Mike Cohn provides you with a front-to-back blueprint for writing these user stories and weaving them into your development lifecycle. You'll learn what makes a great user story, and what makes a bad one. You'll discover practical ways to gather user stories, even when you can't speak with your users. Then, once you've compiled your user stories, Cohn shows how to organize them, prioritize them, and use them for planning, management, and testing. User role modeling: understanding what users have in common, and where they differ Gathering stories: user interviewing, questionnaires, observation, and workshops Working with managers, trainers, salespeople and other "proxies" Writing user stories for acceptance testing Using stories to prioritize, set schedules, and estimate release costs Includes end-of-chapter practice questions and exercises User Stories Applied will be invaluable to every software developer, tester, analyst, and manager working with any agile method: XP, Scrum... or even your own home-grown approach.

Building Mobile Apps at Scale

Building Mobile Apps at Scale PDF Author: Gergely Orosz
Publisher:
ISBN: 9781638778868
Category :
Languages : en
Pages : 238

Get Book Here

Book Description
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?

Behind the Cloud

Behind the Cloud PDF Author: Marc Benioff
Publisher: John Wiley & Sons
ISBN: 0470521163
Category : Business & Economics
Languages : en
Pages : 311

Get Book Here

Book Description
How did salesforce.com grow from a start up in a rented apartment into the world's fastest growing software company in less than a decade? For the first time, Marc Benioff, the visionary founder, chairman and CEO of salesforce.com, tells how he and his team created and used new business, technology, and philanthropic models tailored to this time of extraordinary change. Showing how salesforce.com not only survived the dotcom implosion of 2001, but went on to define itself as the leader of the cloud computing revolution and spark a $46-billion dollar industry, Benioff's story will help business leaders and entrepreneurs stand out, innovate better, and grow faster in any economic climate. In Behind the Cloud, Benioff shares the strategies that have inspired employees, turned customers into evangelists, leveraged an ecosystem of partners, and allowed innovation to flourish.

Building Great Software Engineering Teams

Building Great Software Engineering Teams PDF Author: Joshua Tyler
Publisher: Apress
ISBN: 1484211332
Category : Computers
Languages : en
Pages : 154

Get Book Here

Book Description
WINNER of Computing Reviews 20th Annual Best Review in the category Management “Tyler’s book is concise, reasonable, and full of interesting practices, including some curious ones you might consider adopting yourself if you become a software engineering manager.” —Fernando Berzal, CR, 10/23/2015 “Josh Tyler crafts a concise, no-nonsense, intensely focused guide for building the workhouse of Silicon Valley—the high-functioning software team.” —Gordon Rios, Summer Book Recommendations from the Smartest People We Know—Summer 2016 Building Great Software Engineering Teams provides engineering leaders, startup founders, and CTOs concrete, industry-proven guidance and techniques for recruiting, hiring, and managing software engineers in a fast-paced, competitive environment. With so much at stake, the challenge of scaling up a team can be intimidating. Engineering leaders in growing companies of all sizes need to know how to find great candidates, create effective interviewing and hiring processes, bring out the best in people and their work, provide meaningful career development, learn to spot warning signs in their team, and manage their people for long-term success. Author Josh Tyler has spent nearly a decade building teams in high-growth startups, experimenting with every aspect of the task to see what works best. He draws on this experience to outline specific, detailed solutions augmented by instructive stories from his own experience. In this book you’ll learn how to build your team, starting with your first hire and continuing through the stages of development as you manage your team for growth and success. Organized to cover each step of the process in the order you’ll likely face them, and highlighted by stories of success and failure, it provides an easy-to-understand recipe for creating your high-powered engineering team.