Suggested Reading for PSD™

Modern Tooling and Practices for Software Developers

Prior to taking the PSD I certification a great way to prepare is to attend the Applying Professional Scrum - Software Developer training course, taught by a Scrum.org Professional Scrum Trainer.

Where to begin

The assessment will randomly draw questions from each of the sections listed below.

The Scrum Framework

Scrum theory includes timeboxing, and specific accountabilities, rules, and artifacts. All elements of Scrum complement each other to form a consistent whole. All work is performed in Sprints. All base rules, events, and accountabilities are described in the Scrum Guide, the acknowledged Scrum body of knowledge. Each part of Scrum ties back to the principles and theory.

This is foundational knowledge for every Scrum Team member and anyone involved with Scrum.  A Professional Scrum Developer works effectively on a Scrum Team within the Scrum framework to deliver value. 

 
Suggested Reading

 

Scrum Guide     Agile Software Development with Scrum     Scrum Pocket Guide

 

Scrum Theory and Principles

Scrum is founded on empirical process theory to deal with the complexity typical to software development. All principles and values of Scrum are based on the fundamental view of software development as creative and complex work.

Scrum Developers recognize and acknowledge this complexity. They can explain and promote the use of concurrency, self-management and modern, agile software development techniques as an answer to this problem of complexity.

 
Suggested Reading

 

Agile Project Management with Scrum     The-Art-of-AgileDevelopment     The-Pragmatic-Programmer-From-Journeyman-to-Master

 

Cross-functional, Self-managing Development

Developers in Scrum are self-managing. Self-management requires not only the availability of the right development skills, but also collaboration, team commitment, joint problem ownership, shared goals and creativity. The Developer autonomously make all decisions on how to do the work that they have forecast to could complete in a Sprint.

 
Suggested Reading

 

Scrum-and-XP-from-the-trenches     Practices-of-an-AgileDeveloper     Peopleware-Productive-Projects-and-Teams-(Second-Edition)

 

Backlog Refinement

Creating great software includes understanding the needs of users, stakeholders and the market place. In today’s highly complex markets with many unpredictable changes, details are added to requirements last minute, and even while programming. The Developers and the Product Owner collaborate on the software expectations in creating, clarifying, and estimating items in the Product Backlog.

 
Suggested Reading

 

User Stories Applied     Agile-Estimating-And-Planning     specification-by-example

 

Emergent Architecture

Scrum has an iterative-incremental approach to software development and the focus is on shippable software at the end of every Sprint. In the domains of software design and architecture this leads to a major shift, i.e. from prescriptive and upfront to emergence. Designs and architectures grow and change as applications and products grow and change.

 
Suggested Reading

 

Design-Patterns     Beyond-Software-Architecture     Growing-Object-Oriented-Software,-Guided-by-Tests

 

Technical Practices

As part of incremental development, Scrum puts quality before scope. Writing high-quality code is an art in itself. It requires skills, dedication, mastery, agreed practices, and agreed on standards.

 
Suggested Reading

 

  refactoring-improving-the-design-of-existing-code

 

Testing

It is considered a good agile development practice to think through requirements before writing functional code. It helps to consider work in terms of how it will be tested, but it also creates and improves traceability and eliminates other wasteful activities that are traditionally part of upfront requirements specification processes. The ability to deliver shippable software by the end of every Sprint requires different testing strategies, where testing activities are to be done as part of development.

 
Suggested Reading

 

Test-Driven-Development-By-Example     The Art of Testing  AgileTesting     Continuous-Integration-Improving-Software-Quality-and-Reducing-Risk     Working-Effectively-with-Legacy-Code-by-Michael-Feather

 

Standards

Scrum Developers work toward company, development and organizational standards. Such standards provide guidance. The Developers decide on the actual implementation, thereby respecting the standards.

 
Suggested Reading

 

patterns-of-enterprise-application-architecture     implementation-patterns    

 

ALM - Application Lifecycle Management

What Scrum Developers must know about ALM (‘Application Lifecycle Management’). Mind the .NET specific background of some of these!

 
Suggested Reading

 

Professional-ScrumDevelopment-with-Microsoft-Visual-Studio-2012     Visual-Studio-Team-Foundation-Server-2012-Adopting-Agile-Software-Practices-From-Backlog-to-Continuous-Feedback-3rd-Edition-Microsoft-Windows-Development-Series     Continuous-Delivery-Reliable-Software-Releases-through-Build,-Test,-and-Deployment-Automation

     

Find a class     Take an assessment