12 Essential Skills for Software Architects


Dave Hendricksen - 2011
    In today's agile environments, these "soft" skills have grown even more crucial to success as an architect. For many developers, however, these skills don't come naturally-and they're rarely addressed in formal training. Now, long-time software architect Dave Hendricksen helps you fill this gap, supercharge your organizational impact, and quickly move to the next level in your career. In 12 Essential Skills for Software Architects, Hendricksen begins by pinpointing the specific relationship, personal, and business skills that successful architects rely upon. Next, he presents proven methods for systematically developing and sharpening every one of these skills, from negotiation and leadership to pragmatism and vision. From start to finish, this book's practical insights can help you get the architect position you want-and thrive once you have it! The soft skills you need... ...and a coherent framework and practical methodology for mastering them! Relationship skills Leadership, politics, gracious behavior, communication, negotiation Personal skills Context switching, transparency, passion Business skills Pragmatism, vision, business knowledge, innovation

Balancing Agility and Discipline: A Guide for the Perplexed


Barry Boehm - 2003
    On the one hand, there are the more agile methods that focus on individual projects, and how to get them done fast--the camp represented by Beck and Cockburn. On the other hand, there are the more disciplined methods, focused on setting up organizational processes for getting projects done with predictable high quality--the camp best represented by the SEI, the CMMI, and Humphrey. Although these methods are often presented as mutually exclusive, they actually lie on a continuum. The authors of Balancing Agility and Discipline have worked out clear guidelines for determining where on that continuum a particular software development project is located--and therefore, how agile or disciplined a chosen methodology can or has to be.

Actionable Agile Metrics for Predictability: An Introduction


Daniel S. Vacanti - 2015
    Think about how many times you have been asked that question. How many times have you ever actually been right?We can debate all we want whether this is a fair question to ask given the tremendous amount of uncertainty in knowledge work, but the truth of the matter is that our customers are going to inquire about completion time whether we like it or not. Which means we need to come up with an accurate way to answer them. The problem is that the forecasting tools that we currently utilize have made us ill-equipped to provide accurate answers to reasonable customer questions. Until now.

Agile Project Management with Kanban


Eric Brechner - 2015
    You open the box and right on top is a quick-start guide. Being a novice, you follow the guide, and quickly get up and running. As you become more experienced, the other box contents address common advanced issues you'd face, like right-sizing teams, estimation, hitting deadlines, transitioning from Scrum or Waterfall, deploying components and services, and using Kanban within larger organizations.Real-world experience from a direct practitioner working on Xbox and Xbox.comA concise, pragmatic, and easy-to-read guide with clear, fresh, and hard-won guidanceUsing Kanban within larger organizations - how to deal with upper management, planning, and dependencies

Dreaming in Code: Two Dozen Programmers, Three Years, 4,732 Bugs, and One Quest for Transcendent Software


Scott Rosenberg - 2007
    Along the way, we encounter black holes, turtles, snakes, dragons, axe-sharpening, and yak-shaving—and take a guided tour through the theories and methods, both brilliant and misguided, that litter the history of software development, from the famous ‘mythical man-month’ to Extreme Programming. Not just for technophiles but for anyone captivated by the drama of invention, Dreaming in Code offers a window into both the information age and the workings of the human mind.

Microservice Architecture Aligning Principles, Practices, and Culture


Irakli Nadareishvili - 2016
    

Agile Conversations: Transform Your Conversations, Transform Your Culture


Douglas Squirrel - 2020
    Today, software organizations are transforming the way work gets done through practices like Agile, Lean, and DevOps. But as commonly implemented as these methods are, many transformations still fail, largely because the organization misses a critical step: transforming their culture and the way people communicate. Agile Conversations brings a practical, step-by-step guide to using the human power of conversation to build effective, high-performing teams to achieve truly Agile results. Consultants Douglas Squirrel and Jeffrey Fredrick show readers how to utilize the Five Conversations to help teams build trust, alleviate fear, answer the "whys," define commitments, and hold everyone accountable.These five conversations give teams everything they need to reach peak performance, and they are exactly what's missing from too many teams today. Stop focusing on processes and practices that leave your organization stuck with culture-less rituals. Instead, unleash the unique human power of conversation.

