万本电子书0元读

万本电子书0元读

顶部广告

The Agile Developer's Handbook电子书

售       价:¥

7人正在读 | 0人评论 9.8

作       者:Paul Flewelling

出  版  社:Packt Publishing

出版时间:2018-02-27

字       数:51.2万

所属分类: 进口书 > 外文原版书 > 电脑/网络

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
A pragmatic companion guide to your Agile journey About This Book ? Make your team Agile by implementing industry-standard Agile techniques ? Assess scope, scale up efficiently ? Create the correct roles and identify the right candidates for your team ? Finish your projects faster and stay ahead of the curve Who This Book Is For If you’re a software developer or a project manager with little to no experience of Agile, but you want to efficiently implement it, this is the book for you. What You Will Learn ? Create a solid foundation that gives your team an Agile jumpstart ? Understand how to select and evolve practices to increase your team’s agility ? Use experiments to accelerate your team’s understanding ? Fine-tune your approach by incorporating aspects of Lean and Lean Startup ? Know how to foster an environment of continuous improvement and learning that will become self-sustaining In Detail This book will help you overcome the common challenges you’ll face when transforming your working practices from waterfall to Agile. Each chapter builds on the last, starting with easy-to-grasp ways to get going with Agile. Next you’ll see how to choose the right Agile framework for your organization. Moving on, you’ll implement systematic product delivery and measure and report progress with visualization. Then you’ll learn how to create high performing teams, develop people in Agile, manage in Agile, and perform distributed Agile and collaborative governance. At the end of the book, you’ll discover how Agile will help your company progressively deliver software to customers, increase customer satisfaction, and improve the level of efficiency in software development teams. Style and approach Think of this book like a manual, rather than a theoretical textbook. It’s packed full of visual ways to understand Agile, helpful tips to get you set up quickly, tried and tested solutions when challenges arise, and heaps of support to get the day-to-day tasks in Agile done. You’ll want to keep a copy on your desk, right next to your coffee cup.
目录展开

Title Page

Copyright and Credits

The Agile Developer's Handbook

Packt Upsell

Why subscribe?

PacktPub.com

Contributors

About the author

About the reviewer

Packt is searching for authors like you

Preface

Who this book is for

What this book covers

To get the most out of this book

Download the color images

Conventions used

Get in touch

Reviews

The Software Industry and the Agile Manifesto

Why the software industry needed to change

Delivery as a software product

Delivery as a software project

Product versus project

Scope was the priority

Estimates

Uncertainty buffers

Estimates became ironic

Variability in our estimates

And then there's missing the point entirely

Where's the business value?

So the project mindset isn't good?

The Agile values

The Agile principles

Incremental – adaptive versus waterfall – predictive

The Waterfall process and predictive planning

Incremental delivery and adaptive planning

Agile is a mindset

An Example of "Being Agile"

Scenario

Our response

Summary

Agile Software Delivery Methods and How They Fit the Manifesto

Understanding Scrum

Background

Introduction to the mechanics of Scrum

Sprint Planning – part 1

Sprint Planning - part 2

The Daily Scrum

The Sprint Review

The Sprint Retrospective

Additional events

XP - Extreme Programming

Background

Introduction to the mechanics of XP

The planning game

Part 1 – Release planning

Part 2 – Iteration planning

Implementing the iteration plan

Iteration demo

Iteration retrospective

Kanban and Lean Software Development

Background

Reducing waste

Single-piece flow

How Kanban/Lean fit into the Agile movement

Introduction to the mechanics of Lean/Kanban

Getting started with Kanban

Step 1 – Make the team's work visible

Step 2 – Make the work policies of the team explicit

Step 3 – Improve flow

Step 4 – Kaizen or continuous improvement

Choosing the right framework

Designed for small teams

They don't include product discovery phases

Not all frameworks prescribe technical practices

There are similarities with subtle differences

Mixing and matching Agile methods

Summary

Introducing Scrum to your Software Team

Why Scrum is an excellent place to start

Iterations and iteration length

Starting a new Scrum team

Prerequisites

Preparing to Sprint

Activity – defining the Product Backlog

Activity – release planning

Activity – introducing the Product Backlog

Activity – estimating User Stories on the backlog

Activity – setting up the Scrum Board

Discussion – Sprint Zero

Day one of the Sprint

Event – Sprint Planning

What can we achieve in this Sprint?

How will we achieve it?

The Sprint Goal

Event – first Daily Scrum

A day in the life of a Scrum team

Measuring and reporting progress with visualization

Avatars

Done stickers

Burndowns

Sprint Goal confidence

The importance of visible workspaces

Removing impediments

Managing delivery as a team sport

The last day of the Sprint

Event – Sprint Review

Event – Sprint Retrospective

The importance of team retrospectives

Summary

Gathering Agile User Requirements

The pitfalls of traditional big upfront requirements

Why User Stories produce results

What a User Story is and how to use it

The User Story format

Additional story card elements

The stub

Acceptance criteria

Story size

Notes

Card, conversation, confirmation

Acceptance criteria versus the Definition of Done (DoD)

Telling the team "what", not "how"

Brainstorming a bunch of User Stories

Estimating Agile user requirements

Planning Poker

Playing Planning Poker

References

Summary

Bootstrap Teams with Liftoffs

What's a team liftoff?

ACTIVITY – Agile training

ACTIVITY – Sharing the vision

Step 1 – Meet the sponsors

Step 2 – The company purpose

Step 3 – The product vision

Step 4 – The current mission

Step 5 – Define success

Defining success metrics

Activity – Forming a team charter

