|
| 1 | +## Title |
| 2 | + |
| 3 | +Internal Developer Platform |
| 4 | + |
| 5 | +## Patlet |
| 6 | + |
| 7 | +Development teams struggle with inconsistencies in tooling and environments, leading to inefficiencies and reduced productivity. An Internal Developer Platform standardizes development tooling and environments, providing a self-service portal for developers to access the resources they need, when they need them, thereby streamlining workflows and enhancing efficiency. |
| 8 | + |
| 9 | +## Problem |
| 10 | + |
| 11 | +The diversity of development tools and environments across teams leads to inconsistencies that hamper efficiency, make onboarding of new developers slow, and complicate project collaboration and scaling. |
| 12 | + |
| 13 | +## Story (optional) |
| 14 | + |
| 15 | +(to be done) |
| 16 | + |
| 17 | +## Context |
| 18 | + |
| 19 | +This pattern emerges in organizations with multiple development teams working on various projects, where there is a noticeable discrepancy in how development environments are set up, tools are used, and resources are accessed. |
| 20 | + |
| 21 | +## Forces |
| 22 | + |
| 23 | +Consistency vs. Flexibility: Balancing the need for standardized tooling and environments with the flexibility required by different teams to innovate and adapt to their specific needs. |
| 24 | + |
| 25 | +Self-Service vs. Governance: Ensuring developers have the autonomy to access and manage resources while maintaining necessary oversight and compliance. |
| 26 | + |
| 27 | +Scalability vs. Control: Scaling development efforts across the organization without losing control over the tooling ecosystem and operational overhead. |
| 28 | + |
| 29 | +## Sketch (optional) |
| 30 | + |
| 31 | +(to be added) |
| 32 | + |
| 33 | +## Solutions |
| 34 | + |
| 35 | +Implement an Internal Developer Platform that acts as a centralized, self-service portal for developers. This platform standardizes development environments, tools, and access to resources, ensuring consistency while offering the flexibility to cater to specific project needs. It includes automation for common tasks, such as setting up development environments, initiating CI/CD pipelines, and deploying applications, making these processes more efficient and less prone to errors. |
| 36 | + |
| 37 | +## Resulting Context |
| 38 | + |
| 39 | +Adoption of the Internal Developer Platform leads to streamlined development workflows, improved efficiency, and faster onboarding of new team members. It fosters a culture of collaboration and innovation by removing barriers to resource access and standardizing best practices across teams. |
| 40 | + |
| 41 | +## Rationale |
| 42 | + |
| 43 | +The Internal Developer Platform harmonizes the forces of consistency and flexibility by providing a standardized yet customizable set of tools and resources. It supports scalable and controlled growth within the software development lifecycle, enhancing overall productivity and project collaboration |
| 44 | + |
| 45 | +## Known Instances (optional) |
| 46 | + |
| 47 | +Pattern under implementation at one large financial institution in North America and with a large public sector agency in Singapore. |
| 48 | + |
| 49 | +## Status (optional until merging) |
| 50 | + |
| 51 | +Initial Draft |
| 52 | + |
| 53 | +## Author(s) (optional) |
| 54 | + |
| 55 | +Vincent Caldeira |
| 56 | + |
| 57 | +## Acknowledgments (optional) |
| 58 | + |
| 59 | +Include those who assisted in helping with this pattern - both for attribution and for possible future follow up. |
| 60 | +Though optional, most patterns should list who helped in their creation. |
| 61 | + |
| 62 | +## Alias (optional) |
| 63 | + |
| 64 | +If this pattern is also known under a different name than what is listed unter **Title**, please list those alternative titles here. |
| 65 | +e.g. if the pattern is named after the problem it solves, a helpful alias might be one that describes the solution that is applied. |
0 commit comments