Agentic Systems Concepts - Project Management as Code

In my previous post on the Core Value Loop, we discussed the fundamental cycle of Plan-Execute-Evaluate that drives agentic systems. Today, we’ll explore a concept that could revolutionize how these systems interact with project management: Project Management as Code (PMaC).


The Challenge of Continuous Looping

One of the biggest hurdles in implementing effective agentic systems is maintaining the continuity of the Core Value Loop. For an agent to plan effectively, it needs to know what has been done and what remains to be accomplished. The clearer and more accessible this information is, the easier it becomes for an agent (human or AI) to select and execute the next task in the value chain.


Project Management as Code Concept

Hurdles in Current Project Management Landscapes

In today’s highly secured and heterogeneous project management world, querying and accessing data can be challenging. Some common hurdles include:

  1. Siloed information across multiple platforms
  2. Inconsistent data formats and structures
  3. Access control and security restrictions
  4. Lack of standardization in project management methodologies
  5. Integration challenges between different tools and systems

The Concept of Project Management as Code

Project Management as Code (PMaC) is an emerging concept that aims to address these challenges by treating project management artifacts as code. This approach draws inspiration from similar paradigms like Infrastructure as Code (IaC) and GitOps, which have revolutionized how we manage infrastructure and deployments.

Historical Context

  • Infrastructure as Code (IaC): Introduced the idea of managing and provisioning infrastructure through code rather than manual processes.
  • GitOps: Extended version control principles to operational tasks, ensuring that both infrastructure and applications are described declaratively and stored in a Git repository.

PMaC in Practice

Imagine a world where all project management artifacts are stored in a Git repository, easily accessible and version-controlled. Here are some examples of how this might look:

Example 1: Task Transitions using Markdown Checklists

## Sprint 23 Tasks

- [x] Design user interface for new feature
- [ ] Implement backend API
  - [x] Define endpoints
  - [ ] Write controller logic
  - [ ] Add unit tests
- [ ] Integrate with frontend
- [ ] Conduct user acceptance testing

This format allows for easy tracking of task progress and transitions.

Example 2: Project Completion Reporting

With PMaC, generating project completion reports becomes a matter of parsing structured data:

$ pmac report --sprint 23
Sprint 23 Completion Report:
Total Tasks: 4
Completed: 1 (25%)
In Progress: 2 (50%)
Not Started: 1 (25%)

Example 3: User Stories as Markdown Files


Benefits for Agentic Systems

Project Management as Code offers several advantages for agentic systems:

  1. Improved Accessibility: Agents can easily query and understand project status.
  2. Version Control: Track changes and evolution of project artifacts over time.
  3. Automation: Enable automated reporting, task assignment, and progress tracking.
  4. Consistency: Enforce standardized formats and structures across projects.
  5. Integration: Facilitate easier integration with various tools and systems.

Implementing PMaC

To start implementing Project Management as Code, consider the following steps:

  1. Choose a Version Control System: Git is a popular choice due to its widespread adoption.
  2. Define File Structures: Establish a consistent structure for storing project artifacts.
  3. Create Templates: Develop templates for common project documents (e.g., user stories, sprint plans).
  4. Automate Workflows: Use CI/CD pipelines to automate reporting and task management.
  5. Train Your Team: Ensure all team members understand the new process and tools.

Future Possibilities

As PMaC evolves, we can anticipate exciting developments:

  • AI-Driven Project Management: Agentic systems could autonomously manage projects, making decisions based on code-defined artifacts.
  • Cross-Project Analytics: Easier comparison and analysis of multiple projects using standardized data formats.
  • Dynamic Resource Allocation: Automated assignment of tasks and resources based on project code and team capacity.

Conclusion

Project Management as Code represents a significant shift in how we approach project management, particularly in the context of agentic systems. By treating project artifacts as code, we create a more transparent, accessible, and automatable project environment.

This approach not only addresses many of the current challenges in project management but also paves the way for more sophisticated agentic systems to interact with and manage projects. As organizations adopt PMaC principles, we can expect to see improvements in project efficiency, collaboration, and the ability to leverage AI in project management.

The journey towards fully realized Project Management as Code may be challenging, but the potential benefits for agentic systems and project management as a whole make it a compelling direction for the future of our field.