Outside-in Software Development

Outside-in Software Development

Author: Carl Kessler

Publisher: Pearson Education

Published: 2007-09-24

Total Pages: 427

ISBN-13: 0132704374

DOWNLOAD EBOOK

"Outside-in thinking complements any approach your teams may be taking to the actual implementation of software, but it changes how you measure success. A successful outside-in team does a lot of learning and not much speculation." —Tom Poppendieck Build Software That Delivers Maximum Business Value to Every Key Stakeholder Imagine your ideal development project. It will deliver exactly what your clients need. It will achieve broad, rapid, enthusiastic adoption. And it will be designed and built by a productive, high-morale team of expert software professionals. Using this book's breakthrough "outside-in" approach to software development, your next project can be that ideal project. In Outside-in Software Development, two of IBM's most respected software leaders, Carl Kessler and John Sweitzer, show you how to identify the stakeholders who'll determine your project's real value, shape every decision around their real needs, and deliver software that achieves broad, rapid, enthusiastic adoption. The authors present an end-to-end framework and practical implementation techniques any development team can quickly benefit from, regardless of project type or scope. Using their proven approach, you can improve the effectiveness of every client conversation, define priorities with greater visibility and clarity, and make sure all your code delivers maximum business value. Coverage includes Understanding your stakeholders and the organizational and business context they operate in Clarifying the short- and long-term stakeholder goals your project will satisfy More effectively mapping project expectations to outcomes Building more "consumable" software: systems that are easier to deploy, use, and support Continuously enhancing alignment with stakeholder goals Helping stakeholders manage ongoing change long after you've delivered your product Mastering the leadership techniques needed to drive outside-in development


xUnit Test Patterns

xUnit Test Patterns

Author: Gerard Meszaros

Publisher: Pearson Education

Published: 2007-05-21

Total Pages: 890

ISBN-13: 0132797461

DOWNLOAD EBOOK

Automated testing is a cornerstone of agile development. An effective testing strategy will deliver new functionality more aggressively, accelerate user feedback, and improve quality. However, for many developers, creating effective automated tests is a unique and unfamiliar challenge. xUnit Test Patterns is the definitive guide to writing automated tests using xUnit, the most popular unit testing framework in use today. Agile coach and test automation expert Gerard Meszaros describes 68 proven patterns for making tests easier to write, understand, and maintain. He then shows you how to make them more robust and repeatable--and far more cost-effective. Loaded with information, this book feels like three books in one. The first part is a detailed tutorial on test automation that covers everything from test strategy to in-depth test coding. The second part, a catalog of 18 frequently encountered "test smells," provides trouble-shooting guidelines to help you determine the root cause of problems and the most applicable patterns. The third part contains detailed descriptions of each pattern, including refactoring instructions illustrated by extensive code samples in multiple programming languages.


A Philosophy of Software Design

A Philosophy of Software Design

Author: John K. Ousterhout

Publisher:

Published: 2021

Total Pages: 0

ISBN-13: 9781732102217

DOWNLOAD EBOOK

"This book addresses the topic of software design: how to decompose complex software systems into modules (such as classes and methods) that can be implemented relatively independently. The book first introduces the fundamental problem in software design, which is managing complexity. It then discusses philosophical issues about how to approach the software design process and it presents a collection of design principles to apply during software design. The book also introduces a set of red flags that identify design problems. You can apply the ideas in this book to minimize the complexity of large software systems, so that you can write software more quickly and cheaply."--Amazon.


The Art of Agile Development

The Art of Agile Development

Author: James Shore

Publisher: "O'Reilly Media, Inc."

Published: 2008

Total Pages: 436

ISBN-13: 0596527675

DOWNLOAD EBOOK

For those considering Extreme Programming, this book provides no-nonsense advice on agile planning, development, delivery, and management taken from the authors' many years of experience. While plenty of books address the what and why of agile development, very few offer the information users can apply directly.


Growing Object-Oriented Software, Guided by Tests

Growing Object-Oriented Software, Guided by Tests

Author: Steve Freeman

Publisher: Pearson Education

Published: 2009-10-12

Total Pages: 762

ISBN-13: 0321699769

DOWNLOAD EBOOK

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


Lean and Agile Software Development

Lean and Agile Software Development

Author: Adam Przybyłek

Publisher: Springer Nature

