Building Software Teams: Ten Best Practices for Effective Software Development

Building Software Teams: Ten Best Practices for Effective Software DevelopmentReviews
Author: G. Wijnholds, J. Visser, S. Rigal, Z. Lubsen
Pub Date: 2016
ISBN: 978-1-491-95177-4
Pages: 138
Language: English
Size: 20 Mb


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

Table of Contents

1. Introduction
2. Derive Metrics from Your Measurement Goals
3. Make Definition of Done Explicit
4. Control Code Versions and Development Branches
5. Control Development, Test, Acceptance, and Production Environments
6. Automate Tests
7. Use Continuous Integration
8. Automate Deployment
9. Standardize the Development Environment
10. Manage Usage of Third-Party Code
11. Document Just Enough
12. Next Steps