Projects as a code

Project as Code is part of the “Everything-as-Code” thinking applied to projects.

For this article the focus is the interaction of software project as code with the development of software features.

Consider a software project cycle:

  1. Definition of a idea or opportunity canvas. This can be described in various formats
  2. Project inception, where the organisation’s project management process or software development life cycle begins. One the first artefacts created is a project name or code.
  3. Defining the project scope, timelines and resources

Based on the above high level items, the development will generally have and manage.

  • The project code
  • The Configuration Items in the Configuration Management Database (CMDB)
  • Various project and devops tools, like Visual Code, TeamCity
  • Code versioning using something like Git
  • Define UI interfaces (if not headless)
  • Define API interfaces including to Databases or other systems. A common industry standard today is OpenAPI specification