Download Free Growing Software Book in PDF and EPUB Free Download. You can read online Growing Software and write the review.

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.
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
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.
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.
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.
Are you an architect? Scrum Master? team leader? project manager? If you are any of these, you will find that leadership, done right, is a very tough job. This book deals with the hard parts. Not with tools, but with people. Here is the manifesto that drives this book: For us as team leaders, the goal and the way we measure our work is the overall growth in skills of self-organization and self-maintenance in each member of our team and the team as a whole. To that end: We accept that the team's needs from us change continuously based on their skills for handling the current reality of work, so we embrace a continuously changing leadership style over a one-style-fits-all leadership approach. We believe in challenging ourselves and our teams to always get better, so: * We create slack time for the team to learn and be challenged. * We embrace taking risks for our team over staying safe. * We embrace fear and discomfort while learning new skills over keeping people within their comfort zone. * We embrace experimentation as a constant practice over maintaining the status quo: * With people * With tools * With processes * With the environment * We believe our core practice is leading people, not wielding machines, so: * We embrace spending more time with our team than in meetings. * We embrace treating software problems as people problems. * We learn people skills and communication techniques. About the notes The second part of this book allows a peek into the minds of some of the best leaders, consultants, and managers as they give advice to a new team leader. Hear from Johanna Rothman, Kevlin Henney, Dan North, Uncle Bob Martin, and many others about the one thing they would like to teach you if you ever become a team leader, Scrum Master, project manager, or architect.
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.
A radical approach to getting IT projects done faster andcheaper than anyone thinks possible Software in 30 Days summarizes the Agile and Scrumsoftware development method, which allows creation of game-changingsoftware, in just 30 days. Projects that use it are three timesmore successful than those that don't. Software in 30 Daysis for the business manager, the entrepreneur, the productdevelopment manager, or IT manager who wants to develop softwarebetter and faster than they now believe possible. Learn how thisunorthodox process works, how to get started, and how to succeed.Control risk, manage projects, and have your people succeed withsimple but profound shifts in the thinking. The authors explain powerful concepts such as the art of thepossible, bottom-up intelligence, and why it's good to failearly—all with no risk greater than thirty days. The productivity gain vs traditional "waterfall" methods hasbeen over 100% on many projects Author Ken Schwaber is a co-founder of the Agile softwaremovement, and co-creator, with Jeff Sutherland, of the "Scrum"technique for building software in 30 days Coauthor Jeff Sutherland was cosigner of the Agile Manifesto,which marked the start of the Agile movement Software in 30 Days is a must-read for all managers andbusiness owners who use software in their organizations or in theirproducts and want to stop the cycle of slow, expensive softwaredevelopment. Programmers will want to buy copies for their managersand their customers so they will know how to collaborate to get thebest work possible.
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.
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?