In a traditional SDLC each stage of the process has had segmenting around the responsibilities. At an extreme, this means each functional area is owned by a different person/role:
Full cycle developers is a different approach. It requires applying engineering discipline to all areas of the life cycle. Full cycle developers evaluate problems from a developer perspective and ask questions like “how can I automate what is needed to operate this system?” and “what self-service tool will enable my partners to answer their questions without needing me to be involved?”. They think and act like an SWE, SDET, and SRE. At times they create software that solves business problems, at other times they write test cases for that, and still other times they automate operational aspects of that system.
- The developer needs to value breadth, this requires both interest and aptitude in a diverse range of technologies.
- Some developers prefer focusing on becoming world class experts in a narrow field and our industry needs those types of specialists for some areas. For those experts, the need to be broad, with reasonable depth in each area, may be uncomfortable and sometimes unfulfilling.