Building Software Teams

Ten Best Practices for Effective Software Development

Author: Joost Visser,Sylvan Rigal,Gijs Wijnholds,Zeeger Lubsen

Publisher: "O'Reilly Media, Inc."

ISBN: 1491951818

Category: Computers

Page: 136

View: 8418

Why does poor software quality continue to plague enterprises of all sizes in all industries? Part of the problem lies with the process, rather than individual developers. This practical guide provides ten best practices to help team leaders create an effective working environment through key adjustments to their process. As a follow-up to their popular book, Building Maintainable Software, consultants with the Software Improvement Group (SIG) offer critical lessons based on their assessment of development processes used by hundreds of software teams. Each practice includes examples of goalsetting to help you choose the right metrics for your team. Achieve development goals by determining meaningful metrics with the Goal-Question-Metric approach Translate those goals to a verifiable Definition of Done Manage code versions for consistent and predictable modification Control separate environments for each stage in the development pipeline Automate tests as much as possible and steer their guidelines and expectations Let the Continuous Integration server do much of the hard work for you Automate the process of pushing code through the pipeline Define development process standards to improve consistency and simplicity Manage dependencies on third party code to keep your software consistent and up to date Document only the most necessary and current knowledge

Building Software Teams

Author: Super Dumps

Publisher: Createspace Independent Publishing Platform

ISBN: 9781547292585

Category:

Page: 118

View: 6280

Why does poor software quality continue to plague enterprises of all sizes in all industries? Part of the problem lies with the process, rather than individual developers. This practical guide provides ten best practices to help team leaders create an effective working environment through key adjustments to their process. As a follow-up to their popular book, Building Maintainable Software, consultants with the Software Improvement Group (SIG) offer critical lessons based on their assessment of development processes used by hundreds of software teams. Each practice includes examples of goalsetting to help you choose the right metrics for your team

Building Great Software Engineering Teams

Recruiting, Hiring, and Managing Your Team from Startup to Success

Author: Joshua Tyler

Publisher: Apress

ISBN: 1484211332

Category: Computers

Page: 168

View: 2164

WINNER of Computing Reviews 20th Annual Best Review in the category Management “Tyler’s book is concise, reasonable, and full of interesting practices, including some curious ones you might consider adopting yourself if you become a software engineering manager.” —Fernando Berzal, CR, 10/23/2015 “Josh Tyler crafts a concise, no-nonsense, intensely focused guide for building the workhouse of Silicon Valley—the high-functioning software team.” —Gordon Rios, Summer Book Recommendations from the Smartest People We Know—Summer 2016 Building Great Software Engineering Teams provides engineering leaders, startup founders, and CTOs concrete, industry-proven guidance and techniques for recruiting, hiring, and managing software engineers in a fast-paced, competitive environment. With so much at stake, the challenge of scaling up a team can be intimidating. Engineering leaders in growing companies of all sizes need to know how to find great candidates, create effective interviewing and hiring processes, bring out the best in people and their work, provide meaningful career development, learn to spot warning signs in their team, and manage their people for long-term success. Author Josh Tyler has spent nearly a decade building teams in high-growth startups, experimenting with every aspect of the task to see what works best. He draws on this experience to outline specific, detailed solutions augmented by instructive stories from his own experience. In this book you’ll learn how to build your team, starting with your first hire and continuing through the stages of development as you manage your team for growth and success. Organized to cover each step of the process in the order you’ll likely face them, and highlighted by stories of success and failure, it provides an easy-to-understand recipe for creating your high-powered engineering team.

Building Maintainable Software, Java Edition

Ten Guidelines for Future-Proof Code

Author: Joost Visser,Sylvan Rigal,Rob van der Leek,Pascal van Eck,Gijs Wijnholds

Publisher: "O'Reilly Media, Inc."

ISBN: 1491953497

Category: Computers

Page: 168

View: 9910

Have you ever felt frustrated working with someone else’s code? Difficult-to-maintain source code is a big problem in software development today, leading to costly delays and defects. Be part of the solution. With this practical book, you’ll learn 10 easy-to-follow guidelines for delivering Java software that’s easy to maintain and adapt. These guidelines have been derived from analyzing hundreds of real-world systems. Written by consultants from the Software Improvement Group (SIG), this book provides clear and concise explanations, with advice for turning the guidelines into practice. Examples for this edition are written in Java, while our companion C# book provides workable examples in that language. Write short units of code: limit the length of methods and constructors Write simple units of code: limit the number of branch points per method Write code once, rather than risk copying buggy code Keep unit interfaces small by extracting parameters into objects Separate concerns to avoid building large classes Couple architecture components loosely Balance the number and size of top-level components in your code Keep your codebase as small as possible Automate tests for your codebase Write clean code, avoiding "code smells" that indicate deeper problems

