The Developer role is responsible for working with other members of the Team to build potentially releasable features in every iteration.
The Developer role collaborates with technical roles and business roles on the team. Technical roles include (for example) Testers, UX Designers, and Database Developers. Team business role(s) include Product Owner (the ideal), or alternatively Business Lead, Business Subject-Matter Experts or Business Analysts. The Developer may also on occasion work with higher-level technical roles such as Program Architect or System Architect, as needed to ensure the team-level products are compatible with the overall system.
The Developer has primary responsibility on the team for evaluating requirements for whether they unnecessarily constrain technical characteristics like implementability, modifiability, or extensibility. If so, the Developer role will work with the primary business role (ideally the Product Owner) to find a way to re-word the requirement so it both accomplishes its intended business purpose, and also allows for the best technical solution. A Developer will (along with the other team roles) assist with writing acceptance test cases as appropriate.
The Developer role works with the other roles to create optimal feature- and story-level design solutions. The Developer works with the team to ensure that the results of developing all stories and tasks will meet all functional and acceptance tests.
The Developer also helps the team resolve impediments, getting help from inside and outside the team as needed.
Explore this role in the Developer and the Core Developer Skills Learning Paths.
Resources in This Topic
Acceptance Test-Driven Development (Article)
Acceptance Test-Driven Development: A Quick Introduction (Blog Entry)
Alternatives for the Developer Role (sfwd-lessons)
Are We Using Automated Acceptance Tests? (Article)
Carry-Over Work (Article)
Code Qualities (sfwd-lessons)
Controlling Work-in-Process (WIP) (Article)
Core Developer Skills (Course)
Daily Stand-Ups (Article)
Designing the Kanban Board (Article)
Developer Resources (sfwd-lessons)
Developer Responsibilities (sfwd-lessons)
Example RACI Chart for Lean-Agile Roles (Article)
Going Beyond Scrum, Part 1 (Blog Entry)
Going Beyond Scrum, Part 2 (Blog Entry)
Growing in the Developer Role (sfwd-lessons)
How Is Integration Across Teams Being Handled? (Article)
How Should We Coordinate Teams? (Article)
How Small Are Our Stories? (Article)
How Will Teams Work and Deliver Together? (Article)
How Will UX Work With the Teams? (Article)
How Will We Make Visible Our Work at the Program Level? (Article)
If We Do Estimate, What Estimation Method Should We Use? (Article)
Justifying TDD (Blog Entry)
Meetings for Lean-Agile (Article)
Online Learning (Article)
Overview of Roles (Article)
Overview of Standard Work (Article)
Practices: Developer (sfwd-lessons)
Should We Estimate Our Work? (Article)
Skills that Developers Need to Acquire in an Agile Transformation (Blog Entry)
Standard Work: Developer (sfwd-lessons)
To What Extent Will Test-First Methods Be Used? (Article)
To What Extent Will We Automate Tests? (Article)
Types of Tests for Code (Article)
Using Guardrails to Tie Business to Technology (Blog Entry)
What Design Method Will Be Used? (Article)
What Test Harness for Acceptance Tests Will Be Used? (Article)
Writing Explicit Policies (Article)
Podcasts in This Topic
Webinars in This Topic