Fundamentals of Software Architecture: An Engineering Approach


Mark Richards - 2020
    Until now. This practical guide provides the first comprehensive overview of software architecture's many aspects. You'll examine architectural characteristics, architectural patterns, component determination, diagramming and presenting architecture, evolutionary architecture, and many other topics.Authors Neal Ford and Mark Richards help you learn through examples in a variety of popular programming languages, such as Java, C#, JavaScript, and others. You'll focus on architecture principles with examples that apply across all technology stacks.

jQuery in Action


Bear Bibeault - 2008
    Developers of every stripe-hobbyists and professionals alike-fall in love with jQuery the minute they've reduced 20 lines of clunky JavaScript into three lines of elegant, readable code. This new, concise JavaScript library radically simplifies how you traverse HTML documents, handle events, perform animations, and add Ajax interactions to your web pages.jQuery in Action, like jQuery itself, is a concise tool designed to make you a more efficient and effective web developer. In a short 300 pages, this book introduces you to the jQuery programming model and guides you through the major features and techniques you'll need to be productive immediately. The book anchors each new concept in the tasks you'll tackle in day-to-day web development and offers unique lab pages where you immediately put your jQuery knowledge to work.There are dozens of JavaScript libraries available now, with major companies like Google, Yahoo and AOL open-sourcing their in-house tools. This book shows you how jQuery stacks up against other libraries and helps you navigate interaction with other tools and frameworks.jQuery in Action offers a rich investigation of the up-and-coming jQuery library for client-side JavaScript. This book covers all major features and capabilities in a manner focused on getting the reader up and running with jQuery from the very first sections. Web Developers reading this book will gain a deep understanding of how to use jQuery to simplify their pages and lives, as well as learn the philosophy behind writing jQuery-enhanced pages.

The Great Scrummaster: #Scrummasterway


Zuzana Šochová - 2016
    Easy to digest and highly visual, you can read it in a weekend...and use it for an entire career. Drawing on 15 years of pioneering experience implementing Agile and Scrum and helping others do so, Zuzana Sochova guides you step by step through all key facets of success as a ScrumMaster in any context. Sochova reviews the ScrumMaster's responsibilities, introduces her powerful State of Mind model and #ScrumMasterWay approach, and teaches crucial metaskills that every ScrumMaster needs. Learn how to build more effective teams, manage change in Agile environments, and take fulladvantage of the immensely powerful ScrumMaster toolbox. Throughout, Sochova illuminates each concept with practical, proven examples that show how to move from idea to successful execution.Understand the ScrumMaster's key role in creating high-performance self-organizing teams Master all components of the ScrumMaster State of Mind: teaching/mentoring, removing impediments, facilitation, and coaching Operate effectively as a ScrumMaster at all levels: team, relationships, and the entire system Sharpen key ScrumMaster cognitive strategies and core competencies Build great teams, and improve teams that are currently dysfunctional Drive deeper change in a safer environment with better support for those affected Make the most of Shu Ha Ri, System Rule, Root Cause Analysis, Impact Mapping, and other ScrumMaster tools Whether you're a long-time Certified ScrumMaster (CSM) or participating in your first Scrum project, this guide will help you leverage world-class insight in all you do and get the outstanding results you're looking for. Register your product at informit.com/register for convenient access to downloads, updates, and corrections as they become available Normal 0 false false false EN-US X-NONE X-NONE

Making Things Happen: Mastering Project Management