Team Geek

A Software Developer's Guide to Working Well with Others

Author: Brian W. Fitzpatrick,Ben Collins-Sussman

Publisher: "O'Reilly Media, Inc."

ISBN: 144932987X

Category: Computers

Page: 194

View: 7229

In a perfect world, software engineers who produce the best code are the most successful. But in our perfectly messy world, success also depends on how you work with people to get your job done. In this highly entertaining book, Brian Fitzpatrick and Ben Collins-Sussman cover basic patterns and anti-patterns for working with other people, teams, and users while trying to develop software. This is valuable information from two respected software engineers whose popular series of talks—including "Working with Poisonous People"—has attracted hundreds of thousands of followers. Writing software is a team sport, and human factors have as much influence on the outcome as technical factors. Even if you’ve spent decades learning the technical side of programming, this book teaches you about the often-overlooked human component. By learning to collaborate and investing in the "soft skills" of software engineering, you can have a much greater impact for the same amount of effort. Team Geek was named as a Finalist in the 2013 Jolt Awards from Dr. Dobb's Journal. The publication's panel of judges chose five notable books, published during a 12-month period ending June 30, that every serious programmer should read.

Managing the Unmanageable

Rules, Tools, and Insights for Managing Software People and Teams

Author: Mickey W. Mantle,Ron Lichty

Publisher: Pearson Education

ISBN: 032182203X

Category: Computers

Page: 422

View: 6536

This book has assembled a guide that will help you hire, motivate, and mentor a software development team that functions at the highest level. Their rules of thumb and coaching advice form a great blueprint for new and experienced software engineering managers alike. All too often, software development is deemed unmanageable. The news is filled with stories of projects that have run catastrophically over schedule and budget.

Getting Results from Software Development Teams

Author: Lawrence H. Peters

Publisher: Microsoft Press

ISBN: 0735645639

Category: Computers

Page: 304

View: 8801

Learn best practices for software development project management—and lead your teams and projects to success. Dr. Lawrence Peters is an industry-recognized expert with decades of experience conducting research and leading real-world software projects. Beyond getting the best developers, equipment, budget, and timeline possible—Peters concludes that no factor is more critical to project success than the manager’s role. Drawing on proven practices from allied industries such as business, psychology, accounting, and law, he describes a broader project-management methodology—with principles that software managers can readily adapt to help increase their own effectiveness and the productivity of their teams. Unlike other books on the topic, this book focuses squarely on the manager—and shows how to get results without adopting philosophies from Genghis Khan or Machiavelli. (There is mention of Godzilla, however.) Packed with real-world examples and pragmatic advice, this book shows any software development manager—new or experienced—how to lead teams in delivering the right results for their business.

Codermetrics

Analytics for Improving Software Teams

Author: Jonathan Alexander

Publisher: "O'Reilly Media, Inc."

ISBN: 144931533X

Category: Computers

Page: 264

View: 5075

How can you help your software team improve? This concise book introduces codermetrics, a clear and objective way to identify, analyze, and discuss the successes and failures of software engineers—not as part of a performance review, but as a way to make the team a more cohesive and productive unit. Experienced team builder Jonathan Alexander explains how codermetrics helps teams understand exactly what occurred during a project, and enables each coder to focus on specific improvements. Alexander presents a variety of simple and complex codermetrics, and teaches you how to create your own. Learn how codermetrics changes long-held assumptions and improves team dynamics Get recommendations for integrating codermetrics into existing processes Ask the right questions to determine the type of data you need to collect Use metrics to measure individual coder skills and a team’s effectiveness over time Identify the contributions each coder makes to the team Analyze the response to your software and its features—and verify that you're meeting team and organizational goals Build better teams, using codermetrics to make personnel adjustments and additions

Software for Your Head

Core Protocols for Creating and Maintaining Shared Vision

Author: Jim McCarthy,Michele McCarthy

Publisher: Addison-Wesley Professional

ISBN: 9780201604566

Category: Computers

Page: 435

View: 5104

