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
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
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
Joost Visser,Sylvan Rigal,Gijs Wijnholds,Pascal van Eck,Rob van der Leek
Author: Joost Visser,Sylvan Rigal,Gijs Wijnholds,Pascal van Eck,Rob van der Leek
Publisher: "O'Reilly Media, Inc."
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
Recruiting, Hiring, and Managing Your Team from Startup to Success
Author: Joshua Tyler
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.
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.
The #1 guide to using Visual Studio 2010 in team development: insider coverage of this huge release, from the leader of the VSTS team * *Focuses on succeeding with new VS 2010 ALM products in real-world environments, with exclusive 'Lessons Learned at Microsoft'. *Thoroughly covers VS 2010's massive new capabilities for team development. *Contains extensive new coverage of implementing Scrum and related practices. *Covers the entire lifecycle: requirements, architecture, construction, build, test, and more This is the most practical, valuable guide for every member of the software team who intends to run or participate in software projects using Microsoft's Visual Studio 2010. Written by a top Microsoft Visual Studio development team leader and a leading Visual Studio implementation consultant, it focuses on the real challenges development organizations face. The authors identify powerful lessons and best practices learned at Microsoft, and cover the entire development lifecycle, from requirements gathering through testing and beyond. This edition adds extensive coverage of VS 2010's extensive new team features, as well as new coverage of using VS 2010 to actively support teams that practice Scrum. Throughout, the authors focus on showing how to use VS 2010 to reduce waste, increase transparency, and accelerate the flow of value to the end customer. Coverage includes: * *Requirements: vision, user stories, use cases, storyboards, satisfiers/dissatisfiers, and more *Running the project: self-managing teams, metrics, sprints, and dashboards *'Value-up' views of software architecture, construction, and testing. *Build and lab: check-in, team build, continuous integration, build verification tests, reporting, deployment, and lab automation/virtualization. *Troubleshooting the project: overcoming issues ranging from scope creep to build failures
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.
Nach ihren ersten zwei Wochen als neuer CEO von DecisionTech fragte sich Kathryn Petersen angesichts der dortigen Probleme, ob es wirklich richtig gewesen war, den Job anzunehmen. Sie war eigentlich froh über die neue Aufgabe gewesen. Doch hatte sie nicht ahnen können, dass ihr Team so fürchterlich dysfunktional war und die Teammitglieder sie vor eine Herausforderung stellen würden, die sie niemals zuvor so erlebt hatte ... In "Die 5 Dyfunktionen eines Teams" begibt sich Patrick Lencioni in die faszinierende und komplexe Welt von Teams. In seiner Leadership-Fabel folgt der Leser der Geschichte von Kathryn Petersen, die sich mit der ultimativen Führungskrise konfrontiert sieht: die Einigung eines Teams, das sich in einer solchen Unordnung befindet, dass es den Erfolg und das Überleben des gesamten Unternehmens gefährdet. Im Verlauf der Geschichte enthüllt Lencioni die fünf entscheidenden Dysfunktionen, die oft dazu führen, dass Teams scheitern. Er stellt ein Modell und umsetzbare Schritte vor, die zu einem effektiven Team führen und die fünf Dysfunktionen beheben. Diese Dysfunktionen sind: - Fehlendes Vertrauen, - Scheu vor Konflikten, - Fehlendes Engagement, - Scheu vor Verantwortung, - Fehlende Ergebnis-Orientierung. Wie in seinen anderen Büchern hat Patrick Lencioni eine fesselnde Fabel geschrieben, die eine wichtige Botschaft für alle enthält, die danach streben, außergewöhnliche Teamleiter und Führungskräfte zu werden.
Rules, Tools, and Insights for Managing Software People and Teams
Author: Mickey W. Mantle,Ron Lichty
“Mantle and Lichty have 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 are great blueprints for new and experienced software engineering managers alike.” —Tom Conrad, CTO, Pandora “I wish I’d had this material available years ago. I see lots and lots of ‘meat’ in here that I’ll use over and over again as I try to become a better manager. The writing style is right on, and I love the personal anecdotes.” —Steve Johnson, VP, Custom Solutions, DigitalFish All too often, software development is deemed unmanageable. The news is filled with stories of projects that have run catastrophically over schedule and budget. Although adding some formal discipline to the development process has improved the situation, it has by no means solved the problem. How can it be, with so much time and money spent to get software development under control, that it remains so unmanageable? In Managing the Unmanageable: Rules, Tools, and Insights for Managing Software People and Teams , Mickey W. Mantle and Ron Lichty answer that persistent question with a simple observation: You first must make programmers and software teams manageable. That is, you need to begin by understanding your people—how to hire them, motivate them, and lead them to develop and deliver great products. Drawing on their combined seventy years of software development and management experience, and highlighting the insights and wisdom of other successful managers, Mantle and Lichty provide the guidance you need to manage people and teams in order to deliver software successfully. Whether you are new to software management, or have already been working in that role, you will appreciate the real-world knowledge and practical tools packed into this guide.
Inspiring and Cautionary Tales from Veteran Team Leaders
Author: Andrew Stellman,Jennifer Greene
Publisher: "O'Reilly Media, Inc."
What's it like to work on a great software development team facing an impossible problem? How do you build an effective team? Can a group of people who don't get along still build good software? How does a team leader keep everyone on track when the stakes are high and the schedule is tight? Beautiful Teams takes you behind the scenes with some of the most interesting teams in software engineering history. You'll learn from veteran team leaders' successes and failures, told through a series of engaging personal stories -- and interviews -- by leading programmers, architects, project managers, and thought leaders. This book includes contributions from: Tim O'Reilly Scott Berkun Mark Healey Bill DiPierre Andy Lester Keoki Andrus Tom Tarka Auke Jilderda Grady Booch Jennifer Greene Mike Cohn Cory Doctorow Neil Siegel Trevor Field James Grenning Steve McConnell Barry Boehm and Maria H. Penedo Peter Gluck Karl E. Wiegers Alex Martelli Karl Fogel Michael Collins Karl Rehmer Andrew Stellman Ned Robinson Scott Ambler Johanna Rothman Mark Denovich and Eric Renkey Patricia Ensworth Andy Oram Tony Visconti Beautiful Teams is edited by Andrew Stellman and Jennifer Greene, veteran software engineers and project managers who have been writing bestselling books for O'Reilly since 2005, including Applied Software Project Management, Head First PMP, and Head First C#.
How Agile Practices Lead to Project Success Through Teamwork Mechanisms
Author: Chaehan So
Publisher: Peter Lang
How does good teamwork emerge? Can we control mechanisms of teamwork? The author has analyzed these questions in a study involving 227 participants of 55 software development teams. First, he empirically confirmed his teamwork model based on innovation research, goal setting and control theory. Second, he measured the impact of a wide selection of agile practices on these teamwork mechanisms. Third, he explained these impacts based on a thorough review of current psychological research. This book is intended for people working in agile contexts as they will gain insight into the complexity of how -good teamwork- emerges. This insight on team dynamics may also prove valuable for upper management for calibrating agile practices and -soft factors-, thus increasing the effectiveness of software teams."
Like it or not, your project needs management. Yet few good software projects can survive bad management. If you're a programmer on a high-visibility project, this PDF offers five principle guidelines for managing upward that will help you help your boss make the right decisions about setting project expectations, working with users and stakeholders, putting the project on the right track, and keeping it there. Even if you have the best boss in the world, chances are he or she does not come from an IT or software engineering background, and may lack the time or technical focus to manage your project well. And if your boss sinks your project, you'll share the blame-even if you did everything right. The guidance in this document can help you understand what problems cause projects to fail and how to fix them, and what you can do to keep your software project from running into trouble.
Mickey Gousset,Martin Hinshelwood,Brian A. Randell,Brian Keller,Martin Woodward
Author: Mickey Gousset,Martin Hinshelwood,Brian A. Randell,Brian Keller,Martin Woodward
Publisher: John Wiley & Sons
Ramp up your software development with this comprehensive resource Microsoft's Application Lifecycle Management (ALM) makes software development easier and now features support for iOS, MacOS, Android, and Java development. If you are an application developer, some of the important factors you undoubtedly consider in selecting development frameworks and tools include agility, seamless collaboration capabilities, flexibility, and ease of use. Microsoft's ALM suite of productivity tools includes new functionality and extensibility that are sure to grab your attention. Professional Application Lifecycle Management with Visual Studio 2013 provides in-depth coverage of these new capabilities. Authors Mickey Gousset, Martin Hinshelwood, Brian A. Randell, Brian Keller, and Martin Woodward are Visual Studio and ALM experts, and their hands-on approach makes adopting new ALM functionality easy. Streamline software design and deployment with Microsoft tools and methodologies Gain a practical overview of ALM with step-by-step guides and reference material Case studies illustrate specific functionality and provide in-depth instruction Use new capabilities to support iOS, MacOS, Android and Java development Discover this comprehensive solution for modeling, designing, and coordinating enterprise software deployments Over 100 pages of new content, forward-compatible with new product releases Professional Application Lifecycle Management with Visual Studio 2013 provides a complete framework for using ALM to streamline software design and deployment processes using well-developed Microsoft tools and methodologies. Professional Application Lifecycle Management with Visual Studio 2013 is your guide to make use of newly-available ALM features to take your enterprise software development to the next level.
Chris Barry,Kieran Conboy,Michael Lang,Gregory Wojtkowski,Wita Wojtkowski
Author: Chris Barry,Kieran Conboy,Michael Lang,Gregory Wojtkowski,Wita Wojtkowski
Publisher: Springer Science & Business Media
Information Systems Development (ISD) progresses rapidly, continually creating new challenges for the professionals involved. New concepts, approaches and techniques of systems development emerge constantly in this field. Progress in ISD comes from research as well as from practice. This conference will discuss issues pertaining to information systems development (ISD) in the inter-networked digital economy. Participants will include researchers, both experienced and novice, from industry and academia, as well as students and practitioners. Themes will include methods and approaches for ISD; ISD education; philosophical, ethical, and sociological aspects of ISD; as well as specialized tracks such as: distributed software development, ISD and knowledge management, ISD and electronic business / electronic government, ISD in public sector organizations, IOS.
70 Tools and Techniques for Strengthening Performance Within and Across Teams
Author: Robert Barner,Charlotte P. Barner
Publisher: John Wiley & Sons
Category: Business & Economics
Over the past 10 years in the field of human and organizationaldevelopment, the approach to team building has moved from problemsolving and conflict management to helping work groups andorganizations build a foundation of trust, cooperation, and mutualsupport. Focusing on collaboration rather than resolvingconflict, Building Better Teams: 70 Tools and Techniquesfor Strengthening Performance Within and AcrossTeams offers a fresh approach to teambuilding. It provides proven tools for the most common needsof teams, including establishing trust, building consensus,managing change, working virtually and across boundaries, anddealing with setbacks.
Wie man in nur fünf Tagen neue Ideen testet und Probleme löst
Author: Jake Knapp,Braden Kowitz,John Zeratsky
Publisher: Redline Wirtschaft
Category: Business & Economics
Unternehmer, Gründer und Teams stehen täglich vor der Herausforderung: Womit soll man zuerst anfangen, worauf sich am meisten fokussieren? Und wie viele Diskussionen und Meetings sind nötig, bevor man ganz sicher die garantiert richtige Lösung hat? Die Folge ist, dass allzu oft das Projekt auf der Stelle tritt und man überhaupt nicht vorwärtskommt. Dafür gibt es eine geniale Lösung: Sprint. Die ist ein einzigartiger, innovativer und narrensicherer Prozess, mit dem sich die härtesten Probleme in nur fünf Tagen lösen lassen – von Montag bis Freitag. Der Entwickler Jake Knapp entwarf diesen Prozess bei und für Google, wo er seither in allen Bereichen genutzt wird. Zusammen mit John Zeratsky und Braden Kowitz hat er darüber hinaus bereits mehr als 100 Sprints in Firmen aus unterschiedlichen Bereichen durchgeführt. Der Sprint-Prozess bietet praktische Hilfe für Unternehmen aller Größen, vom kleinen Start-up bis hin zum Fortune-100-Unternehmen. Die Methode ist auch für alle anderen bewährt, die vor einem großen Problem stehen, schnell eine Idee testen oder einfach eine Möglichkeit schnell ergreifen wollen.
Novel in its approach to software design, development, and management, Building Software: A Practitioner's Guide shows you how to successfully build and manage a system. The approach the authors recommend is a simple, effective framework known as Solution Engineering Execution (SEE). Through SEE, you create a successful solution by following a highly organized, well-planned process. This process makes you view the solution from a holistic, systematic perspective. Developing a successful system requires that you are able to address technology matters related to architecture, design, selection, integration, and security. Building Software: A Practitioner's Guide offers insight into how to make software reliable and how to ensure it meets customer and organizational needs. Using the above approach you are able to: Find a good solution to the problem at hand Focus on engineering the solution well Address all aspects of delivery associated with the solution The book provides insightful examples of cross-domain and legacy solutions that allow you to overcome common software concerns such as requirement issues, change control, quality and schedule management, and internal and external communication problems.
Software Testing Concepts and Tools provide experience-based practices and key concepts that can be used by any organization to implement a successful and efficient testing process. This book provides experience-based practices and key concepts that can be used by an organization to implement a successful and efficient testing process. The prime aim of this book is to provide a distinct collection of technologies and discussions that are directly applicable in software development organizations to improve the quality and avoid major mistakes and human errors.· Software Engineering Evaluation· System Testing Process· WinRunner 8.0· QTP 8.2· LoadRunner 8.0· TestDirector 8.0