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.
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.
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
"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.
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
The Art of Agile Development contains practical guidance for anyone considering or applying agile development for building valuable software. Plenty of books describe what agile development is or why it helps software projects succeed, but very few combine information for developers, managers, testers, and customers into a single package that they can apply directly. This book provides no-nonsense advice on agile planning, development, delivery, and management taken from the authors' many years of experience with Extreme Programming (XP). You get a gestalt view of the agile development process, including comprehensive guidance for non-technical readers and hands-on technical practices for developers and testers. The Art of Agile Development gives you clear answers to questions such as: How can we adopt agile development? Do we really need to pair program? What metrics should we report? What if I can't get my customer to participate? How much documentation should we write? When do we design and architect? As a non-developer, how should I work with my agile team? Where is my product roadmap? How does QA fit in? The book teaches you how to adopt XP practices, describes each practice in detail, then discusses principles that will allow you to modify XP and create your own agile method. In particular, this book tackles the difficult aspects of agile development: the need for cooperation and trust among team members. Whether you're currently part of an agile team, working with an agile team, or interested in agile development, this book provides the practical tips you need to start practicing agile development. As your experience grows, the book will grow with you, providing exercises and information that will teach you first to understand the rules of agile development, break them, and ultimately abandon rules altogether as you master the art of agile development. "Jim Shore and Shane Warden expertly explain the practices and benefits of Extreme Programming. They offer advice from their real-world experiences in leading teams. They answer questions about the practices and show contraindications - ways that a practice may be mis-applied. They offer alternatives you can try if there are impediments to applying a practice, such as the lack of an on-site customer. --Ken Pugh, Author of Jolt Award Winner, Prefactoring "I will leave a copy of this book with every team I visit." --Brian Marick, Exampler Consulting
Plan, track, and release great software Key Features Learn to create reports and dashboard for effective project management Implement your development strategy in JIRA. Practices to help you manage the issues in the development team Book Description As teams scale in size, project management can get very complicated. One of the best tools to deal with this kind of problem is JIRA. This book will start by organizing your project requirements and the principles of Agile development to get you started. You will then be introduced to set up a JIRA account and the JIRA ecosystem to help you implement a dashboard for your team's work and issues. You will learn how to manage any issues and bugs that might emerge in the development stage. Going ahead, the book will help you build reports and use them to plan the releases based on the study of the reports. Towards the end, you will come across working with the gathered data and create a dashboard that helps you track the project's development. What you will learn Create your first project (and manage existing projects) in JIRA Manage your board view and backlogs in JIRA Run a Scrum Sprint project in JIRA Create reports (including topic-based reports) Forecast using versions Search for issues with JIRA Query Language (JQL) Execute bulk changes to issues Create custom filters, dashboards, and widgets Create epics, stories, bugs, and tasks Who this book is for This book is for administrators who wants to apply the Agile approach to managing the issues, bugs, and releases in their software development projects using JIRA.
Software Development is moving towards a more agile and more flexible approach. It turns out that the traditional "waterfall" model is not supportive in an environment where technical, financial and strategic constraints are changing almost every day. But what is agility? What are today’s major approaches? And especially: What is the impact of agile development principles on the development teams, on project management and on software architects? How can large enterprises become more agile and improve their business processes, which have been existing since many, many years? What are the limitations of Agility? And what is the right balance between reliable structures and flexibility? This book will give answers to these questions. A strong emphasis will be on real life project examples, which describe how development teams have moved from a waterfall model towards an Agile Software Development approach.
This book covers the human and organizational dimension of the software improvement process and software project management - whether based on the CMM or ISO 9000 or the Rational Unified Process.
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.
The Provocative and Practical Guide to Coaching Agile Teams As an agile coach, you can help project teams become outstanding at agile, creating products that make them proud and helping organizations reap the powerful benefits of teams that deliver both innovation and excellence. More and more frequently, ScrumMasters and project managers are being asked to coach agile teams. But it’s a challenging role. It requires new skills—as well as a subtle understanding of when to step in and when to step back. Migrating from “command and control” to agile coaching requires a whole new mind-set. In Coaching Agile Teams, Lyssa Adkins gives agile coaches the insights they need to adopt this new mind-set and to guide teams to extraordinary performance in a re-energized work environment. You’ll gain a deep view into the role of the agile coach, discover what works and what doesn’t, and learn how to adapt powerful skills from many allied disciplines, including the fields of professional coaching and mentoring. Coverage includes Understanding what it takes to be a great agile coach Mastering all of the agile coach’s roles: teacher, mentor, problem solver, conflict navigator, and performance coach Creating an environment where self-organized, high-performance teams can emerge Coaching teams past cooperation and into full collaboration Evolving your leadership style as your team grows and changes Staying actively engaged without dominating your team and stunting its growth Recognizing failure, recovery, and success modes in your coaching Getting the most out of your own personal agile coaching journey Whether you’re an agile coach, leader, trainer, mentor, facilitator, ScrumMaster, project manager, product owner, or team member, this book will help you become skilled at helping others become truly great. What could possibly be more rewarding?
Agile development practices have been widely adopted in a variety of organizations, yet only a few tools are available to help make the practical process of managing agile teams less painful and more successful. HP Agile Manager is a purpose-built SaaS-based Agile planning tool. HP Agile Manager provides a simpler, smarter way to manage collaborative development. Liran Tal provides a practical, concise approach to using Agile Manager in a variety of settings to better plan, conduct, and manage software releases within development teams. His step-by-step approach will show you how to plan your product’s features, streamline the agile sprint process, work with user stories, and track defects throughout the development process. Agile Manager can work for small startups, mid-sized teams, as well as scale up for bigger organizations as a cost-effective and flexible tool to apply agile techniques to improve your software development process.
This book contains the refereed proceedings of the 16th International Conference on Agile Software Development, XP 2015, held in Helsinki, Finland, in May 2015. While agile development has already become mainstream in industry, this field is still constantly evolving and continues to spur an enormous interest both in industry and academia. The XP conference series has always played, and continues to play, an important role in connecting the academic and practitioner communities, providing a forum for both formal and informal sharing and development of ideas, experiences, and opinions. The theme of XP 2015 "Delivering Value: Moving from Cyclic to Continuous Value Delivery" reflects the modern trend towards organizations that are simultaneously very efficient and flexible in software development and delivery. The 15 full and 7 short papers accepted for XP 2015 were selected from 44 submissions. All of the submitted papers went through a rigorous peer-review process. Additionally, 11 experience reports were selected from 45 proposals, and in each case the authors were shepherded by an experienced researcher.
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.
This deck of index cards is arranged in four sections: concepts, planning, teamwork and coding. The front of the card lists the things you need to know and the back provides further detail.
Changing Software Development explains why software development is an exercise in change management and organizational intelligence. An underlying belief is that change is learning and learning creates knowledge. By blending the theory of knowledge management, developers and managers will gain the tools to enhance learning and change to accommodate new innovative approaches such as agile and lean computing. Changing Software Development is peppered with practical advice and case studies to explain how and why knowledge, learning and change are important in the development process. Today, managers are pre-occupied with knowledge management, organization learning and change management; while software developers are often ignorant of the bigger issues embedded in their work. This innovative book bridges this divide by linking the software world of technology and processes to the business world of knowledge, learning and change.