Most people have experienced--at least once in their lives--the incomparable thrill of being part of a great team effort. They can remember the unity of purpose they experienced, the powerful passion that inspired them, and the incredible results they achieved. People who have been on a great team can attest that the difference between being on a team with a shared vision and being on a team without one is the difference between joy and misery. In 1996, Jim and Michele McCarthy, after successful careers leading software development teams at Microsoft and elsewhere, set out to discover a set of repeatable group behaviors that would always lead to the formation of a state of shared vision for any team. They hoped for a practical, communicable, and reliable process that could be used to create the best possible teams every time it was applied. They established a hands-on laboratory for the study and teaching of high-performance teamwork. In a controlled simulation environment, their principle research and teaching effort--the McCarthy Software Development BootCamp--challenged dozens of real-world, high-tech teams to produce and deliver a product. Teams were given a product development assignment, and instructed to form a team, envision the product, agree on how to make it, then design, build, and ship it on time. By repeating these simulations time after time, with the new teams building on the learning from previous teams, core practices emerged that were repeatedly successful. These were encoded as patterns and protocols. Software for Your Head is the first publication of the most significant results of the authors' unprecedented five-year investigation into the dynamics of contemporary teams. The information in this book will provide a means for any team to create for itself a compelling state of shared vision. 0201604566B09042001

Debugging the Development Process

Practical Strategies for Staying Focused, Hitting Ship Dates, and Building Solid Teams

Author: Steve Maguire

Publisher: N.A

ISBN: 9781556156502

Category: Business & Economics

Page: 183

View: 3782

The author explains how he organized and supervised effective software development teams at the Microsoft company to come up with timely and high-quality commercial applications, offering a candid look at the group dynamics of software development. Original. (Advanced).

Software Leadership

A Guide to Successful Software Development

Author: Murray Cantor

Publisher: Addison-Wesley Professional

ISBN: N.A

Category: Computers

Page: 193

View: 6837

"This book will help you not become a "Pointy Hair Manager." It will give you enough insight into the nature of software, the development process, and the techniques and tools used, so that you can intelligently reason about development and adjust, plan, replan, manage risks, and lead a team to success; not just document and record their failure." --From the Foreword by Philippe Kruchten, Rational Fellow, Rational Software Canada Together, a high demand for productive software development teams and a company's call for superior software have made seasoned professionals invaluable assets to software organizations. New managers must quickly become familiar with the key skills required by the needs of the position, and seasoned professionals must learn new methods of team organization to cope with the shorter length of the development cycle. Software Leadership: A Guide to Successful Software Development provides sound, practical guidance on how to be a good manager and how to build a competitive software team. This book is for the manager with little software background, as well as the seasoned software professional. Based on the author's extensive professional experience, the book is a concise and straightforward overview of what he has found that every competent team leader absolutely has to know and practice. The following topics, which a successful leader must understand, are covered in detail: Software quality Effective development practices Team dynamics Appropriate leadership style This book will show you how to lead your team toward the delivery of timely and cost-effective software, and teach you how to lead a modern software development project or organization. 0201700441B09072001

Learning Agile

Understanding Scrum, XP, Lean, and Kanban

Author: Andrew Stellman,Jennifer Greene

Publisher: "O'Reilly Media, Inc."

ISBN: 1449363857

Category: Business & Economics

Page: 420

View: 4843

Learning Agile is a comprehensive guide to the most popular agile methods, written in a light and engaging style that makes it easy for you to learn. Agile has revolutionized the way teams approach software development, but with dozens of agile methodologies to choose from, the decision to "go agile" can be tricky. This practical book helps you sort it out, first by grounding you in agile’s underlying principles, then by describing four specific—and well-used—agile methods: Scrum, extreme programming (XP), Lean, and Kanban. Each method focuses on a different area of development, but they all aim to change your team’s mindset—from individuals who simply follow a plan to a cohesive group that makes decisions together. Whether you’re considering agile for the first time, or trying it again, you’ll learn how to choose a method that best fits your team and your company. Understand the purpose behind agile’s core values and principles Learn Scrum’s emphasis on project management, self-organization, and collective commitment Focus on software design and architecture with XP practices such as test-first and pair programming Use Lean thinking to empower your team, eliminate waste, and deliver software fast Learn how Kanban’s practices help you deliver great software by managing flow Adopt agile practices and principles with an agile coach

Creating Great Teams

How Self-Selection Lets People Excel

Author: Sandy Mamoli,David Mole

Publisher: Pragmatic Bookshelf

