This book explores how agile development practices, in particular pair programming, code review and automated testing, help software development teams to perform better. Agile software engineering has become the standard software development paradigm over the last decade, and the insights provided here are taken from a large-scale survey of 80 professional software development teams working at SAP SE in Germany. In addition, the book introduces a novel measurement tool for assessing the performance of software development teams. No previous study has researched this topic with a similar data set comprising insights from more than 450 professional software engineers.
Xanpan is... a cross between XP and Kanban... is an example of a roll-your-own method... is distilled from Allan Kelly's own experiences running development teams and then helping multiple teams adopt Agile working methods and practices. Xanpan draws ideas from Kanban and Lean, XP and Scrum, product management and business analysis, and many other places. Allan tells the Xanpan story through a series of boards which tell the story of different teams. In between he fills in the principles, practices and thinking which together constitutes Xanpan. Each printed copy contains a code entitling the buyer to a free copy of the electronic version and subsequent updates.
“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.
"Agile Excellence for Product Managers" is a plain-speaking guide on how to work with Agile development teams to achieve phenomenal product success. It covers the why and how of agile development (including Scrum, XP, and Lean, ) the role of product management, release planning, and more.
This is the digital version of the printed book (Copyright © 2010). All software projects face the challenges of diverse distances -- temporal, geographical, cultural, lingual, political, historical, and more. Many forms of distance even affect developers in the same room. The goal of this book is to reconcile two mainstays of modern agility: the close collaboration agility relies on, and project teams distributed across different cities, countries, and continents. In Agile Software Development with Distributed Teams, Jutta Eckstein asserts that, in fact, agile methods and the constant communication they require are uniquely capable of solving the challenges of distributed projects. Agility is responsiveness to change -- in other words, agile practitioners maintain flexibility to accommodate changing circumstances and results. Iterative development serves the learning curve that global project teams must scale. This book is not about how to outsource and forget your problems. Rather, Eckstein details how to carefully select development partners and integrate efforts and processes to form a better product than any single contributor could deliver on his or her own. The author de-emphasizes templates and charts and favors topical discussion and exploration. Practitioners share experiences in their own words in short stories throughout the book. Eckstein trains readers to be change agents, to creatively apply the concepts in this book to form a customized distributed project plan for success. Topics include: Understanding Distributed Development The Productivity Myth Ensuring Conceptual Integrity Trust and Mutual Respect Iterations and Releases Using Features to Steer the Development Effort Team Velocity Virtual Retrospectives Dispersed Synchronization Introducing Agility to Global Projects and much more
This book explores coordination within and between teams in the context of large-scale agile software development, providing readers a deeper understanding of how coordinated action between teams is achieved in multiteam systems. An exploratory multiple case study with five multiteam systems and a total of 66 interviewees from development teams at SAP SE is presented and analyzed. In addition, the book explores stereotypes of coordination in large-scale agile settings and shares new perspectives on integrating conditions for coordination. No previous study has researched this topic with a similar data set, consisting of insights from professional software development teams. As such, the book will be of interest to all researchers and practitioners whose work involves software product development across several teams.
Agile is a relatively recent methodology used in the development process of a project. Therefore, it is important to share new emerging knowledge with researchers and professionals interested in adopting an agile mindset. Emerging Innovations in Agile Software Development focuses on the use of agile methodologies to manage, design, develop, test and maintain software projects. Emphasizing research-based solutions for contemporary software development, this publication is designed for use by software developers, researchers, and graduate-level students in software engineering and project management programs.
Agile techniques have demonstrated immense potential for developing more effective, higher-quality software. However,scaling these techniques to the enterprise presents many challenges. The solution is to integrate the principles and practices of Lean Software Development with Agile’s ideology and methods. By doing so, software organizations leverage Lean’s powerful capabilities for “optimizing the whole” and managing complex enterprise projects. A combined “Lean-Agile” approach can dramatically improve both developer productivity and the software’s business value.In this book, three expert Lean software consultants draw from their unparalleled experience to gather all the insights, knowledge, and new skills you need to succeed with Lean-Agile development. Lean-Agile Software Development shows how to extend Scrum processes with an Enterprise view based on Lean principles. The authors present crucial technical insight into emergent design, and demonstrate how to apply it to make iterative development more effective. They also identify several common development “anti-patterns” that can work against your goals, and they offer actionable, proven alternatives. Lean-Agile Software Development shows how to Transition to Lean Software Development quickly and successfully Manage the initiation of product enhancements Help project managers work together to manage product portfolios more effectively Manage dependencies across the software development organization and with its partners and colleagues Integrate development and QA roles to improve quality and eliminate waste Determine best practices for different software development teams The book’s companion Web site, www.netobjectives.com/lasd, provides updates, links to related materials, and support for discussions of the book’s content.
Management and enables them to deal with the demands and complexities of modern, agile systems/software/hardware development teams. The book examines the project/program manager beyond the concepts of leadership and aims to connect to employees' sense of identity. The text examines human psychological concepts such as “locus of control,” which will help the manager understand their team members’ view and how best to manage their “world” contributions. The authors cover new management tools and philosophies for agile systems/software/hardware development teams, with a specific focus on how this relates to engineering and computer science. This book also includes practical case studies. Discusses management skills needed as they relate to the advances in software development practices Examines how to manage an agile development team that includes teams across geographically, ethnically, and culturally diverse backgrounds Embraces all of the aspects of modern management and leadership
Description: The book, Software Development Teams, offers a new and unique approach to developing software project teams. It guides IT experts and managers for forming, assessing and developing successful project management teams for effective performance and productivity. Focusing on the management side of the software industry, this text-cum-reference book discusses key aspects of the management such as performance measurement, organisational structure and development, motivation of the team with awards and rewards to bring innovative ideas, and the best practices followed in the modern software industry for measuring the team effectively. The book begins with an introduction of software teams, explaining how software projects are different. It then discusses the characteristics, skills and competencies that are required for a perfect programmer or a project manager, in addition to many other dimensions of software development teams. It further includes empirical studies on team climate, team performance, team productivity and team innovation. Next, it explores the factors that are important for maintaining the software development team climate, and the impact of conflicts on teams, which may ultimately have negative impact on the organisation. Tools and techniques to measure performance of software development team are explained along with the factors that influence the teams’ performance, relationship between team cohesion, productivity and finally the performance. Different types of possible innovation in software teams and organisations, innovation cycle and framework, role of top management and leadership in team management are also given due weightage. Providing an exhaustive description of the origin and present status of the Indian software industry using statistical data, the book is useful for the students of MBA (IT), BE/B.Tech (CS and IT), M.Tech (CS and IT) and M.Tech (Software Engineering). The book is also useful as a reference for professionals in the field of information systems, software project management, software engineering, team management and organisational development. Key features of the book • Highlights the latest studies in the field and cites inferences of various researchers. • Includes numerous figures, tables, graphs, and abbreviations to clarify the concepts. • Provides chapter-end questions and quick quiz (multiple choice questions with answers) to test the knowledge acquired. • Incorporates keywords and adequate number of references, which make the book an ideal tool for learning the concepts of software development teams. • Includes case studies to show the application of concepts of software development teams in real life scenarios.
“Agile Software Development is a highly stimulating and rich book. The author has a deep background and gives us a tour de force of the emerging agile methods.” —Tom Gilb The agile model of software development has taken the world by storm. Now, in Agile Software Development, Second Edition, one of agile’s leading pioneers updates his Jolt Productivity award-winning book to reflect all that’s been learned about agile development since its original introduction. Alistair Cockburn begins by updating his powerful model of software development as a “cooperative game of invention and communication.” Among the new ideas he introduces: harnessing competition without damaging collaboration; learning lessons from lean manufacturing; and balancing strategies for communication. Cockburn also explains how the cooperative game is played in business and on engineering projects, not just software development Next, he systematically illuminates the agile model, shows how it has evolved, and answers the questions developers and project managers ask most often, including · Where does agile development fit in our organization? · How do we blend agile ideas with other ideas? · How do we extend agile ideas more broadly? Cockburn takes on crucial misconceptions that cause agile projects to fail. For example, you’ll learn why encoding project management strategies into fixed processes can lead to ineffective strategy decisions and costly mistakes. You’ll also find a thoughtful discussion of the controversial relationship between agile methods and user experience design. Cockburn turns to the practical challenges of constructing agile methodologies for your own teams. You’ll learn how to tune and continuously reinvent your methodologies, and how to manage incomplete communication. This edition contains important new contributions on these and other topics: · Agile and CMMI · Introducing agile from the top down · Revisiting “custom contracts” · Creating change with “stickers” In addition, Cockburn updates his discussion of the Crystal methodologies, which utilize his “cooperative game” as their central metaphor. If you’re new to agile development, this book will help you succeed the first time out. If you’ve used agile methods before, Cockburn’s techniques will make you even more effective.
For those considering Extreme Programming, this book provides no-nonsense advice on agile planning, development, delivery, and management taken from the authors' many years of experience. While plenty of books address the what and why of agile development, very few offer the information users can apply directly.
This book examines the possibilities of incorporating elements of user-centred design (UCD) such as user experience (UX) and usability with agile software development. It explores the difficulties and problems inherent in integrating these two practices despite their relative similarities, such as their emphasis on stakeholder collaboration. Developed from a workshop held at NordiCHI in 2014, this edited volume brings together researchers from across the software development, UCD and creative design fields to discuss the current state-of-the-art. Practical case studies of integrating UCD in Agile development across diverse contexts are presented, whilst the different futures for UCD and other design practices in the context of agile software development are identified and explored. Integrating User Centred Design in Agile Development will be ideal for researchers, designers and academics who are interested in software development, user-centred design, agile methodologies and related areas.
Visual Studio Team System (VSTS) gives Microsoft development teams a powerful, integrated toolset for Agile development. Visual Studio Team System: Better Software Development for Agile Teams is a comprehensive, start-to-finish guide to making the most of VSTS in real-world Agile environments. Using a book-length case study, the authors show how to use VSTS to improve every aspect of software development, step by step–from project planning through design and from coding through testing and deployment. Agile consultant Will Stott and Microsoft development lead James Newkirk carefully integrate theory and practice, offering hands-on exercises, practical insights into core Extreme Programming (XP) techniques, and much more. Coverage includes Using VSTS to support the transition to Agile values and techniques Forming Agile teams and building effective process frameworks Leveraging Team Foundation Version Control to help teams manage change and share their code effectively Implementing incremental builds and integration with Team Foundation Build Making the most of VSTS tools for Test-Driven Development and refactoring Bringing agility into software modeling and using patterns to model solutions more effectively Using the FIT integrated testing framework to make sure customers are getting what they need Estimating, prioritizing, and planning Agile projects
Being able to fit design into the Agile software development processes is an important skill in today’s market. There are many ways for a UX team to succeed (and fail) at being Agile. This book provides you with the tools you need to determine what Agile UX means for you. It includes practical examples and case studies, as well as real-life factors to consider while navigating the Agile UX waters. You’ll learn about what contributes to your team’s success, and which factors to consider when determining the best path for getting there. After reading this book, you’ll have the knowledge to improve your software and product development with Agile processes quickly and easily. Includes hands on, real-world examples to illustrate the successes and common pitfalls of Agile UX Introduces practical techniques that can be used on your next project Details how to incorporate user experience design into your company's agile software/product process
This is the digital version of the printed book (Copyright © 2004). Who Says Large Teams Can’t Handle Agile Software Development? Agile or "lightweight" processes have revolutionized the software development industry. They're faster and more efficient than traditional software development processes. They enable developers to embrace requirement changes during the project deliver working software in frequent iterations focus on the human factor in software development Unfortunately, most agile processes are designed for small or mid-sized software development projects—bad news for large teams that have to deal with rapid changes to requirements. That means all large teams! With Agile Software Development in the Large, Jutta Eckstein—a leading speaker and consultant in the agile community—shows how to scale agile processes to teams of up to 200. The same techniques are also relevant to teams of as few as 10 developers, especially within large organizations. Topics include the agile value system as used in large teams the impact of a switch to agile processes the agile coordination of several sub-teams the way project size and team size influence the underlying architecture Stop getting frustrated with inflexible processes that cripple your large projects! Use this book to harness the efficiency and adaptability of agile software development. Stop getting frustrated with inflexible processes that cripple your large projects! Use this book to harness the efficiency and adaptability of agile software development.
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
Provides recommendations and case studies to help with the implementation of Scrum.