Scott Berkun - 2001
    Each essay distills complex concepts and challenges into practical nuggets of useful advice, and the new edition now adds more value for leaders and managers of projects everywhere. Based on his nine years of experience as a program manager for Internet Explorer, and lead program manager for Windows and MSN, Berkun explains to technical and non-technical readers alike what it takes to get through a large software or web development project. Making Things Happen doesn't cite specific methods, but focuses on philosophy and strategy. Unlike other project management books, Berkun offers personal essays in a comfortable style and easy tone that emulate the relationship of a wise project manager who gives good, entertaining and passionate advice to those who ask. Topics in this new edition include:How to make things happenMaking good decisionsSpecifications and requirementsIdeas and what to do with themHow not to annoy peopleLeadership and trustThe truth about making datesWhat to do when things go wrongComplete with a new forward from the author and a discussion guide for forming reading groups/teams, Making Things Happen offers in-depth exercises to help you apply lessons from the book to your job. It is inspiring, funny, honest, and compelling, and definitely the one book that you and your team need to have within arm's reach throughout the life of your project. Coming from the rare perspective of someone who fought difficult battles on Microsoft's biggest projects and taught project design and management for MSTE, Microsoft's internal best practices group, this is valuable advice indeed. It will serve you well with your current work, and on future projects to come.

Core J2EE Patterns: Best Practices and Design Strategies


Deepak Alur - 2001
    What's been lacking is the expertise to fuse them into solutions to real-world problems. These patterns are the intellectual mortar for J2EE software construction." —John Vlissides, co-author of Design Patterns, the "Gang of Four" book"The authors of Core J2EE Patterns have harvested a really useful set of patterns. They show how to apply these patterns and how to refactor your system to take advantage of them. It's just like having a team of experts sitting at your side."—Grady Booch, Chief Scientist, Rational Software Corporation "The authors do a great job describing useful patterns for application architectures. The section on refactoring is worth the price of the entire book!"—Craig McClanahan, Struts Lead Architect and Specification Lead for JavaServer Faces "Core J2EE Patterns is the gospel that should accompany every J2EE application server...Built upon the in-the-trenches expertise of its veteran architect authors, this volume unites the platform's many technologies and APIs in a way that application architects can use, and provides insightful answers to the whys, whens, and hows of the J2EE platform."—Sean Neville, JRun Enterprise Architect, MacromediaDevelopers often confuse learning the technology with learning to design with the technology. In this book, senior architects from the Sun Java Center share their cumulative design experience on Java 2 Platform, Enterprise Edition (J2EE) technology.The primary focus of the book is on patterns, best practices, design strategies, and proven solutions using the key J2EE technologies including JavaServer Pages(TM) (JSP(TM)), Servlets, Enterprise JavaBeans(TM) (EJB(TM)), and Java(TM) Message Service (JMS) APIs. The J2EE Pattern Catalog with 21 patterns and numerous strategies is presented to document and promote best practices for these technologies.Core J2EE Patterns, Second Edition offers the following: J2EE Pattern Catalog with 21 patterns—fully revised and newly documented patterns providing proven solutions for enterprise applications Design strategies for the presentation tier, business tier, and integration tier Coverage of servlets, JSP, EJB, JMS, and Web Services J2EE technology bad practices Refactorings to improve existing designs using patterns Fully illustrated with UML diagrams Extensive sample code for patterns, strategies, and refactorings

The Little Elixir & OTP Guidebook


Benjamin Tan Wei Hao - 2015
    It combines the productivity and expressivity of Ruby with the concurrency and fault-tolerance of Erlang. Elixir makes full use of Erlang's powerful OTP library, which many developers consider the source of Erlang's greatness, so you can have mature, professional-quality functionality right out of the gate. Elixir's support for functional programming makes it a great choice for highly distributed event-driven applications like IoT systems.The Little Elixir & OTP Guidebook gets you started programming applications with Elixir and OTP. You begin with a quick overview of the Elixir language syntax, along with just enough functional programming to use it effectively. Then, you'll dive straight into OTP and learn how it helps you build scalable, fault-tolerant and distributed applications through several fun examples. Come rediscover the joy of programming with Elixir and remember how it feels like to be a beginner again.

xUnit Test Patterns: Refactoring Test Code


