Growing Software


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 Software


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


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




Software Product Lines


Book Description

With SPLC 2005 we celebrated the formation of a new conference series, the International Software Product Line Conference (SPLC) which results from the “uni?cation” of the former series of three SPLC (Software Product Line) Con- rences launched in 2000 in the USA, and the former series of ?ve PFE (Product Family Engineering) Workshops started in 1996 in Europe. SPLC is nowthe premier forum for the growing community of software p- duct line practitioners, researchers, and educators. SPLC o?ers a unique - portunity to present and discuss the most recent experiences, ideas, innovations, trends,andconcernsintheareaofsoftwareproductlineengineering andtobuild aninternationalnetworkofproductlinechampions.AninternationalSPLCSt- ring Committee has been established and it is the wish of this committee that from 2005 on, the SPLC conference will be held yearly in Europe, America, or Asia. The technical program of SPLC 2005 included. – two keynotes from David Weiss (Avaya, USA) and Jan Bosch (Nokia, F- land), both leading experts with academic and industrial insights; – 17 full and 3 short research papers organized around the following themes: feature modeling, re-engineering, strategies, validation, scoping and arc- tecture, and product derivation; – eight experience reports describing commercial application of product line practices; – two panels focused on special topics in product line practice and product line research; – tool demonstrations; – aHallofFamesessionthatcontinuedtheSPLCtraditioninaslightlyrevised format. In addition, the technical program was preceded by a tutorial and workshop day that included ten half-day tutorials presented by well-recognized experts and ?ve workshops on speci?c areas of product line research.




An Elegant Puzzle


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.




The Nature of Software Development


Book Description

You need to get value from your software project. You need it "free, now, and perfect." We can't get you there, but we can help you get to "cheaper, sooner, and better." This book leads you from the desire for value down to the specific activities that help good Agile projects deliver better software sooner, and at a lower cost. Using simple sketches and a few words, the author invites you to follow his path of learning and understanding from a half century of software development and from his engagement with Agile methods from their very beginning. The book describes software development, starting from our natural desire to get something of value. Each topic is described with a picture and a few paragraphs. You're invited to think about each topic; to take it in. You'll think about how each step into the process leads to the next. You'll begin to see why Agile methods ask for what they do, and you'll learn why a shallow implementation of Agile can lead to only limited improvement. This is not a detailed map, nor a step-by-step set of instructions for building the perfect project. There is no map or instructions that will do that for you. You need to build your own project, making it a bit more perfect every day. To do that effectively, you need to build up an understanding of the whole process. This book points out the milestones on your journey of understanding the nature of software development done well. It takes you to a location, describes it briefly, and leaves you to explore and fill in your own understanding. What You Need: You'll need your Standard Issue Brain, a bit of curiosity, and a desire to build your own understanding rather than have someone else's detailed ideas poured into your head.




Software Security


Book Description

Software Security: Concepts & Practices is designed as a textbook and explores fundamental security theories that govern common software security technical issues. It focuses on the practical programming materials that will teach readers how to implement security solutions using the most popular software packages. It’s not limited to any specific cybersecurity subtopics and the chapters touch upon a wide range of cybersecurity domains, ranging from malware to biometrics and more. Features The book presents the implementation of a unique socio-technical solution for real-time cybersecurity awareness. It provides comprehensible knowledge about security, risk, protection, estimation, knowledge and governance. Various emerging standards, models, metrics, continuous updates and tools are described to understand security principals and mitigation mechanism for higher security. The book also explores common vulnerabilities plaguing today's web applications. The book is aimed primarily at advanced undergraduates and graduates studying computer science, artificial intelligence and information technology. Researchers and professionals will also find this book useful.




Managing Software for Growth


Book Description

- Helps managers combat the manufacturing mindset that dominates business thinking, and shows why this mindset is harmful to software development - Introduces predictability to the historically unpredictable world of software development - Allows organizations to improve job satisfaction by fostering an environment of creativity among developers




Customer Success


Book Description

Your business success is now forever linked to the success of your customers Customer Success is the groundbreaking guide to the exciting new model of customer management. Business relationships are fundamentally changing. In the world B.C. (Before Cloud), companies could focus totally on sales and marketing because customers were often 'stuck' after purchasing. Therefore, all of the 'post-sale' experience was a cost center in most companies. In the world A.B. (After Benioff), with granular per-year, per-month or per-use pricing models, cloud deployments and many competitive options, customers now have the power. As such, B2B vendors must deliver success for their clients to achieve success for their own businesses. Customer success teams are being created in companies to quarterback the customer lifecycle and drive adoption, renewals, up-sell and advocacy. The Customer Success philosophy is invading the boardroom and impacting the way CEOs think about their business. Today, Customer Success is the hottest B2B movement since the advent of the subscription business model, and this book is the one-of-a-kind guide that shows you how to make it work in your company. From the initial planning stages through execution, you'll have expert guidance to help you: Understand the context that led to the start of the Customer Success movement Build a Customer Success strategy proven by the most competitive companies in the world Implement an action plan for structuring the Customer Success organization, tiering your customers, and developing the right cross-functional playbooks Customers want products that help them achieve their own business outcomes. By enabling your customers to realize value in your products, you're protecting recurring revenue and creating a customer for life. Customer Success shows you how to kick start your customer-centric revolution, and make it stick for the long term.




Leading Lean Software Development


Book Description

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.