ISBN: 1680503340

Category: Computers

Page: 102

View: 740

People are happiest and most productive if they can choose what they work on and who they work with. Self-selecting teams give people that choice. Build well-designed and efficient teams to get the most out of your organization, with step-by-step instructions on how to set up teams quickly and efficiently. You'll create a process that works for you, whether you need to form teams from scratch, improve the design of existing teams, or are on the verge of a big team re-shuffle. Discover how New Zealand's biggest e-commerce company completely restructured their business through Self-Selection. In the process, find out how to create high-performing groups by letting people self-organize into small, cross-functional teams. Step-by-step guides, easy-to-follow diagrams, practical examples, checklists, and tools will enable you to run a Self-Selection process within your organization. If you're a manager who wants to structure your organization into small teams, you'll discover why Self-Selection is the fastest and safest way to do so. You'll prepare for and organize a Self-Selection event and make sure your Self-Selection participants and fellow managers are on board and ready. If you're a team member, you'll discover what it feels like to be part of a Self-Selection process and what the consequences are for your daily work. You'll learn how to influence your colleagues and bosses to be open to the idea of Self-Selection. You'll provide your manager with a plan for how to facilitate a Self-Selection event, and with evidence that the system works. If you're feeling the pain and chaos of adding new people to your organization, or just want to ensure that your teams have the right people with the right skills, Self-Selection will help you create the effective teams you need.

Specification by Example

How Successful Teams Deliver the Right Software

Author: Gojko Adzic

Publisher: Manning Publications

ISBN: 9781617290084

Category: Computers

Page: 270

View: 7366

Describes a method of effectively specifying, testing, and delivering software, covering such topics as documentation, process patterns, and automation, along with case studies from a variety of firms.

Scaling Teams

Strategies for Building Successful Teams and Organizations

Author: Alexander Grosse,David Loftesness

Publisher: "O'Reilly Media, Inc."

ISBN: 1491952245

Category: Business & Economics

Page: 282

View: 4407

Leading a fast-growing team is a uniquely challenging experience. Startups with a hot product often double or triple in size quickly—a recipe for chaos if company leaders aren’t prepared for the pitfalls of hyper-growth. If you’re leading a startup or a new team between 10 and 150 people, this guide provides a practical approach to managing your way through these challenges. Each section covers essential strategies and tactics for managing growth, starting with a single team and exploring typical scaling points as the team grows in size and complexity. The book also provides many examples and lessons learned, based on the authors’ experience and interviews with industry leaders. Learn how to make the most of: Hiring: Learn a scalable hiring process for growing your team People management: Use 1-on-1 mentorship, dispute resolution, and other techniques to ensure your team is happy and productive Organization: Motivate employees by applying five organizational design principles Culture: Build a culture that can evolve as you grow, while remaining connected to the team’s core values Communication: Ensure that important information—and only the important stuff—gets through

Agile Software Requirements

Lean Requirements Practices for Teams, Programs, and the Enterprise

Author: Dean Leffingwell

Publisher: Addison-Wesley Professional

ISBN: 9780321685407

Category: Computers

Page: 560

View: 8553

“We need better approaches to understanding and managing software requirements, and Dean provides them in this book. He draws ideas from three very useful intellectual pools: classical management practices, Agile methods, and lean product development. By combining the strengths of these three approaches, he has produced something that works better than any one in isolation.” –From the Foreword by Don Reinertsen, President of Reinertsen & Associates; author of Managing the Design Factory; and leading expert on rapid product development Effective requirements discovery and analysis is a critical best practice for serious application development. Until now, however, requirements and Agile methods have rarely coexisted peacefully. For many enterprises considering Agile approaches, the absence of effective and scalable Agile requirements processes has been a showstopper for Agile adoption. In Agile Software Requirements, Dean Leffingwell shows exactly how to create effective requirements in Agile environments. Part I presents the “big picture” of Agile requirements in the enterprise, and describes an overall process model for Agile requirements at the project team, program, and portfolio levels Part II describes a simple and lightweight, yet comprehensive model that Agile project teams can use to manage requirements Part III shows how to develop Agile requirements for complex systems that require the cooperation of multiple teams Part IV guides enterprises in developing Agile requirements for ever-larger “systems of systems,” application suites, and product portfolios This book will help you leverage the benefits of Agile without sacrificing the value of effective requirements discovery and analysis. You’ll find proven solutions you can apply right now–whether you’re a software developer or tester, executive, project/program manager, architect, or team leader.