Step 1 – Defining done

Step 2 – Working agreement

Step 3 – Team calendar

References

Summary

Metrics that will Help your Software Team Deliver

A brief introduction to measurements for Agile software delivery

Understanding measurements

Qualitative versus quantitative measurements

Negative versus positive metrics

Quantitative metrics

Team velocity

Sprint Burndown chart – TEAM

Release burndown charts

Simple Release Burndown chart

Enhanced Release Burndown chart

Code quality

Code complexity

Qualitative metrics

Defining what success looks like

Defining our success

Using our Team Success Indicators

User Happiness Index

Summary

Software Technical Practices are the Foundation of Incremental Software Delivery

Building the thing right versus building the right thing

Refactoring

How does this keep us Agile?

Things to try

Test-Driven Development

How does this keep us Agile?

Things to try

Pair programming

How does this keep us Agile?

Things to try

Activity – pair programming ping pong

Emergent design

How does this keep us Agile?

Things to try

Activity – emergent design discussion

The DevOps culture

Continuous Integration

How does this keep us Agile?

Things to try

Continuous Delivery

How does this keep us Agile?

Things to try

Continuous Deployment

How does this keep us Agile?

Things to try

Summary

Tightening Feedback Loops in the Software Development Life Cycle

Implementing incremental delivery in Agile

Working with software in small, manageable chunks

Inspection and adaption

The importance of User Experience (UX)

Shifting left

Shifting right

Introducing some Lean thinking to improve flow

The coin game results

Systems thinking – Optimizing the whole

Changing our workflow

Kaizen and developing a small, continuous improvement mindset

Fail Cake

Root cause analysis with the Five Whys method

Adopting Lean Startup methods to validate ideas

Build, Measure, Learn

An example of Lean Startup MVP

Background

Hypothesis

Approach

Learning rapidly by doing and failing fast

Summary

Seeking Value – How to Deliver Better Software Sooner

Moving from project to product thinking

Cynefin – A sense-making framework

The advantages of a product team

Moving from project to product

Setting objectives to create alignment of purpose

Using Objectives and Key Results (OKRs)

Hypothesis-Driven Development (HDD)

Data, Insights, Beliefs, Bets (DIBBs)

Seeking value

How to seek value

Telling our team "the why" not "the what"

Summary

Using Product Roadmaps to Guide Software Delivery

The importance of Product Roadmaps

Product Discovery to create roadmaps

User Story Mapping

Activity – creating a User Story Map

Step 1 – User roles

Step 2 – The first User Journey

Step 3 – Alternative paths, sub-tasks, details, and business rules

Step 4 – Naming the activities

Leveraging the User Story Map

Impact Mapping

Activity – Creating an Impact Map

Question 1 – Why are we doing this?

Question 2 – Who will help us?

Question 3 – How will they help us?

Question 4 – What will we do?

Leveraging an Impact Map

Working collaboratively with the team to create a shared understanding

Using Spikes to reduce business and technical unknowns

Using Rolling Wave Planning for adaptive delivery

Summary

Improving Our Team Dynamics to Increase Our Agility

How to create high-performing teams

Collaboration is the key

Knowledge work and high-bandwidth communication

Communication lines

Psychological safety – what it is and how to create it

Further reading

The stages of team formation

Stage 1 – forming

Helping our team process this phase

Relationship-building games

Stage 2 – storming

Helping our team process this phase

Coach – diversity is a good thing

Coach – conflict happens, how to navigate it

Positivity and successful relationships

Activity – process the conflict

Group decision making

Coach – focus on the task, not the person

Coach – conflict protocols

Coach – giving feedback

Stage 3 – norming

Helping our team process this phase

Activity – experiments in process

Activity – improve the team's ability to self-assess

Stage 4 – performing

Helping our team process this phase

Activity – 360 team review

Stage 5 – adjourning/mourning

Helping our team process this phase

Learning by practicing

Hackathons

Innovation Days

Running a hackathon or innovation day

Google's 20% time and other alternatives

Summary

Baking Quality into Our Software Delivery

Cross-pollination of skills

Mob programming

Why does mob programming work?

How does mob programming work?

Ergonomics

No more bugs

Bugs caused by the way we write code and design our software

Bugs caused by our understanding of the problem

Bugs caused by the nature of the problem changing

Refactoring our environment

No more estimates

Summary

The Ultimate Software Team Member

The power of motivation

Extrinsic drivers

Intrinsic drivers

Mastery

Autonomy

Purpose

Activity – moving motivators

Why are intrinsic drivers important?

The entrepreneurial developer

The team player

The problem with "rockstars"

The growth mindset

Growth mindset versus fixed mindset

An example of a fixed mindset behavior versus a growth mindset behavior

How can we embrace a growth mindset?

Fostering a learning habit

Summary

Moving Beyond Isolated Agile Teams

How an Agile approach will organically flatten an organizational structure

From a hierarchical organization to collaborative governance

The Big Agile board

A network of teams

Self-selection to create a true-self organization

Further reading

Modern leadership

Changing to a fly-by-wire system

Implementing a fly-by-wire approach

Setting the challenge

Cultivating culture

Ensuring team engagement

Feeling recognized

Feeling relevant

Feeling successful

Creating engagement

Example – Changing up the performance review

Performance review 360 – Intermediate level

Performance Review 360 – Advanced level

The art of Agile leadership

Experiment – Creating informal networks as a nervous system

Experiment – Communities

Organizational styles for flatter structures

Further reading

Summary

Other Books You May Enjoy

Leave a review - let other readers know what you think

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部