Software Engineering Books
Pearson Education (US) Fearless Change
Book SynopsisMary Lynn Manns, Ph.D., is a professor in the Department of Management and Accountancy at the University of North Carolina, Asheville. Her doctoral work focused on the introduction of patterns into organizations. She is well known for her many presentations on this topic. Linda Rising, Ph.D., is well known throughout the patterns community as the editor of Design Patterns in Communications Software (Cambridge University Press, 2001) and The Patterns Handbook (Cambridge University Press, 1997). Now an independent consultant, she helped lead the introduction of patterns into AG Communication Systems in Phoenix, Arizona. Linda has worked in the telecommunications, avionics, and strategic weapons industries, and has extensive training and university teaching experience. She holds a Ph.D. from Arizona State University. Table of ContentsForeword. Preface. Acknowledgments. I. OVERVIEW. 1. Organizations and Change. The Change Agent. The Culture. The People. 2. Strategies or Patterns. Pattern Formats. Using Patterns. 3. Where Do I Start? Evangelism Is Critical for Success. A Small Package of Patterns. 4. What Do I Do Next? Target Groups to Ask for Help. It's Important to Say "Thanks". 5. Meetings and More. Let's Meet! Using Information That's Out There. Stay Connected. 6. Take Action! Other Ways to Learn. 7. It's All About People. What's in It for the Organization? You Have Feelings, Too! 8. A New Role: Now You're Dedicated! You Have Convinced Them–You Are a Dedicated Champion. 9. Convince the Masses. Enlist Gurus and Famous People. 10. More Influence Strategies. Keep Things Visible. It's Just a Token. Location Also Counts. Things Are Humming. 11. Keep It Going. Be Proactive! 12. Dealing with Resistance. Build Bridges. A Champion Skeptic. It's All About Politics. II. EXPERIENCES. Multiple Sclerosis Society Experience Report. UNCA Experience Report. Sun Core J2EE Patterns Experience Report. Customer Training Experience Report. III. THE PATTERNS. Ask for Help. Big Jolt. Bridge-Builder. Brown Bag. Champion Skeptic. Connector. Corporate Angel. Corridor Politics. Dedicated Champion. Do Food. e-Forum. Early Adopter. Early Majority. Evangelist. External Validation. Fear Less. Group Identity. Guru on Your Side. Guru Review. Hometown Story. In Your Space. Innovator. Involve Everyone. Just Do It. Just Enough. Just Say Thanks. Local Sponsor. Location, Location, Location. Mentor. Next Steps. Personal Touch. Piggyback. Plant the Seeds. The Right Time. Royal Audience. Shoulder to Cry On. Small Successes. Smell of Success. Stay in Touch. Step by Step. Study Group. Sustained Momentum. Tailor Made. Test the Waters. Time for Reflection. Token. Trial Run. Whisper in the General's Ear. External Pattern References. Appendix. References. Index.
£35.14
Pearson Education Writing Better Requirements
Book Synopsis Ian Alexander is an independent consultant specialising in Requirements Engineering. He has written several training courses on systems and requirements engineering. He has led hundreds of training courses on systems engineering, requirements, DOORS, and DXL, and has run numerous practical workshops on scenarios, trade-offs and requirements. He was co-author of an Addison-Wesley book on HTML 3 and its 2nd Edition on HTML 4. He is the author of the Scenario Plus for Use Cases toolkit, and is a well-known speaker and writer on scenario usage. He is currently on a technology project to investigate the reuse of specifications for control systems in the German automobile industry. He helps to run the BCS Requirements Engineering Specialist Group and the IEE Professional Network for Systems Engineering. He is a Chartered Engineer. Richard Stevens is the founder of QSS, the firm that launched the pioneering RequirTable of Contents Table of Contents 1. Introduction 9 1.1 Why do requirements matter? 9 1.2 Who are requirements for? 12 1.3 Different names for requirements 13 1.4 Different types of specification 14 1.5 The challenge of writing better requirements 15 1.6 The requirements writing process 18 2. Identifying the stakeholders 21 2.1 Different types of stakeholder 21 2.2 Your house extension: a simple case? 22 2.3 A practical approach to identifying stakeholders 23 Exercise 1: Listing the stakeholders 23 3. Gathering requirements from stakeholders 26 3.1 Possible techniques 26 Exercise 2: Asking 'why?' 28 3.2 Interviews 28 3.3 Workshops 32 3.4 Experiencing life as a user 36 3.5 Observing users at work 36 3.6 Acting out what needs to happen 36 3.7 Prototypes 38 4. Other sources of requirements 40 4.1 Possible sources 40 Exercise 3: Extracting requirements from source documents 44 Exercise 4: Extracting requirements from a memo 45 4.2 Getting requirements for mass-market products 45 4.3 User requirements in subsystem projects 46 5. Structuring the requirements 47 5.1 You need structure as well as text 47 5.2 Breaking the problem down into steps 48 5.3 Organizing requirements into scenarios 50 5.4 Examples of goal decomposition 52 Exercise 5: A structure for user requirements 53 5.5 Handling exceptions 53 Exercise 6: Could anything go wrong here? 54 Exercise 7: Exceptions 55 5.6 Examples and exercises in requirement structure 57 Exercise 8: Creating a heading structure 57 Exercise 9: The right document for each subject 57 Exercise 10: Wrongly placed requirements 58 6. Requirements in context 59 6.1 The user requirements document 59 6.2 Organizing the constraints 60 Exercise 11: Writing constraints 64 6.3 Defining the scope 64 Exercise 12: Restricting the scope 65 6.4 Requirement attributes 65 6.5 Keeping track of the requirements 67 7. Requirements writing 70 7.1 Quality, not perfection 70 7.2 Sketch, then improve 70 7.3 Anatomy of a good requirement 70 7.4 Guidelines for good requirements 71 7.5 Don't write like this 72 Exercise 13: Good requirements 75 Exercise 14: Writing requirements for familiar domestic systems 75 Exercise 15: Ambiguous requirements 76 8. Checking and reviewing 78 8.1 Checking the document structure with users 78 8.2 Checking the requirements 80 Exercise 16: Checking individual requirements 81 Exercise 17: Checking a set of requirements 82 8.3 Reviewing 83 8.4 Success - the reviewed document 85 Exercise 18: Reviewing 85 A: Answers to exercises 87 Exercise 1: Listing the stakeholders 87 Exercise 2: Asking 'why?' 87 Exercise 3: Extracting requirements from source documents 87 Exercise 4: Extracting requirements from a memo 88 Exercise 5: A structure for user requirements 88 Exercise 6: Could anything go wrong here? 89 Exercise 7: Exceptions 89 Exercise 8: Creating a heading structure 90 Exercise 9: The right document for each subject 90 Exercise 10: Wrongly placed requirements 90 Exercise 11: Writing constraints 91 Exercise 12: Restricting the scope 92 Exercise 13: Good requirements 92 Exercise 14: Writing requirements for familiar domestic systems 93 Exercise 15: Ambiguous requirements 93 Exercise 16: Checking individual re
£48.44
Taylor & Francis Ltd Statistics and Data Visualisation with Python
Book SynopsisThis book is intended to serve as a bridge in statistics for graduates and business practitioners interested in using their skills in the area of data science and analytics as well as statistical analysis in general. On the one hand, the book is intended to be a refresher for readers who have taken some courses in statistics, but who have not necessarily used it in their day-to-day work. On the other hand, the material can be suitable for readers interested in the subject as a first encounter with statistical work in Python. Statistics and Data Visualisation with Python aims to build statistical knowledge from the ground up by enabling the reader to understand the ideas behind inferential statistics and begin to formulate hypotheses that form the foundations for the applications and algorithms in statistical analysis, business analytics, machine learning, and applied machine learning. This book begins with the basics of programming in Python and data analysTable of Contents1. Data, Stats and Stories - An Introduction 2. Python Programming Primer 3. Snakes, Bears & Other Numerical Beasts: NumPy, SciPy & Pandas 4. The Measure of All Things - Statistics 5. Definitely Maybe: Probability and Distributions 6. Alluring Arguments and Ugly Facts - Statistical Modelling and Hypothesis Testing 7. Delightful Details - Data Visualisation 8. Dazzling Data Designs - Creating Charts A. Variance: Population v Sample B. Sum of First n Integers C. Sum of Squares of the First n Integers D. The Binomial Coefficient E. The Hypergeometric Distribution F. The Poisson Distribution G. The Normal Distribution H. Skewness and Kurtosis I. Kruskal-Wallis Test - No Ties
£44.99
CRC Press Flexible Software Design Systems Development for Changing Requirements
Book SynopsisDemonstrates the design principles and techniques that enable the design of software that empowers business staff to make functional changes to their systems with little or no professional IT intervention. This book concentrates on the design aspects of system development, the area with the most flexibility leverage.Table of ContentsIntroduction to flexibility. What is required to achieve flexibility. How to design flexible software systems. Flexibility: Delving deeper.
£114.00
CRC Press Beyond Code
Book SynopsisAI-powered coding tools are revolutionizing software development, transforming programming from a specialized skill into an accessible educational practice across disciplines. This book investigates how tools such as Cursor AI, GitHub Copilot, and Replit's Ghostwriter are dismantling traditional barriers to entry for learnersâparticularly those from non-STEM backgroundsâby enabling natural language code generation, intelligent debugging, and interactive, project-based learning. Bridging the gap between theoretical instruction and practical application, the book serves as both a guide and a critical framework for integrating generative AI into curricula. It highlights how these tools expand the boundaries of programming education by supporting interdisciplinary applications, from literary analysis to creative writing, thereby making coding relevant and actionable for students in the humanities and beyond. The book equips educators with the tools and strategies necessary to incorporate AI-assisted programming into diverse academic contexts by offering lesson plans and adaptable project models. This resource is essential for instructors seeking to demystify coding, promote inclusivity in technical learning, and reimagine the role of software literacy in the twenty-first-century classroom.
£999.99
O'Reilly Media Git Pocket Guide
Book SynopsisThis pocket guide is the perfect on-the-job companion to Git, the distributed version control system. It provides a compact, readable introduction to Git for new users, as well as a reference to common commands and procedures for those of you with Git experience
£16.99
APress Pro Entity Framework Core 2 for ASP.NET Core MVC
Book SynopsisModel, map, and access data effectively with Entity Framework Core 2, the latest evolution of Microsoft''s object-relational mapping framework. You will access data utilizing .NET objects via the most common data access layer used in ASP.NET Core MVC 2 projects. Best-selling author Adam Freeman explains how to get the most from Entity Framework Core 2 in MVC projects. He begins by describing the different ways that Entity Framework Core 2 can model data and the different types of databases that can be used. He then shows you how to use Entity Framework Core 2 in your own MVC projects, starting from the nuts and bolts and building up to the most advanced and sophisticated features, going in-depth to give you the knowledge you need. Chapters include common problems and how to avoid them. What You''ll Learn Gain a solid architectural understanding of Entity Framework Core 2 CrTable of ContentsPart 1------1 - Entity Framework Core in Context2 - Your First Entity Framework Core Application3 - Working with Databases4 - SportsStore - A Real (Data) Application5 - SportsStore - Storing Data6 - SportsStore - Modifying Data7 - SportsStore - Expanding the Data Model8 - SportsStore - Scaling Up9 - SportsStore - Customer Features10 - SportsStore - Creating An APIPart 2-----11 - Working with Entity Framework Core12 - Performing Data Operations13 - Understanding Migrations14 - Creating Data Relationships15 - Working with Relationships, Part 116 - Working with Relationships, Part 217 - Scaffolding an Existing Database18 - Manually Modelling a DatabasePart 3-----19 - Keys20 - Querying Data21 - Storing Data22 - Deleting Data23 - Using Database Server Features24 - Using Transactions
£56.24
O'Reilly Media Programming Quantum Computers
Book SynopsisIf you’re in software engineering, computer graphics, data science, or just an intrigued computerphile, this book provides a hands-on programmer’s guide to understanding quantum computing. Rather than labor through math and theory, you’ll work directly with examples that demonstrate this technology’s unique capabilities.
£47.99
APress SQL Server 2005 T-SQL Recipes: A Problem-Solution
Book Synopsis* Comprehensive T-SQL Coverage, including all SQL Server 2005 new features, from an established SQL Server expert and author. * Broad appeal, with practical ‘How to’ answers to common SQL Server T-SQL questions for both novice and advanced DBAs and developers. * Unique, easy-reference format – ideal for preparing for a SQL Server job interview, or for a SQL Server certification testTable of ContentsA table of contents is not available for this title.
£37.49
APress C++/CLI: The Visual C++ Language for .NET
Book SynopsisThis book gives developers – both the experienced and those who have only taken their first few steps – a small, fast-paced primer that will kick-start them into the world of C++/CLI. In twenty no-fluff chapters Microsoft insiders take readers into the heart of the C++/CLI language and explain both how the language elements work and how Microsoft intends them to be used. At the end of this short book readers will have a deep thorough grounding in the core language elements and the confidence to explore further that comes from a solid understanding of a language’s syntax and grammar.Table of ContentsA table of contents is not available for this title.
£48.74
Manning Publications Building User-Friendly DSLs
Book SynopsisImagine if your non-technical clients could safely produce software without the need for anyone to manually write code. Domain-specific languages are purpose-built programming interfaces that make that possible—no programming experience required. Written for developers who need to create user-facing DSLs, Domain- SpecificLanguages Made Easy unlocks clear and practical methods to createDSLs with easy-to-use interfaces. Author Meinte Boersma lays out an iterative process for creating languages accessible to domain experts such as operations specialists, data analysts, and financial experts. You'll start with an overview of software language engineering before diving into the unique projectional editing paradigm that makes it easy to produce DSLs for business. Imagine if your non-technical clients could safely produce software without the need for anyone to manually write code. Domain-specific languages are purpose-built programming interfaces that makethat possible—no programming experience required. This frees software developers from the time-consuming translation of a client's functional and domain-specific specifications, replacing complex code for modern and intuitive UIsTrade Review“A great alternative to DSL implementations that not many resources out there cover.”AdhirRamjiawan “This is anice practical exploration of Domain Specific Languages using JavaScript.” GeorgeThomas “The manuscript is excellent. The content is great, the illustrations are very well done. The author has taken a very pedagogical approach to transfer practical nd rapidly exploitable knowledge in a short period of time.” Alain Lompo “AMUST-HAVE book on the topic!” Karthikeyarajan Rajendran “DSL is always considered niche area and difficult to do. This book make it easy foryou to understand with easy to understand examples. If you ever wanted to learn but never tried you now have a good reason to do so!” Kumar Unnikrishnan “Great external DSL reference. With this book you will have all you need to build your external DSL!” Julien Pohie “An interesting concept of mixing DSL design with high-level software design.” TobiasKaatz “This book is really interesting for the intended user. Easy to grasp, understand, followalong and try out the code in small incremental steps.” Satej Kumar Sahu “It's one thing to use a DSL, it's another to design and implement one. This book narrows the gap for anyone interested.” Burk Hufnagel
£45.39
Manning Publications How to Lead in Data Science
Book SynopsisTo lead a data science team, you need to expertly articulate technology roadmaps, support a data-driven culture, and plan a data strategy that drives a competitive business plan. In this practical guide, you'll learn leadership techniques the authors have developed building multiple high-performance data teams. In How to Lead in Data Science you'll master techniques for leading data science at every seniority level, from heading up a single project to overseeing a whole company's data strategy. You'll find advice on plotting your long-term career advancement, as well as quick wins you can put into practice right away. Throughout, carefully crafted assessments and interview scenarios encourage introspection, reveal personal blind spots, and show development areas to help advance your career. Leading a data science team takes more than the typical set of business management skills. You need specific know-how to articulate technology roadmaps, support a data-driven culture, and plan a data strategy that drives a competitive business plan. Whether you're looking to manage your team better or work towards a seat at your company's top leadership table, this book will show you how. Trade Review“Improveleadership skills, irrespective of the domain you are in.” Vishwesh RaviShrimali “Whether you are new to managing, new to data science, or just want tobe a better advocate for your data team there are a lot of tips to improve yourpractice.” MichaelPetrey “This is a book that surpasses the boundaries of mining data and coding,but warns you about not forgetting them in the effort to successfully lead datascience teams.” JesúsJuárez-Guerrero “Excellent book. Covers a large complex topic in a clear and understandableway.” GaryBake “Excellent and ambitious book that provides actionable insight on how tolead in data science. Filled with insightful vignettes, anecdotes, and casestudies to bring life and relevance to the frameworks and discussion.” MarcParadis
£37.99
Manning Publications Five Lines of Code: How and when to refactor
Book SynopsisImproving existing code—refactoring—is one of the most common tasks you’ll face as a programmer. Five Lines of Code teaches you clear and actionable refactoring rules that you can apply without relying on intuitive judgements such as “code smells.” It’s written for working developers, guiding you step by step through applying refactoring patterns to the codebase of a 2D puzzle game. Following the author’s expert perspective—that refactoring and code smells can be learned by following a concrete set of principles—you’ll learn when to refactor your code, what patterns to apply to what problem, and the code characteristics that indicate it’s time for a rework. Thanks to this hands-on guide, you’ll find yourself programming faster while still delivering high-quality code that your teammates will love to work with. about the technologyRefactoring is a fact of life. All code is imperfect, and refactoring is a systematic process you can use to improve the quality of your codebase. Whatever your architecture, choice of OO language, or skill as a programmer, the continuous design improvements of refactoring make your code simpler, more readable, and less prone to bugs. You’ll be amazed at the productivity boost of adding refactoring to your code hygiene routine—it’s quicker to hammer out bad code and then improve it than spending hours writing good code in the first place! about the book Five Lines of Code teaches working developers the shortcuts to quality code. You’ll follow author Christian Clausen’s unique approach to teaching refactoring that’s focused on concrete rules, and getting any method down to five lines or less to implement! There’s no jargon or tricky automated-testing skills required, just easy guidelines and patterns illustrated by detailed code samples. Chapter by chapter you’ll put techniques into action by refactoring a complete 2D puzzle game. Before you know it, you’ll be making serious and tangible improvements to your codebase. what's inside The symptoms of bad code The extracting method, introducing strategy pattern, and many other refactoring patterns Modifying code safely, even when you don’t understand it Writing stable code that enables change-by-addition Proper compiler practices Writing code that needs no comments Real-world practices for great refactoring about the readerFor developers who know an object-oriented programming language. about the author Christian Clausen works as a Technical Agile Coach teaching teams how to properly refactor their code. Previously he worked as a software engineer on the Coccinelle semantic patching project, an automated refactoring tool. He has an MSc in computer science, and five years’ experience teaching software quality at a university level.
£37.99
Pearson Education (US) Modern Software Engineering
Book SynopsisTrade Review" Modern Software Engineering gets it right and describes the ways skilled practitioners actually engineer software today. The techniques Farley presents are not rigid, prescriptive, or linear, but they are disciplined in exactly the ways software requires: empirical, iterative, feedback-driven, economical, and focused on running code." -- Glenn Vanderburg, Director of Engineering at Nubank "There are lots of books that will tell you how to follow a particular software engineering practice; this book is different. What Dave does here is set out the very essence of what defines software engineering and how that is distinct from simple craft. He explains why and how in order to master software engineering you must become a master of both learning and of managing complexity, how practices that already exist support that, and how to judge other ideas on their software engineering merits. This is a book for anyone serious about treating software development as a true engineering discipline, whether you are just starting out or have been building software for decades." -- Dave Hounslow, Software Engineer "These are important topics and it's great to have a compendium that brings them together as one package." -- Michael Nygard, Author of Release IT, Professional Programmer, and Software Architect "I've been reading the review copy of Dave Farley's book and it's what we need. It should be required reading for anyone aspiring to be a software engineer or who wants to master the craft. Pragmatic, practical advice on professional engineering. It should be required reading in universities and bootcamps." -- Bryan Finster, Distinguished Engineer and Value Stream Architect at USAF Platform One "The title says it all. In this book, Dave Farley shares his wisdom and experience as an outstanding software engineer and leader. The reader is fortunate to see the world of software design through the eyes of a master designer. Modern - It describes the practices tools and technology used today to build working software with a productive cadence. Modern Software Engineering provides a reader with a clear understanding of the field of software engineering and why it is indeed engineering. Dave explains the essential aspects of software engineering concisely from the perspective of a software engineer. Unlike many books which focus on one right way, he stresses the importance of good judgment, experimentation, and measurement. Many authors discuss the goodness of cohesion, coupling, and separation of concerns but Dave illustrates concepts while discussing the natural tensions between them which are part of the art of software design. His passion and discussion for TDD and perspective on how and why it works, provide fresh motivation as TDD as design practice. Throughout the book, Dave presents concrete examples of design choices, where creative experimentation, measure, and iterative development are essential. The book presents a series of courteous conversations about software product design and implementation. It is a book that professionals will return to often to reread and think about these important design conversations. This is an excellent book that belongs on the self of every software engineer be they new or leading a large team."—Dave Thomas, CEO of Bedarra CorporationTable of ContentsForeword xviiPreface xxiAcknowledgments xxvAbout the Author xxvii Part I: What Is Software Engineering? 1 Chapter 1: Introduction 3 Engineering--The Practical Application of Science 3 What Is Software Engineering? 4 Reclaiming "Software Engineering" 5 The Birth of Software Engineering 7 Shifting the Paradigm 8 Summary 9 Chapter 2: What Is Engineering? 11 Production Is Not Our Problem 11 Design Engineering, Not Production Engineering 12 A Working Definition of Engineering 17 Engineering != Code 17 Why Does Engineering Matter? 19 The Limits of "Craft" 19 Precision and Scalability 20 Managing Complexity 21 Repeatability and Accuracy of Measurement 22 Engineering, Creativity, and Craft 24 Why What We Do Is Not Software Engineering 25 Trade-Offs 26 The Illusion of Progress 26 The Journey from Craft to Engineering 27 Craft Is Not Enough 28 Time for a Rethink? 28 Summary 30 Chapter 3: Fundamentals of an Engineering Approach 31 An Industry of Change? 31 The Importance of Measurement 32 Applying Stability and Throughput 34 The Foundations of a Software Engineering Discipline 36 Experts at Learning 36 Experts at Managing Complexity 37 Summary 38 Part II: Optimize for Learning 41 Chapter 4: Working Iteratively 43 Practical Advantages of Working Iteratively 45 Iteration as a Defensive Design Strategy 46 The Lure of the Plan 48 Practicalities of Working Iteratively 54 Summary 55 Chapter 5: Feedback 57 A Practical Example of the Importance of Feedback 58 Feedback in Coding 60 Feedback in Integration 61 Feedback in Design 63 Feedback in Architecture 65 Prefer Early Feedback 67 Feedback in Product Design 68 Feedback in Organization and Culture 68 Summary 70 Chapter 6: Incrementalism 71 Importance of Modularity 72 Organizational Incrementalism 73 Tools of Incrementalism 74 Limiting the Impact of Change 76 Incremental Design 77 Summary 79 Chapter 7: Empiricism 81 Grounded in Reality 82 Separating Empirical from Experimental 82 "I Know That Bug!" 82 Avoiding Self-Deception 84 Inventing a Reality to Suit Our Argument 85 Guided by Reality 88 Summary 89 Chapter 8: Being Experimental 91 What Does "Being Experimental" Mean? 92 Feedback 93 Hypothesis 94 Measurement 95 Controlling the Variables 96 Automated Testing as Experiments 97 Putting the Experimental Results of Testing into Context 98 Scope of an Experiment 100 Summary 100 Part III: Optimize for Managing Complexity 103 Chapter 9: Modularity 105 Hallmarks of Modularity 106 Undervaluing the Importance of Good Design 107 The Importance of Testability 108 Designing for Testability Improves Modularity 109 Services and Modularity 115 Deployability and Modularity 116 Modularity at Different Scales 118 Modularity in Human Systems 118 Summary 120 Chapter 10: Cohesion 121 Modularity and Cohesion: Fundamentals of Design 121 A Basic Reduction in Cohesion 122 Context Matters 125 High-Performance Software 128 Link to Coupling 129 Driving High Cohesion with TDD 129 How to Achieve Cohesive Software 130 Costs of Poor Cohesion 132 Cohesion in Human Systems 133 Summary 133 Chapter 11: Separation of Concerns 135 Dependency Injection 139 Separating Essential and Accidental Complexity 139 Importance of DDD 142 Testability 144 Ports & Adapters 145 When to Adopt Ports & Adapters 147 What Is an API? 148 Using TDD to Drive Separation of Concerns 149 Summary 150 Chapter 12: Information Hiding and Abstraction 151 Abstraction or Information Hiding 151 What Causes "Big Balls of Mud"? 152 Organizational and Cultural Problems 152 Technical Problems and Problems of Design 154 Fear of Over-Engineering 157 Improving Abstraction Through Testing 159 Power of Abstraction 160 Leaky Abstractions 162 Picking Appropriate Abstractions 163 Abstractions from the Problem Domain 165 Abstract Accidental Complexity 166 Isolate Third-Party Systems and Code 168 Always Prefer to Hide Information 169 Summary 170 Chapter 13: Managing Coupling 171 Cost of Coupling 171 Scaling Up 172 Microservices 173 Decoupling May Mean More Code 175 Loose Coupling Isn't the Only Kind That Matters 176 Prefer Loose Coupling 177 How Does This Differ from Separation of Concerns? 178 DRY Is Too Simplistic 179 Async as a Tool for Loose Coupling 180 Designing for Loose Coupling 182 Loose Coupling in Human Systems 182 Summary 184 Part IV: Tools to Support Engineering in Software 185 Chapter 14: The Tools of an Engineering Discipline 187 What Is Software Development? 188 Testability as a Tool 189 Measurement Points 192 Problems with Achieving Testability 193 How to Improve Testability 196 Deployability 197 Speed 199 Controlling the Variables 200 Continuous Delivery 201 General Tools to Support Engineering 202 Summary 203 Chapter 15: The Modern Software Engineer 205 Engineering as a Human Process 207 Digitally Disruptive Organizations 207 Outcomes vs. Mechanisms 210 Durable and Generally Applicable 211 Foundations of an Engineering Discipline 214 Summary 215 Index 217
£26.99
O'Reilly Media Release It!
Book SynopsisA single dramatic software failure can cost a company millions of dollars - but can be avoided with simple changes to design and architecture. This new edition of the best-selling industry standard shows you how to create systems that run longer, with fewer failures, and recover better when bad things happen. New coverage includes DevOps, microservices, and cloud-native architecture. Stability antipatterns have grown to include systemic problems in large-scale systems. This is a must-have pragmatic guide to engineering for production systems. If you're a software developer, and you don't want to get alerts every night for the rest of your life, help is here. With a combination of case studies about huge losses - lost revenue, lost reputation, lost time, lost opportunity - and practical, down-to-earth advice that was all gained through painful experience, this book helps you avoid the pitfalls that cost companies millions of dollars in downtime and reputation. Eighty percent of project life-cycle cost is in production, yet few books address this topic. This updated edition deals with the production of today's systems - larger, more complex, and heavily virtualized - and is the first book to cover chaos engineering, the discipline of applying randomness and deliberate stress to reveal systematic problems. Build systems that survive the real world, avoid downtime, implement zero-downtime upgrades and continuous delivery, and make cloud-native applications resilient. Examine ways to architect, design, and build software - particularly distributed systems - that stands up to the typhoon winds of a flash mob, a Slashdotting, or a link on Reddit. Take a hard look at software that failed the test and find ways to make sure your software survives.
£36.57
Princeton University Press The Essence of Software
Book SynopsisTrade Review"Finalist for the PROSE Award in Computing and Information Sciences, Association of American Publishers""This book gives new answers to old questions, offering a fresh perspective on software design, with examples from over 100 familiar apps. It’s accessible to anyone—strategist, marketer, manager, designer, or programmer—who wants software that is more empowering, dependable, and delightful to use." * MIT News *
£22.50
Pearson Education (US) Agile Product Management with Scrum
Book SynopsisRoman Pichler is a leading Scrum and agile product management expert. He has a long track record in teaching and coaching product owners and in helping companies apply effective product management practices. In addition to this book, he is the bestselling author of ScrumAgiles Projektmanagement erfolgreich einsetzen (ScrumApplying Agile Project Management Successfully) (dpunkt.verlag, 2008). As a Certified Scrum Trainer, he led the Scrum Alliance effort to develop a curriculum for the Certified Scrum Product Owner training. Find out more at romanpichler.com.Trade Review"Product owners have had few places to turn to for advice, despite having the hardest role on an agile project. This book rectifies that. Roman Pichler's insights into the duties of the product owner are powerful and practical. Correctly applied, his advice will benefit any product owner and agile team." -Mike Cohn, Author of Succeeding with Agile, Agile Estimating and Planning, and User Stories Applied "Scrum is silent on how a product owner can maximize value. Most product managers and marketers don't know how to use the iterative, incremental nature of Scrum to do so. Roman has filled this hole nicely with his new book, Agile Product Management with Scrum." -Ken Schwaber, codeveloper of the Scrum process "With so little written on the intersections of agile methods and product management, Roman makes a significant contribution to the field. The book provides clear guidance and rich examples on how to become an agile product manager and a successful product owner, and, further, how to lead with a strong vision. This book is a must read for product managers new to Scrum, product owners new to product management, and any product manager who wants to get the most out of Agile." -Greg Cohen, Principal Consultant, 280 Group and Director, Silicon Valley Product Management Association "I'm always happy to hear what Roman is thinking. What I really like about this book is that he not only shares his experience ("Common Mistakes" is a great section), but he also brings in the wisdom of others in the field. This powerful combination allows him to see farther ahead and share that vision with us. Thanks, Roman!" -Linda Rising, Independent Consultant and coauthor of Fearless Change: Patterns for Introducing New Ideas "Roman Pichler's new and remarkable book focuses on the product and the product owner role, applying Scrum to the whole value chain. His experience as a coach leads to genuinely balanced, practical, and applicable solutions for every conceivable situation in the product lifecycle. This is the definitive reference guide to agile product management for all practitioners!" -Markus Andrezak, Manager, Outsourced Product Development, mobile.international GmbH "Roman Pichler's product owner book is an easy-to-read and comprehensive description of the important role of the product owner in Scrum. It points out the significance of vision and leadership, as well as minimal marketable products and short release cycles. It is a resource for new product owners to get into their job and gives management good advice on choosing the right person for that job." -Andrea Heck, Dipl-Inf (Univ.), Agile Transition Project Manager "The product owner is a vital role in Scrum, and Roman's new book is a welcome contribution to helping product owners succeed." -Craig Larman, coauthor of Scaling Lean & Agile Development and Practices for Scaling Lean & Agile Development "Roman's no-nonsense approach takes Scrum back to its roots, examining and building on the fundamental concepts behind product ownership. The focus on teamwork is a welcome antidote to process-centric views of Scrum, showing how the product owner role changes and challenges the status quo of the traditionally run project. Well researched, Roman leverages both his own experience as well as that of others, clearly showing how Scrum product ownership works to solve common problems, citing realworld examples of both success and failure. Scattered with practical tips, this book is for anybody who wants to manage or to be a Scrum product owner and release successful products using Scrum." -Simon Bennett, Global Competency Lead and Product Owner, EMC Consulting "Roman Pichler's Agile Product Management with Scrum is destined to be a vital reference for agile product managers, product owners, business analysts, and anybody wanting to be a great agile product manager. Roman shares practical tips and guidance on all aspects of agile planning, the care and feeding of your product backlog, and the essential activities of visioning, valuing, and collaborating. Agile Product Management with Scrum will raise your awareness of the complex, multifaceted discipline of agile product management. Better yet, all agile team members will benefit by reading this book, because on every successful agile team, we all think like product managers." -Ellen Gottesdiener, President/Founder, EBG Consulting, Inc. "Agile software development is about incrementally converting requirements into working software using short iterations. Agile Product Management with Scrum answers one of the most important questions in product organizations: "Are we building the right product?" Or, as Roman so passionately put it in his subtitle, Creating Products that Customers Love. Roman's book is the long-awaited link to turn a broad vision into meaningful and digestible requirements. It provides a thorough introduction to the Scrum framework for product managers and executives who are eager to reduce development costs and time-to-market delivery of exciting new software products." -Jochen Krebs, Incrementor and Author of Agile Portfolio Management "Roman delivers an agile product management book that clearly describes the importance, challenges, and pitfalls of the product owner role. Using practical examples, highlighting common mistakes, and supplying reflection questions at the end of each chapter, Roman makes the role of product owner easily accessible and doable. This is the book to read for any organization wishing to implement Scrum." -Jessica Hildrum, former CEO of Norway's premier Agile training company "At the core of every successful agile development team is a visionary, engaged, and empowered product manager. In Agile Product Management with Scrum, Roman Pichler gives us a simple, no-nonsense definition of the role that will lead any Scrum team to amazing results. For all of you that want to get under the covers of the most important role in agile development, this is the book for you. A must for every new product owner!" -Steve Greene, Vice President, Program Management & Agile Development, salesforce.comTable of ContentsForeword by Jeff Sutherland xv Foreword by Brett Queener xvii Preface xix Acknowledgments xxiii About the Author xxv Chapter 1: Understanding the Product Owner Role 1 The Product Owner Role 2 Desirable Characteristics of a Product Owner 3 Working with the Team 7 Collaborating with the ScrumMaster 9 Working with Customers, Users, and Other Stakeholders 10 Scaling the Product Owner Role 12 Common Mistakes 16 Reflection 20 Chapter 2: Envisioning the Product 23 The Product Vision 24 Desirable Qualities of the Vision 25 The Minimal Marketable Product 27 Simplicity 31 Customer Needs and Product Attributes 33 The Birth of the Vision 35 Techniques for Creating the Vision 37 Visioning and the Product Road Map 41 Minimal Products and Product Variants 42 Common Mistakes 43 Reflection 46 Chapter 3: Working with the Product Backlog 47 The DEEP Qualities of the Product Backlog 48 Grooming the Product Backlog 49 Discovering and Describing Items 51 Prioritizing the Product Backlog 54 Getting Ready for Sprint Planning 59 Sizing Items 64 Dealing with Nonfunctional Requirements 68 Scaling the Product Backlog 70 Common Mistakes 71 Reflection 74 Chapter 4: Planning the Release 75 Time, Cost, and Functionality 76 Quality Is Frozen 78 Early and Frequent Releases 79 Quarterly Cycles 81 Velocity 82 The Release Burndown 83 The Release Plan 87 Release Planning on Large Projects 91 Common Mistakes 94 Reflection 96 Chapter 5: Collaborating in the Sprint Meetings 97 Sprint Planning 98 Definition of Done 99 Daily Scrum 100 Sprint Backlog and Sprint Burndown 101 Sprint Review 101 Sprint Retrospective 103 Sprint Meetings on Large Projects 104 Common Mistakes 107 Reflection 109 Chapter 6: Transitioning into the Product Owner Role 111 Becoming a Great Product Owner 111 Developing Great Product Owners 115 Reflection 118 References 119 Index 125
£26.54
John Wiley & Sons Inc PatternOriented Software Architecture A Pattern
Book SynopsisThe eagerly awaited Pattern-Oriented Software Architecture (POSA) Volume 4 is about a pattern language for distributed computing. The authors will guide you through the best practices and introduce you to key areas of building distributed software systems.Trade Review"The authors' decision to include a real-life use case was a good strategy it illustrate the application of the pattern language." (Computing Reviews, February 15, 2008)Table of ContentsForeword xv About This Book xvii About The Authors xxiii Guide To The Reader xxvii Part I Some Concepts 1 1 On Patterns and Pattern Languages 3 1.1 Patterns Introduced 4 1.2 Inside Patterns 6 1.3 Between Patterns 10 1.4 Into Pattern Languages 13 1.5 Patterns Connected 15 2 On Distributed Systems 17 2.1 Benefits of Distribution 18 2.2 Challenges of Distribution 20 2.3 Technologies for Supporting Distribution 22 2.4 Limitations of Middleware 32 3 On the Pattern Language 33 3.1 Intent, Scope, and Audience 34 3.2 Origins and Genesis 35 3.3 Structure and Content 36 3.4 Presentation 44 3.5 Practical Use 49 Part II A Story 53 4 Warehouse Management Process Control 57 4.1 System Scope 58 4.2 Warehouse Management Process Control 60 5 Baseline Architecture 65 5.1 Architecture Context 66 5.2 Partitioning the Big Ball of Mud 67 5.3 Decomposing the Layers 68 5.4 Accessing Domain Object Functionality 71 5.5 Bridging the Network 72 5.6 Separating User Interfaces 76 5.7 Distributing Functionality 79 5.8 Supporting Concurrent Domain Object Access 82 5.9 Achieving Scalable Concurrency 85 5.10 Crossing the Object-Oriented/Relational Divide 87 5.11 Configuring Domain Objects at Runtime 89 5.12 Baseline Architecture Summary 90 6 Communication Middleware 95 6.1 A Middleware Architecture for Distributed Systems 96 6.2 Structuring the Internal Design of the Middleware 100 6.3 Encapsulating Low-level System Mechanisms 103 6.4 Demultiplexing ORB Core Events 105 6.5 Managing ORB Connections 108 6.6 Enhancing ORB Scalability 111 6.7 Implementing a Synchronized Request Queue 114 6.8 Interchangeable Internal ORB Mechanisms 116 6.9 Consolidating ORB Strategies 118 6.10 Dynamic Configuration of ORBs 121 6.11 Communication Middleware Summary 124 7 Warehouse Topology 129 7.1 Warehouse Topology Baseline 130 7.2 Representing Hierarchical Storage 131 7.3 Navigating the Storage Hierarchy 133 7.4 Modeling Storage Properties 135 7.5 Varying Storage Behavior 137 7.6 Realizing Global Functionality 140 7.7 Traversing the Warehouse Topology 142 7.8 Supporting Control Flow Extensions 144 7.9 Connecting to the Database 146 7.10 Maintaining In-Memory Storage Data 147 7.11 Configuring the Warehouse Topology 149 7.12 Detailing the Explicit Interface 151 7.13 Warehouse Topology Summary 153 8 The Story Behind The Pattern Story 157 Part III The Language 163 9 From Mud To Structure 167 Domain Model ** 182 Layers ** 185 Model-View-Controller ** 188 Presentation-Abstraction-Control 191 Microkernel ** 194 Reflection * 197 Pipes and Filters ** 200 Shared Repository ** 202 Blackboard 205 Domain Object ** 208 10 Distribution Infrastructure 211 Messaging ** 221 Message Channel ** 224 Message Endpoint ** 227 Message Translator ** 229 Message Router ** 231 Publisher-Subscriber ** 234 Broker ** 237 Client Proxy ** 240 Requestor ** 242 Invoker ** 244 Client Request Handler ** 246 Server Request Handler ** 249 11 Event Demultiplexing and Dispatching 253 Reactor ** 259 Proactor * 262 Acceptor-Connector ** 265 Asynchronous Completion Token ** 268 12 Interface Partitioning 271 Explicit Interface ** 281 Extension Interface ** 284 Introspective Interface ** 286 Dynamic Invocation Interface * 288 Proxy ** 290 Business Delegate ** 292 Facade ** 294 Combined Method ** 296 Iterator ** 298 Enumeration Method ** 300 Batch Method ** 302 13 Component Partitioning 305 Encapsulated Implementation ** 313 Whole-Part ** 317 Composite ** 319 Master-Slave * 321 Half-Object plus Protocol ** 324 Replicated Component Group * 326 14 Application Control 329 Page Controller ** 337 Front Controller ** 339 Application Controller ** 341 Command Processor ** 343 Template View ** 345 Transform View ** 347 Firewall Proxy ** 349 Authorization ** 351 15 Concurrency 353 Half-Sync/Half-Async ** 359 Leader/Followers ** 362 Active Object ** 365 Monitor Object ** 368 16 Synchronization 371 Guarded Suspension ** 380 Future ** 382 Thread-Safe Interface * 384 Double-Checked Locking 386 Strategized Locking ** 388 Scoped Locking ** 390 Thread-Specific Storage 392 Copied Value ** 394 Immutable Value ** 396 17 Object Interaction 399 Observer ** 405 Double Dispatch ** 408 Mediator * 410 Command ** 412 Memento ** 414 Context Object ** 416 Data Transfer Object ** 418 Message ** 420 18 Adaptation and Extension 423 Bridge ** 436 Object Adapter ** 438 Chain of Responsibility * 440 Interpreter 442 Interceptor ** 444 Visitor ** 447 Decorator 449 Execute-Around Object ** 451 Template Method * 453 Strategy ** 455 Null Object ** 457 Wrapper Facade ** 459 Declarative Component Configuration * 461 19 Modal Behavior 463 Objects for States * 467 Methods for States * 469 Collections for States ** 471 20 Resource Management 473 Container * 488 Component Configurator * 490 Object Manager ** 492 Lookup ** 495 Virtual Proxy ** 497 Lifecycle Callback ** 499 Task Coordinator * 501 Resource Pool ** 503 Resource Cache ** 505 Lazy Acquisition ** 507 Eager Acquisition ** 509 Partial Acquisition * 511 Activator ** 513 Evictor ** 515 Leasing ** 517 Automated Garbage Collection ** 519 Counting Handle ** 522 Abstract Factory ** 525 Builder * 527 Factory Method ** 529 Disposal Method ** 531 21 Database Access 533 Database Access Layer ** 538 Data Mapper ** 540 Row Data Gateway ** 542 Table Data Gateway ** 544 Active Record 546 22 A Departing Thought 549 Glossary 553 References 573 Index of Patterns 587 Index of Names 593 Subject Index 595
£32.80
The Pragmatic Programmers The Nature of Software Development
Book SynopsisYou 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.
£18.99
Manning Publications Rust Servers, Services, and Apps
Book SynopsisRust Servers, Services, and Apps is a hands-on guide to developing modern distributed web applications with Rust. You'll learn how to build efficient services, write custom web servers, and even build full stack applications end-to-end in Rust. You'll start with the foundations, using Rust to build an HTTP server, and RESTful API that you'll secure, debug, and evolve with fearless refactoring. You'll then put Rust through its paces to develop a digital storefront service, and a single-page client-side application. This fastpaced book is packed with code samples you can adapt to your own projects, and detailed annotations to help you understand how Rust works under the hood. About the technologyThe blazingly fast, safe, and efficient Rust language has been voted “most loved” for five consecutive years on the StackOverflow survey. It's easy to see why. Rust combines all the features of a modern language with the low-latency power of C. Its efficiency will slash your runtime footprint—and your cloud hosting bills—and its flexibility lets you write network programs and high-level applications with equal ease.Trade Review"The missing book for anyone that has taken the time to learn Rust but now doesn't know how to apply the language to any real world scenarios." Gustavo Filipe Ramos Gomes "This is my kind of book! The author takes you through writing a variety of web services in Rust toward a final project." Jerome Meyer "Great examples with good level of difficulty." Marcos Oliveira "A clear and pragmatic guide to building services in Rust." Dan Sheikh
£41.39
Pearson Education (US) Software Systems Architecture
Book SynopsisNick Rozanski has worked in IT since 1980 for several large and small systems integrators, including Logica, Capgemini, and Sybase, and end user organizations including Marks and Spencer and Barclays Global Investors. He has taken senior roles on a wide range of programs in finance, retail, manufacturing, and government. His technology background includes enterprise application integration, package implementation, relational database, data replication, and object-oriented software development. He is also an experienced technical instructor and certified internal project auditor. Eoin (pronounced Owen) Woods is a lead system architect in the equities technology group of a major European investment bank with architecture and design responsibility for a number of the organization's key systems. Prior to this, he led the application architecture group at Barclays Global Investors and has worked as a software eTable of Contents Chapter 1: Introduction Chapter 2: Software Architecture Concepts Chapter 3: Viewpoints and Views Chapter 4: Architectural Perspectives Chapter 5: The Role Of The Software Architect Chapter 6: Introduction to the Software Architecture Process Chapter 7: The Architecture Definition Process Chapter 8: Concerns, Principles, and Decisions Chapter 9: Identifying and Engaging Stakeholders Chapter 10: Identifying and Using Scenarios Chapter 11: Using Styles and Patterns Chapter 12: Producing Architectural Models Chapter 13: Creating the Architectural Description Chapter 14: Evaluating the Architecture Chapter 15: Introduction to the Viewpoint Catalog Chapter 16: The Context Viewpoint Chapter 17: The Functional Viewpoint Chapter 18: The Information Viewpoint Chapter 19: The Concurrency Viewpoint Chapter 20: The Development Viewpoint Chapter 21: The Deployment Viewpoint Chapter 22: The Operational Viewpoint Chapter 23: Achieving Consistency Across Views Chapter 24: Introduction to the Perspective Catalo Chapter 25: The Security Perspective Chapter 26: The Performance and Scalability Perspective Chapter 27: The Availability and Resilience Perspective Chapter 28: The Evolution Perspective Chapter 29: Other Perspectives Chapter 30: Working As A Software Architect Appendix: Other Viewpoint Sets
£49.94
O'Reilly Media Head First ObjectsOriented Analysis and Design
Book SynopsisShows you how to analyze, design, and write serious object-oriented software. This work helps you learn how to: use OO principles like encapsulation and delegation to build applications that are flexible; apply the Open-Closed Principle (OCP) and the Single Responsibility Principle (SRP) to promote reuse of your code; among others.
£44.79
Manning Publications Good Code, Bad Code: Think like a software
Book Synopsis"Helps explain some of the knowledge gaps between enthusiastic new graduates and grouchy old gray beards like myself." - Joe Ivans Practical techniques for writing code that is robust, reliable, and easy for team members to understand and adapt. Good code or bad code? The difference often comes down to how you apply the conventions, style guides, and other established practices of the software development community. In Good Code, Bad Code you'll learn how to boost your effectiveness and productivity with code development insights normally only learned through years of experience, careful mentorship, and hundreds of code reviews. In Good Code, Bad Code you'll learn how to:- Think about code like an effective software engineer- Write functions that read like a well-structured sentence- Ensure code is reliable and bug free- Effectively unit test code- Identify code that can cause problems and improve it- Write code that is reusable and adaptable to new requirements- Improve your medium and long-term productivity- Save you and your team's time about the technologyCoding in a development team requires very different skills to working on personal projects. Successful software engineers need to ensure that their code is reusable, maintainable, and easy for others to understand and adapt. about the bookGood Code, Bad Code is a shortcut guide to writing high-quality code. Your mentor is Google veteran Tom Long, who lays out lessons and mindsets that will take your code from “junior developer” to “senior engineer.” This instantly-useful book distils the principles of professional coding into one comprehensive and hands-on beginner's guide. You'll start with a jargon-free primer to coding fundamentals that teaches you to think about abstractions, consider your fellow engineers, and write code that can recover from errors. Next, you'll dive into specific techniques and practices. You'll run through common coding practices to learn when to apply the right technique to your problem—and which might be best avoided! All practices are illustrated with annotated code samples written in an instantly recognizable pseudocode that you can relate to your favourite object-oriented language. By the time you're done, you'll be writing the kind of readable, reusable, and testable code that's the mark of a true software professional. about the readerFor coders looking to improve their experience in professional software development. about the authorTom Long is a software engineer at Google. He works as a tech lead, mentoring and teaching professional coding practices to new graduates and beginner software engineers.Trade Review“A wealth of knowledge to sharpen your toolset.” Joe Ivans,California Regional MLS “Pragmatic advice and useful tips for a career in software development.” George Thomas, Manhattan Associates “A practical, informative book designed to help developers writehigh-quality, effective code.” Christopher Villanueva, IndependentConsultant “Smart, well written, actionable information for creating maintainable code.” Hawley Waldman, Consultant
£37.99
Manning Publications R in Action
Book SynopsisBuilt specifically for statistical computing and graphics, the R language, along with its amazing collection of libraries and tools, is one of the most powerful tools you can use to tackle data analysis for business, research, and other data-intensive domains. This revised and expanded third edition of R in Action covers the new tidy verse approach to data analysis and R's state-of-the-art graphing capabilities with the ggplot2 package. R in Action, Third Edition teaches you to use the R language, including the popular tidy verse packages, through hands-on examples relevant to scientific, technical, and business developers. Focusing on practical solutions to real-world data challenges, R expert RobKabacoff takes you on a crash course in statistics, from dealing with messy and incomplete data to creating stunning visualisations. The R language is the most powerful platform you can choose for modern data analysis. Free and open source, R's community has created thousands of modules to tackle challenges from data-crunching to presentation. R's graphical capabilities are also state-of-the-art, with a comprehensive and powerful feature set available for data visualization. R runs on all major operating systems and is used by businesses, researchers, and organizations worldwide.Trade Review“Read it and masterthe invaluable art of solving data analysis problems efficiently: a must!” AlainLompo “Excellent primer for starting R.” Martin Perry “The book gives a amazing introduction to R and the applicable methods for machine learning and statistics.” Nicole Koenigstein “Amusing writing style and great material ingeneral, great book for those who are beginning in Statistics programming.” LuisFelipe Medeiro Alves “This is an awesome book on R.” Tiklu Ganguly “The definitive guide to bring you from beginner to advanced with R.” Jean-François Morin “A clear and comprehensive guide to using R forreal work. I was able to get an R environment up and running with minimal difficulty!” Jim Frohnhofer
£53.92
The Pragmatic Programmers Lean from the Trenches: Managing Large-Scale
Book SynopsisFrom start to finish, you'll see what it takes to develop a successful agile project. Find out how the Swedish police combined XP, Scrum, and Kanban to modernize their department--and learn how you can apply those same principles to your own workplace. We start with an organization in desperate need of a new way of doing things and finish with a group of sixty, all working in sync to develop a scalable, complex system. You'll walk through the project step by step, from customer engagement, to the daily "cocktail party," version control, bug tracking, and release. In this honest look at what works--and what doesn't--you'll find out how to: * Make quality everyone's business, not just the testers. * Keep everyone moving in the same direction without micromanagement. * Use simple and powerful metrics to aid in planning and process improvement. * Balance between low-level feature focus and high-level system focus. You'll be ready to jump into the trenches yourself as you apply those same techniques to your own software development projects.
£22.79
Manning Publications Cloud Native Spring in Action: With Spring Boot
Book SynopsisTo really benefit from the reliability and scalability you get with cloud platforms, your applications need to be designed for that environment. Cloud Native Spring in Action is a practical guide for planning, designing, and building your first cloud native apps using the powerful, industry-standard Spring framework Cloud Native Spring in Action teaches you effective Spring and Kubernetes cloud development techniques that you can immediately apply to enterprise-grade applications. As you develop an online bookshop, you'll learn how to build and test a cloud native app with Spring, containerize it with Docker, and deploy it to the public cloud with Kubernetes. Including coverage of security, continuous delivery, and configuration, this hands-on guide is the perfect primer for navigating the increasingly complex cloud landscape. About the TechnologyModern applications need scalability, resilience, reliability, and zero-downtime. For most large systems, that means you'll take advantage of cloud-based tools and services. For Java developers, Spring helps effortlessly build cloud native, production-ready applications. Combined with Kubernetes, the Spring ecosystem offers numerous built-in features to help out developers migrating or building new cloud native projects efficiently.Trade Review"An excellent practical guide to learn and develop Cloud Native apps using Spring. A must-have for Spring professional." Harinath Kuntamukkala "Curious about writing production grade Cloud Native applications using Spring and don't know where to start? Read this book and thank me later!" Yogesh Shetty "The definitive guide to developing cloud native applications using Spring." Nathan B Crocker "Filled to the brim with real world examples and ready to use code." Mladen Knežić "This book is perfect to understand how to build cloud native architecture using Java and Spring. All the chapters are useful and their content can be applied in real-world scenarios." Gilberto Taccari
£40.85
Manning Publications Unity in Action
Book SynopsisCreate your first 2D, 3D, and AR/VR games with the awesome Unity game platform. With this hands-on beginner's guide, you'll start building games fast! In Unity in Action, Third Edition, you will learn how to: Create characters that run, jump, and bump into things Build 3D first-person shooters and third-person action games Construct 2D card games and side-scrolling platformers Script enemies with AI Improve game graphics by importing models and images Design an intuitive user interface for your games Play music and spatially-aware sound effects Connect your games to the internet for online play Deploy your games to desktop, mobile, and the web Thousands of new game developers have chosen Joe Hocking's Unity in Action as their first step toward Unity mastery. This fully updated third edition comes packed with fully refreshed graphics, Unity's latest features, and coverage of the augmented and virtual reality toolkits. Using your existing coding skills, you'll write custom code instead of just clicking together premade scripts. You'll master the Unity toolset from the ground up, adding the skills you need to go from application coder to game developer. Build your next game without sweating the low-level details. The Unity game engine handles the heavy lifting, so you can focus on game play, graphics, and user experience. With support for C#, a huge ecosystem of production-quality prebuilt assets, and a strong dev community, Unity will get your game idea off the drawing board and onto the screen! You can even use Unity for more than game development, with new tools for VR and augmented reality that are perfect for developing useful apps.Trade ReviewThis is the best resource, bar none, for an introduction to Unity and fundamental game programming concepts. Erik Hansson This book is a wonderful introduction to Unity. I believe this book will be very useful to readers from a wide range of backgrounds. Everything is explained very well and is easy to read and understand. Kent R. Spillner This is a great introduction to Unity. I think it could even be used as the foundation for a high school or college course. Robert Walsh If you want to start building games as a hobby or a profession, this is a good place to start! Bradley Irby A great introduction to learning Game development with Unity and C#. The author steps you through all the elements of Unity so if you've never used Unity before, don't worry about it. Owain Williams If you already have some programming experience, this book on Unity can really help you connect into a new platform and enable you to create a game! James Matlock
£44.69
Elsevier Science & Technology The Art of Multiprocessor Programming
Book SynopsisTrade Review"The book is largely self-contained, has countless examples, and focuses on what really matters. As such, it is very well suited for both a teaching environment and for practitioners looking for an opportunity to learn about this topic...The book is written in a way that makes multiprocessor programming accessible. This updated version will further confirm its status as a classic." --ComputingReviews.com, 2013Table of Contents1. Introduction 2. Mutual exclusion 3. Concurrent objects 4. Foundations of shared memory 5. The relative power of synchronization operations 6. Universality of consensus 7. Spin locks and contention 8. Monitors and blocking synchronization 9. Linked lists: The role of locking 10. Queues, memory management, and the ABA problem 11. Stacks and elimination 12. Counting, sorting and distributed coordination 13. Concurrent hashing and natural parallelism 14. Skiplists and balanced search 15. Priority queues 16. Scheduling and work distribution 17. Data parallelism 18. Barriers 19. Optimism and manual memory management 20. Transactional programming Appendix A: Software basics Appendix B: Hardware basics
£56.04
Pearson Education Limited Software Test Automation
Book SynopsisDorothy Graham and Mark Fewster are the principal consultant partners of Grove Consultants which provides consultancy and training in software testing, test automation, and Inspection. Mark Fewster developed the test automation design techniques which are the primary subject of this book. He has been refining and applying his ideas through consultancy with a wide variety of clients since 1991. Dorothy Graham is the originator and co-author of the CAST Report (Computer Aided Software Testing tools) published by Cambridge Market Intelligence, and the co-author of Software Inspection published by Addison-Wesley in 1993. Both authors are popular and sought-after speakers at international conferences and workshops on software testing.Table of ContentsPreface Part One: Techniques for Automating Test Execution 1 Test automation context1.1 Introduction 1.2 Testing and test automation are different 1.3 The V-model 1.4 Tool support for life-cycle testing 1.5 The promise of test automation 1.6 Common problems of test automation 1.7 Test activities 1.8 Automate test design? 1.9 The limitations of automating software testing 2 Capture Replay is Not Test Automation2.1 An example application: Scribble 2.2 The manual test process: what is to be automated 2.3 Automating Test Execution: inputs 2.4 Automating Test Result Comparison 2.5 The next steps in evolving test automation 2.6 Conclusion: Automated is not automatic 3 Scripting techniques3.1 Introduction 3.2 Scripting techniques 3.3 Script pre-processing 4 Automated comparison4.1 Verification, comparison and automation 4.2 What do comparators do? 4.3 Dynamic comparison 4.4 Post-execution comparison 4.5 Simple comparison 4.6 Complex comparison 4.7 Test sensitivity 4.8 Comparing different types of outcome 4.9 Comparison filters 4.10 Comparison guidelines 5 Testware Architecture5.1 What is testware architecture? 5.2 Key issues to be resolved 5.3 An Approach 5.4 Might this be Overkill? 6 Automating Pre- and Post-Processing6.1 What are Pre- and Post-Processing? 6.2 Pre- and Post Processing 6.3 What should happen after test case execution 6.4 Implementation Issues 7 Building maintainable tests7.1 Problems in maintaining automated tests 7.2 Attributes of test maintenance 7.3 The conspiracy 7.4 Strategy and tactics 8 Metrics8.1 Why measure testing and test automation? 8.2 What can we measure? 8.3 Objectives for testing and test automation 8.4 Attributes of software testing 8.5 Attributes of test automation 8.6 Which is the best test automation regime? 8.7 Should I really measure all these? 8.8 Summary 8.9 Answer to DDP Exercise 9 Other Issues9.1 Which Tests to Automate (first)? 9.2 Selecting which tests to run when 9.3 Order of test execution 9.4 Test status 9.5 Designing software for (automated) testability 9.6 Synchronization 9.7 Monitoring progress of automated tests 9.8 Tailoring your own regime around your tools 10 Choosing a tool to automate testing10.1 Introduction to Chapters 10 and 11 10.2 Where to start in selecting tools: your requirements, not the tool market 10.3 The tool selection project 10.4 The tool selection team 10.5 Identifying your requirements 10.6 Identifying your constraints 10.7 Build or buy? 10.8 Identifying what is available on the market 10.9 Evaluating the short listed candidate tools 10.10 Making the decision 11 Implementing tools within the organization11.1 What could go wrong? 11.2 Importance of managing the implementation process 11.3 Roles in the implementation/change process 11.4 Management commitment 11.5 Preparation 11.6 Pilot project 11.7 Planned phased installation or roll-out 11.8 Special problems in implementing 11.9 People issues 11.10 Conclusion 12 Racal-Redac Case History12.1 Introduction 12.2 Background 12.3 Solutions 12.4 Integration to Test Automation 12.5 System Test Automation 12.6 The Results Achieved 12.7 Summary of the case history up to 1991 12.8 What happened next? 13 The Evolution of an Automated Software Test System13.1 Introduction 13.2 Background 13.3 Gremlin 1 13.4 Gremlin 2.0: A Step Beyond Capture/Replay 13.5 Finding The Real Problem 13.6 Lesson Learned 14 Experiences with Test Automation14.1
£74.09
Taylor & Francis Ltd Computational Design
Book SynopsisNew computational design tools have evolved rapidly and been increasingly applied in the field of design in recent years, complimenting and even replacing the traditional design media and approaches. Design as both the process and product are changing due to the emergence and adoption of these new technologies. Understanding and assessing the impact of these new computational design environments on design and designers is important for advancing design in the contemporary context. Do these new computational environments support or hinder design creativity? How do those tools facilitate designers' thinking? Such knowledge is also important for the future development of design technologies. Research shows that design is never a mysterious non-understandable process, for example, one general view is that design process shares a common analysis-synthesis-evaluation model, during which designers interact between design problem and solution spaces. Understanding designers' thinking in difTable of ContentsIntroduction. Emergent technologies in computational design. Understanding design cognition in computational and generative design. Cognitive impacts and computational design environments. Conclusion.
£55.79
John Wiley & Sons Inc Lessons Learned in Software Testing
Book SynopsisSoftware testing is a critical stage in software development that ensures that a program meets required specifications and is free of bugs. In this handbook, Cem Kaner and James Bach, two of the world's leading testing experts help you avoid testing errors without the trial and error it normally takes to do so.Trade Review"If testing is something that is going to be an important part of your career buy this book and read it carefully." (CVu - Jnl of the Association C & C++ Users, February 2002) "...a real gem?for me, this book is one that I shall find useful?each and every test department should have several copies available...be prepared to be inspired, or at the very least to have your ideas challenged..." (Professional Tester, September 2002) "...a refreshing and enjoyable book?it will not be 'shelf-ware', but a well-used reference..." (Software Testing, Verification & Reliability, March 2003) "...will make fascinating reading?highly recommended..." (CVu, Dec 03)Table of ContentsLessons. Foreword. Preface. Acknowledgments. The Role of the Tester. Thinking Like a Tester. Testing Techniques. Bug Advocacy. Automating Testing. Documenting Testing. Interacting with Programmers. Managing the Testing Project. Managing the Testing Group. Your Career in Software Testing. Planning the Testing Strategy. Appendix: The Context-Driven Approach to Software Testing. Bibliography. Index.
£31.34
The Pragmatic Programmers Behind Closed Doors The Secret of Great
Book SynopsisAims to helps you become a better manager. This book talks about scheduling and managing resources, and helping team members grow and prosper. It provides tips for: delegating; using feedback and goal-setting; developing influence; handling one-on-one meetings; coaching and mentoring; deciding what work to do and what not to do; and more.Table of ContentsForeword Preface Introduction Week 1: Learning about the People and the Work Monday Morning Managing One Person at a Time Tuesday Morning Keep a Finger on the Pulse Wednesday Afternoon Friday Afternoon Gather Data about Current Work Now Try This Bibliography for Chapter Week 2: Bringing Order to the Chaos Tuesday Afternoon Create the Project Portfolio Thursday . Fast-Forward Matching the Roles with the People Plan to Integrate New Team Members Friday Morning, Sam's Second Week on the Job Managing the Project Portfolio Now Try This Bibliography for Chapter Week 3: Building the Team Monday Morning Thursday Morning Creating Shared Goals Monday Morning Provide Timely Feedback When Feedback Doesn't Correct the Situation Now Try This Bibliography for Chapter Week 4: Managing Day by Day Monday Create Individual Goals for Each Person Monday Midmorning Coaching for Success Later That Same Day Learning to Influence Monday Afternoon Capitalizing on Feedback Opportunities Now Try This Bibliography for Chapter Week 5: Discovering Lurking Problems Recognize Messy Problems Friday Morning Solving Problems as a Management Team Now Try This Bibliography for Chapter Week 6: Building Capability Monday Morning Learning to Delegate Wednesday End of Day Notice and Appreciate Changes and Contributions Back to Monday Manage Yourself Still Monday Develop the People in Your Group Every Week Now Try This Bibliography for Chapter Week 7: Dealing with Corporate Realities Tuesday Late Morning Manage Your Boss, Stand Up for Your Team Tuesday Just Before Noon After Lunch Thursday Leading Your Team through a Change in Priorities Now Try This Epilogue What Management Is Now Try This Bibliography for Chapter Techniques for Practicing Great Management 1. Guidelines for Effective Coaching 2. Setup for Successful Delegation 3. Facilitation Essentials for Managers 4. Guide to Giving Effective Feedback 5. Welcoming New Hires 6. Setting SMART Goals 7. What Goes on Inside our Heads 8. Manage by Walking Around & Listening 9. Run Effective Meetings 10. Making One-on-Ones Work 11. Preparing for Influence 12. Solving Problems: Create New Situations 13. Project Portfolio Planning Tips Bibliography for Chapter Bibliography
£18.99
CRC Press Integrated Circuit Design
Book SynopsisThis textbook seeks to foster a deep understanding of the field by introducing the industry integrated circuit (IC) design flow and offering tape-out or pseudo tape-out projects for hands-on practice, facilitating project-based learning (PBL) experiences.Integrated Circuit Design: IC Design Flow and Project-Based Learning aims to equip readers for entry-level roles as IC designers in the industry and as hardware design researchers in academia. The book commences with an overview of the industry IC design flow, with a primary focus on register-transfer level (RTL) design, the automation of simulation and verification, and system-on-chip (SoC) integration. To build connections between RTL design and physical hardware, FPGA (field-programmable gate array) synthesis and implementation is utilized to illustrate the hardware description and performance evaluation. The second objective of this book is to provide readers with practical, hands-on experience through tape-out or
£94.99
Taylor & Francis Ltd Agile Software Development
Book SynopsisAgile Software Development is an introduction to agile software development methods. Agile methods try to diminish complexity, increase transparency, and reach a deployable product in a shorter time frame. Agile methods use an iterative and incremental approach to minimize risks and to avoid maldevelopment. The book gives a short introduction to agile methods and agile software development principles. It serves as a study book and as a reference manual. Based on the official Scrum Guide, the book also covers other topics such as best practices for agile software development and agile testing. It targets practitioners who want to start with agile software development, as well as developers or project managers who already use agile methodologies. The book can be read from the beginning, but each chapter has been written in a way so it can be read individually.Table of Contents1. Introduction 2. Classical Model 3. Agile Methods 4. Scrum 5. Best Practices for the Dev Team 6. Testing 7. Appendix
£22.99
CRC Press Algorithm Design A Methodological Approach 150
Book SynopsisA bestseller in its French edition, this book is original in its construction and its success in the French market demonstrates its appeal. It is based on three principles: (1) An organization of the chapters by families of algorithms: exhaustive search, divide and conquer, etc. On the contrary, there is no chapter devoted only to a systematic exposure of, say, algorithms on strings. Some of these will be found in different chapters. (2) For each family of algorithms, an introduction is given to the mathematical principles and the issues of a rigorous design, with one or two pedagogical examples. (3) For the most part, the book details 150 problems, spanning seven families of algorithms. For each problem, a precise and progressive statement is given. More importantly, a complete solution is detailed, with respect to the design principles that have been presented; often, some classical errors are pointed out. Roughly speaking, two-thirds of the book is devoted to the detailed rational cTable of ContentsTable of ContentsPreface Mathematics and Computer Science: Some Useful Notions Complexity of an Algorithm Specifications, Invariants, Iteration Reduce and Conquer, Recursion Generate and Test Branch and Bound Greedy Algorithms Divide and Conquer Dynamic Programming NotationsList of ProblemsBibliographyIndex
£46.54
CRC Press Powerful Profitable Software Products
Book SynopsisYou hold in your hands a comprehensive guide to creating a flourishing software development practice - one that makes a powerful impact with the software it builds. This guide describes the unique aspects of creating software-based products. It also lays out the clear practical guidance thatâs necessary to construct and evolve a modern practice. This includes hiring, structuring teams properly, writing good code, leveraging test driven development, designing architecture, automating development processes with DevOps techniques, and - importantly - leading teams through the disruptive change that each of these can represent. Further, the first principles upon which these practices rest will be elaborated so that the reader can readily adapt the already practical techniques to the broadest possible set of real-world situations.
£46.54
CRC Press Discrete Mathematics for Data Science
a huge range and FREE tracked UK delivery on ALL orders.
£47.49
CRC Press On the Road to Resilience
Book SynopsisThis book delves into the critical realm of trust management within the Internet of Vehicles (IOV) networks, exploring its multifaceted implications on safety and security which forms part of the intelligent transportation system domain.IoV emerges as a powerful convergence, seamlessly amalgamating the Internet of Things (IoT) and the intelligent transportation systems (ITS). This is crucial not only for safety-critical applications but is also an indispensable resource for non-safety applications and efficient traffic flows. While this paradigm holds numerous advantages, the existence of malicious entities and the potential spread of harmful information within the network not only impairs its performance but also presents a danger to both passengers and pedestrians. Exploring the complexities arising from dynamicity and malicious actors, this book focuses primarily on modern trust management models designed to pinpoint and eradicate threats. This includes tackling the challe
£44.99
CRC Press Data Science and Analytics with Python
Book SynopsisSince the first edition of âœData Science and Analytics with Pythonâ we have witnessed an unprecedented explosion in the interest and development within the fields of Artificial Intelligence and Machine Learning. This surge has led to the widespread adoption of the book, not just among business practitioners, but also by universities as a key textbook. In response to this growth, this new edition builds upon the success of its predecessor, expanding several sections, updating the code to reflect the latest advancements in Python libraries and modules, and addressing the ever-evolving landscape of generative AI (GenAI).This updated edition ensures that the examples and exercises remain relevant by incorporating the latest features of popular libraries such as Scikit-learn, pandas, and Numpy. Additionally, new sections delve into cutting-edge topics like generative AI, reflecting the advancements and the expanding role these technologies play. This edition also addresses crucia
£46.54
CRC Press A Concise Introduction to Robot Programming with
Book SynopsisA Concise Introduction to Robot Programming with ROS2 provides the reader with the concepts and tools necessary to bring a robot to life through programming. It will equip the reader with the skills necessary to undertake projects with ROS2, the new version of ROS. It is not necessary to have previous experience with ROS2 as it will describe its concepts, tools, and methodologies from the beginning.Key Features Uses the two programming languages officially supported in ROS2 (C++, mainly, and Python) Approaches ROS2 from three different but complementary dimensions: the Community, Computation Graph, and the Workspace Includes a complete simulated robot, development and testing strategies, Behavior Trees, and Nav2 description, setup, and use A GitHub repository with code to assist readers It will appeal to motivated engineering students, engineers, and professionals working with robot programming.
£46.54
CRC Press BiteSize Python for Absolute Beginners
Book SynopsisAs an introduction to Python, this book allows readers to take a slow and steady approach to understanding Python code, explaining concepts, connecting programming with real-life examples, writing Python programs, and completing case studies.While there are many books, websites, and online courses about the topic, we break down Python programming into easily digestible lessons of less than 5 minutes each, following our BiteSize approach. Each lesson begins with a clear and short introduction to the topic. This gives you a strong base to start from and gets you ready for deeper learning. Then, you will see coding demonstrations that show the ideas discussed. These examples are simple and useful, helping you really understand the concepts. Youâll then practice tasks at different difficulty levels, so you can test your knowledge and increase your confidence. Youâll also play with case studies to solve real-world problems. Tips are included to show how you can incorporate generative AI into your learning toolkit, using it for feedback, practice exercises, code reviews, and exploring advanced topics. Recommended AI prompts can help you identify areas for improvement, review key concepts, and track your progress.This book is designed for absolute beginners with no prior programming experience. It is ideal for individuals with busy schedules or limited time for studying.
£999.99
O'Reilly Media Foundations of Scalable Systems
Book SynopsisThis practical book covers design approaches and technologies that make it possible to scale an application quickly and cost-effectively. Author Ian Gorton takes software architects and developers through the principles of foundational distributed systems.
£39.74
O'Reilly Media Learning Typescript
Book SynopsisLearning TypeScript takes beginner to intermediate JavaScript programmers from knowing nothing about "types" or a "type system" to full mastery of the fundamentals of TypeScript. It's more than a means to find bugs and typos--it's a useful system for declaring the way our JavaScript should work and helping us stick to it.
£35.99
O'Reilly Media Software Developers Career Handbook The
Book SynopsisIn this insightful and entertaining book, Michael Lopp recalls his own make-or-break moments with Silicon Valley giants such as Apple, Slack, Pinterest, Palantir, Netscape, and Symantec to help you make better, more mindful career decisions.
£27.74
John Wiley & Sons Inc The DevOps Adoption Playbook
Book SynopsisAchieve streamlined, rapid production with enterprise-level DevOps Awarded DevOps 2017 Book of the Year, The DevOps Adoption Playbook provides practical, actionable, real-world guidance on implementing DevOps at enterprise scale. Author Sanjeev Sharma heads the DevOps practice for IBM; in this book, he provides unique guidance and insight on implementing DevOps at large organizations. Most DevOps literature is aimed at startups, but enterprises have unique needs, capabilities, limitations, and challenges; DevOps for startups doesn''t work at this scale, but the DevOps paradigm can revolutionize enterprise IT. Deliver high-value applications and systems with velocity and agility by adopting the necessary practices, automation tools, and organizational and cultural changes that lead to innovation through rapid experimentation. Speed is an advantage in the face of competition, but it must never come at the expense of quality; DevOps allows your organization to keep both bTable of ContentsIntroduction xxiii 1 DevOps: An Overview 1 DevOps: Origins 2 DevOps: Roots 4 Addressing Dev versus Ops 7 DevOps: Practices 10 Continuous Integration 11 Continuous Delivery 16 Supporting Practices 20 Shift Left 29 Architecture and Risk Mitigation 31 Continuous Improvement 33 Metrics 33 Business Drivers 34 DevOps: Culture 35 Summary 37 2 Adopting DevOps 39 Developing the Playbook 41 Identifying the Target State (Business Goals and Drivers) 42 Assessing the Current State 45 Choosing the Transformation Plays 60 Adopting the Transformation Plays 61 Summary 65 3 Developing a Business Case for a DevOps Transformation 67 Developing the Business Case 68 Completing the Business Model Canvas 71 Customer Segments 72 Line of Business 72 IT Organization 74 Value Propositions 75 Line of Business 75 IT Organization 77 Channels 80 Line of Business 80 IT Organization 80 Customer Relationships 80 Line of Business 80 IT Organization 81 Revenue Streams 81 Line of Business 81 IT Organization 81 Key Resources 82 Line of Business 82 IT Organization 82 Key Activities 82 Line of Business 83 IT Organization 83 Key Partnerships 84 Line of Business 84 IT Organization 84 Cost Structures 85 Line of Business 85 IT Organization 85 Summary 85 4 DevOps Plays for Optimizing the Delivery Pipeline 87 DevOps as an Optimization Exercise 88 Business Intent: Optimization versus Innovation 89 Core Themes 95 Minimizing Cycle Time 95 Reducing Batch Size 98 Establishing the Right Culture 102 The DevOps Plays 106 Play: Establishing Metrics and KPIs 106 Play: Agile Adoption 113 Play: Integrated Delivery Pipeline 117 Play: Continuous Integration 123 Play: Continuous Delivery 128 Play: Shift Left—Testing 142 Play: Shift Left—Ops Engagement 149 Play: Continuous Monitoring and Feedback 155 Play: Release Management 161 Specializing Core Plays 165 Play: DevOps for Mobile 165 Play: DevOps for Mainframe 173 Play: DevOps for Internet of Things 177 Play: DevOps for Big Data and Analytics 180 Summary 186 5 DevOps Plays for Driving Innovation 189 Optimize to Innovate 190 The Uber Syndrome 192 Innovation and the Role of Technology 192 Innovating for New Business Models 193 Business Model Experimentation 194 Innovating for New User Engagement Models 195 Core Themes 198 Achieving Multi-Speed IT 198 Building the Right Thing 202 Enabling Experimentation 206 Delivering Antifragile Systems 208 IT Systems and Antifragility 211 Play: Build a DevOps Platform 216 Application Delivery and Antifragile Systems 218 Environment Abstraction 219 Cloud-Hosted DevOps Platform 221 Infrastructure as a Service 226 OpenStack Heat as an Abstraction Layer 232 Platform as a Service 233 Containers 238 Play: Deliver Microservices Architectures 241 Microservices Architecture 243 12-Factor App 245 Cloud Native 247 Microservices and Containers 249 Migrating to Microservices 249 Play: Develop an API Economy 253 Deployment Automation and APIs 255 DevOps Platform and APIs 255 Play: Organizing for Innovation 257 Developing an Innovation Culture in Large Organizations 259 Summary 260 6 Scaling DevOps for the Enterprise 261 Core Themes 263 Organizational Culture 263 Standardization of Tools and Practices 264 Organized Adoption 265 Breaking Down Organizational Silos 266 Play: DevOps Center of Competency 267 Capabilities and Goals of a DevOps CoC 268 Core CoC Roles 269 The DevOps Coach 270 Setting Up a CoC 272 Play: Developing Culture of Innovation at Scale 273 The Offering Management Team 276 Play: Developing a Culture of Continuous Improvement 278 Developing an Adoption Roadmap 280 Continuous Improvement and Value Stream Mapping 282 Play: Team Models for DevOps 284 Play: Standardization of Tools and Processes 287 Standardization of an Integrated DevOps Platform 289 Play: Security Considerations for DevOps 291 Managing Security-Related Risks 292 Addressing Security for DevOps Processes and Platforms 295 The API Economy and Security 299 Play: DevOps and Outsourcing 301 Strategic Outsourcing 302 IT Supply Chain 303 Enabling DevOps with Outsourcing 304 Summary 304 7 Leading DevOps Adoption in the Enterprise 307 Play: DevOps as a Transformation Exercise 309 Compelling Reasons to Act 311 DevOps Transformation Anti-patterns 312 Play: Developing a Culture of Collaboration and Trust 315 Visibility Enables Trust 316 It’s All about the People 317 Play: DevOps Thinking for the Line of Business 318 Line of Business–IT Engagement 319 Engaging in the DevOps Transformation 321 Move Shadow IT out of the Shadows 321 Play: Starting with Pilot Projects 322 Pilot Project Selection 324 Executive Sponsorship 325 Play: Rearing Unicorns on an Aircraft Carrier 325 Fostering Ideas 327 Summary 329 Appendix Case Study: Example DevOps Adoption Roadmap 331 Organization Background 331 Roadmap Structure 332 DevOps Optimization and Innovation Workshop 333 Background and Context 334 Adoption Roadmap 336 Business Drivers 336 Existing IT Initiatives 337 Bottlenecks 338 Root Causes 340 DevOps Practices 341 Roadmap Adoption 346 Index 347
£25.60
Taylor & Francis Ltd Developing WindowsBased and WebEnabled
Book SynopsisMany professionals and students in engineering, science, business, and other application fields need to develop Windows-based and web-enabled information systems to store and use data for decision support, without help from professional programmers. However, few books are available to train professionals and students who are not professional programmers to develop these information systems. Developing Windows-Based and Web-Enabled Information Systems fills this gap, providing a self-contained, easy-to-understand, and well-illustrated text that explores current concepts, methods, and software tools for developing Windows-based and web-enabled information systems. Written in an easily accessible style, the book details current concepts, methods, and software tools for Windows-based and web-enabled information systems that store and use data. It is self-contained with easy-to-understand small examples to walk through concepts and implementation details along with large-scTrade Review"This book takes a comprehensive approach to cover the topics of information systems and their development. At the same time it has detailed examples to help readers at different levels. … detailed examples and case studies makes it a good textbook and reference for readers of diverse backgrounds."—Xiangyang Li, Johns Hopkins University"The main strength of this book is that it is written by industrial engineering professors that understand how to present important data management concepts to engineers that may not have a computer science background. Most books on data management and information systems are written with the computing professional in mind. This book finally gives engineers an understandable approach to learning the fundamental data management concepts that are relevant to engineering applications."—Susan D Urban, Texas Tech University"The book is provides a comprehensive introduction to the concepts of information systems. Furthermore, this book has struck the right balance of having sufficient business case concepts for implementing information systems as well as including important technical theories on designing databases."—Eugene Rex L. Jalao, Ph.D., University of the Philippines Diliman"… the most comprehensive book to introduce information system. … covers all the topics related to information system from theoretical background to practical applications. … organized very well and considers the diversity of the readers which will attract a huge number of audiences. … the best textbook for information system related class at both the undergraduate and graduate levels. … covers lots of complex case studies."—Mengqi Hu, Mississippi State UniversityTable of ContentsFoundations of Information Systems. Boolean algebra and digital logic circuits. Digital data representation. Computer system software. Network system software. Information Assurance. An Overview of Information Systems for Window and Web Applications. Database Design and Development. Data Modeling: E-R and EE-R Modeling. Data modeling: Relational Data Modeling and Normalization. SQL. Access. MySQL. Object-Oriented Database. Windows Application Development. Visual Basic Programming I. Visual Basic Programming II. Visual Basic Programming III. Windows Forms and Controls with VBA. Database connectivity with VBA. Windows Forms and Controls with VB.NET. Database connectivity with VB.NET. Web Application Development. Chapter 20. Web applications. Web services. Working with XML I. Working with XML II. Case Studies. A Business Application - Use of VB A and Database. An Engineering Application - Use of VB. NET and Database. A Science Application - Use of ASP.NET and Database.
£58.99
Pearson Education Projects in Computing and Information Systems
Book SynopsisChristian Dawson is currently a senior lecturer at Loughborough University. In this book he uses a number of real-life case studies to pass on the experiences of past student projects so the reader gets a genuine understanding of how to avoid pitfalls and ensure best practice in their own project.Table of Contents Preface Acknowledgements Section 1 – The background 1. Introduction 2. Research Section 2 – Setting your project’s foundation 3. Choosing a project and writing a proposal 4. Project planning and risk management 5. Literature searching and literature reviews Section 3 – Conducting your project 6. Software development 7. Controlling your project Section 4 – Presenting your project 8. Presenting your project in written form 9. Presentation skills Section 5 – The future 10. Final considerations References Index
£46.99
O'Reilly Media Thinking with Data
Book SynopsisUnderstanding how to turn numbers into usable insights is a significant challenge for those who work with data on a daily basis. Thinking with Data provides a concise framework and key insights to help data people uncover the real problem to be solved as well as how to approach, organize, and analyze potential results.
£23.79