Role_Dev_LargeThis Reading Path introduces the role of the Developer in Lean-Agile.

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.