Creating High Performance Software Development Teams

Author: Frank P. Ginac

Publisher: Prentice Hall

ISBN: 9780130850836

Category: Computers

Page: 123

View: 1691

How to build-and lead-a world-class software development team In this book, expert software development manager Frank P. Ginac brings together world-class techniques for building and leading high-performance software development teams. Ideal for the first-line manager - especially managers transitioning from developer roles - this book offers start-to-finish guidance for delivering superior products, on time and on budget. Ginac focuses on the two most important elements of successful team building - people and leadership. He demonstrates exactly how to: * Clearly outline your software projects business and technical goals * Choose the right people for your team - and avoid the wrong ones * Organize your software development team for success * Fill gaps in your teams skills and experience * Appraise individual and team performance * Incorporate todays software quality best practices Ginac shows you how to be a leader, not just a manager - and how to avoid the barriers to leadership, including politics, bureaucracy, and corporate popularity contests. Youll learn how to plan successfully - and how to build a team that executes your plans with passion.

Git for Teams

A User-Centered Approach to Creating Efficient Workflows in Git

Author: Emma Jane Hogbin Westby

Publisher: "O'Reilly Media, Inc."

ISBN: 1491911220

Category: Computers

Page: 356

View: 5035

You can do more with Git than just build software. This practical guide delivers a unique people-first approach to version control that also explains how using Git as a focal point can help your team work better together. You’ll learn how to plan and pursue a Git workflow that not only ensures that you accomplish project goals, but also fits the immediate needs and future growth of your team. The first part of the book on structuring workflow is useful for project managers, technical team leads, and CTOs. The second part provides hands-on exercises to help developers gain a better understanding of Git commands. Explore the dynamics of team building Walk through the process of creating and deploying software with Git Structure workflow to influence the way your team collaborates Learn a useful process for conducting code reviews Set up a shared repository and identify specific team members as contributors, consumers, or maintainers Know the why behind the Git commands your teammates use Use branching strategies to separate different approaches to your project Examine popular collaboration platforms: GitHub, Bitbucket, and GitLab

Codermetrics

Analytics for Improving Software Teams

Author: Jonathan Alexander

Publisher: "O'Reilly Media, Inc."

ISBN: 1449305156

Category: Computers

Page: 246

View: 5548

How can you help your software team improve? This concise book introduces codermetrics, a clear and objective way to identify, analyze, and discuss the successes and failures of software engineers—not as part of a performance review, but as a way to make the team a more cohesive and productive unit. Experienced team builder Jonathan Alexander explains how codermetrics helps teams understand exactly what occurred during a project, and enables each coder to focus on specific improvements. Alexander presents a variety of simple and complex codermetrics, and teaches you how to create your own. Learn how codermetrics changes long-held assumptions and improves team dynamics Get recommendations for integrating codermetrics into existing processes Ask the right questions to determine the type of data you need to collect Use metrics to measure individual coder skills and a team’s effectiveness over time Identify the contributions each coder makes to the team Analyze the response to your software and its features—and verify that you're meeting team and organizational goals Build better teams, using codermetrics to make personnel adjustments and additions

Building Maintainable Software, C# Edition

Ten Guidelines for Future-Proof Code

Author: Joost Visser,Sylvan Rigal,Gijs Wijnholds,Pascal van Eck,Rob van der Leek

Publisher: "O'Reilly Media, Inc."

ISBN: 1491954493

Category: Computers

Page: 172

View: 7491

Have you ever felt frustrated working with someone else’s code? Difficult-to-maintain source code is a big problem in software development today, leading to costly delays and defects. Be part of the solution. With this practical book, you’ll learn 10 easy-to-follow guidelines for delivering C# software that’s easy to maintain and adapt. These guidelines have been derived from analyzing hundreds of real-world systems. Written by consultants from the Software Improvement Group (SIG), this book provides clear and concise explanations, with advice for turning the guidelines into practice. Examples for this edition are written in C#, while our companion Java book provides clear examples in that language. Write short units of code: limit the length of methods and constructors Write simple units of code: limit the number of branch points per method Write code once, rather than risk copying buggy code Keep unit interfaces small by extracting parameters into objects Separate concerns to avoid building large classes Couple architecture components loosely Balance the number and size of top-level components in your code Keep your codebase as small as possible Automate tests for your codebase Write clean code, avoiding "code smells" that indicate deeper problems