Published: 2021-01-05

Total Pages: 208

ISBN-13: 3030670848

DOWNLOAD EBOOK

This book constitutes the proceedings of the 5th International Conference on Lean and Agile Software Development, LASD 2021, which was held online on January 23, 2021. The conference received a total of 32 submissions, of which 10 full and 2 short papers are included in this volume. In addition, one keynote paper is also included. To live the agile mindset, the LASD conference focuses on highly relevant research outcomes and fosters their way into practice. Topics discussed in this volume range from teams under COVID-19 through women in Agile, to product road-mapping and non-functional requirements.


Sustainable Software Development

Sustainable Software Development

Author: Kevin Tate

Publisher: Addison-Wesley Professional

Published: 2006

Total Pages: 0

ISBN-13: 9780321286086

DOWNLOAD EBOOK

Delivers the cutting - edge of proven practices crafted to your needs for immediate and long - term success with your development efforts.


Software Development and Professional Practice

Software Development and Professional Practice

Author: John Dooley

Publisher: Apress

Published: 2011-10-13

Total Pages: 254

ISBN-13: 143023802X

DOWNLOAD EBOOK

Software Development and Professional Practice reveals how to design and code great software. What factors do you take into account? What makes a good design? What methods and processes are out there for designing software? Is designing small programs different than designing large ones? How can you tell a good design from a bad one? You'll learn the principles of good software design, and how to turn those principles back into great code. Software Development and Professional Practice is also about code construction—how to write great programs and make them work. What, you say? You've already written eight gazillion programs! Of course I know how to write code! Well, in this book you'll re-examine what you already do, and you'll investigate ways to improve. Using the Java language, you'll look deeply into coding standards, debugging, unit testing, modularity, and other characteristics of good programs. You'll also talk about reading code. How do you read code? What makes a program readable? Can good, readable code replace documentation? How much documentation do you really need? This book introduces you to software engineering—the application of engineering principles to the development of software. What are these engineering principles? First, all engineering efforts follow a defined process. So, you'll be spending a bit of time talking about how you run a software development project and the different phases of a project. Secondly, all engineering work has a basis in the application of science and mathematics to real-world problems. And so does software development! You'll therefore take the time to examine how to design and implement programs that solve specific problems. Finally, this book is also about human-computer interaction and user interface design issues. A poor user interface can ruin any desire to actually use a program; in this book, you'll figure out why and how to avoid those errors. Software Development and Professional Practice covers many of the topics described for the ACM Computing Curricula 2001 course C292c Software Development and Professional Practice. It is designed to be both a textbook and a manual for the working professional.


Test Driven Development

Test Driven Development

Author: Kent Beck

Publisher: Addison-Wesley Professional

Published: 2022-03-25

Total Pages: 241

ISBN-13: 0137585233

DOWNLOAD EBOOK

Quite simply, test-driven development is meant to eliminate fear in application development. While some fear is healthy (often viewed as a conscience that tells programmers to "be careful!"), the author believes that byproducts of fear include tentative, grumpy, and uncommunicative programmers who are unable to absorb constructive criticism. When programming teams buy into TDD, they immediately see positive results. They eliminate the fear involved in their jobs, and are better equipped to tackle the difficult challenges that face them. TDD eliminates tentative traits, it teaches programmers to communicate, and it encourages team members to seek out criticism However, even the author admits that grumpiness must be worked out individually! In short, the premise behind TDD is that code should be continually tested and refactored. Kent Beck teaches programmers by example, so they can painlessly and dramatically increase the quality of their work.


Technical Agile Coaching with the Samman Method

Technical Agile Coaching with the Samman Method

Author: Emily Bache

Publisher:

Published: 2021-01-25

Total Pages: 140

ISBN-13: 9789198676907

DOWNLOAD EBOOK

Samman Technical Coaching is an approach to Agile training that focuses on technical questions concerning how code is written. It is a highly effective way of increasing agility in your software development organization. The first part of the Samman method involves the coach working in an ensemble with development teams, programming in their production codebase. This hands-on mentoring is accompanied by daily "learning hour" sessions for mastering particular techniques. In this book you will discover how to put Samman into practice, improve your coding procedures and how you collaborate. It is a practical guide for aspiring and experienced coaches looking for fresh ideas and new ways of teaching Agile. It is both challenging and fun for developers and coaches alike.