Gerard Meszaros - 2003
    An effective testing strategy will deliver new functionality more aggressively, accelerate user feedback, and improve quality. However, for many developers, creating effective automated tests is a unique and unfamiliar challenge. xUnit Test Patterns is the definitive guide to writing automated tests using xUnit, the most popular unit testing framework in use today. Agile coach and test automation expert Gerard Meszaros describes 68 proven patterns for making tests easier to write, understand, and maintain. He then shows you how to make them more robust and repeatable--and far more cost-effective. Loaded with information, this book feels like three books in one. The first part is a detailed tutorial on test automation that covers everything from test strategy to in-depth test coding. The second part, a catalog of 18 frequently encountered "test smells," provides trouble-shooting guidelines to help you determine the root cause of problems and the most applicable patterns. The third part contains detailed descriptions of each pattern, including refactoring instructions illustrated by extensive code samples in multiple programming languages. Topics covered includeWriting better tests--and writing them faster The four phases of automated tests: fixture setup, exercising the system under test, result verification, and fixture teardown Improving test coverage by isolating software from its environment using Test Stubs and Mock Objects Designing software for greater testability Using test "smells" (including code smells, behavior smells, and project smells) to spot problems and know when and how to eliminate them Refactoring tests for greater simplicity, robustness, and execution speed This book will benefit developers, managers, and testers working with any agile or conventional development process, whether doing test-driven development or writing the tests last. While the patterns and smells are especially applicable to all members of the xUnit family, they also apply to next-generation behavior-driven development frameworks such as RSpec and JBehave and to other kinds of test automation tools, including recorded test tools and data-driven test tools such as Fit and FitNesse.Visual Summary of the Pattern Language Foreword Preface Acknowledgments Introduction Refactoring a Test PART I: The Narratives Chapter 1 A Brief Tour Chapter 2 Test Smells Chapter 3 Goals of Test Automation Chapter 4 Philosophy of Test Automation Chapter 5 Principles of Test Automation Chapter 6 Test Automation Strategy Chapter 7 xUnit Basics Chapter 8 Transient Fixture Management Chapter 9 Persistent Fixture Management Chapter 10 Result Verification Chapter 11 Using Test Doubles Chapter 12 Organizing Our Tests Chapter 13 Testing with Databases Chapter 14 A Roadmap to Effective Test Automation PART II: The Test Smells Chapter 15 Code Smells Chapter 16 Behavior Smells Chapter 17 Project Smells PART III: The Patterns Chapter 18 Test Strategy Patterns Chapter 19 xUnit Basics Patterns Chapter 20 Fixture Setup Patterns Chapter 21 Result Verification Patterns Chapter 22 Fixture Teardown Patterns Chapter 23 Test Double Patterns Chapter 24 Test Organization Patterns Chapter 25 Database Patterns Chapter 26 Design-for-Testability Patterns Chapter 27 Value Patterns PART IV: Appendixes Appendix A Test Refactorings Appendix B xUnit Terminology Appendix C xUnit Family Members Appendix D Tools Appendix E Goals and Principles Appendix F Smells, Aliases, and Causes Appendix G Patterns, Aliases, and Variations Glossary References Index "

APIs: A Strategy Guide


Daniel Jacobson - 2011
    Salesforce.com (more than 50%) and Twitter (more than 75% fall into this category. Ebay gets more than 8 billion API calls a month. Facebook and Google, have dozens of APIs that enable both free services and e-commerce, get more than 5 billion API calls each day. Other companies like NetFlix have expanded their service of streaming movies over the the web to dozens of devices using API. At peak times, more than 20 percent of all traffic is accounted for by Netflix through its APIs. Companies like Sears and E-Trade are opening up their catalogs and other services to allow developers and entrepreneurs to create new marketing experiences. Making an API work to create a new channel is not just a matter of technology. An API must be considered in terms of business strategy, marketing, and operations as well as the technical aspects of programming. This book, written by Greg Brail, CTO of Apigee, and Brian Mulloy, VP of Products, captures the knowledge of all these areas gained by Apigee, the leading company in supporting the rollout of high traffic APIs.