Skip to content

software craftsmanship - value driven · ai-augmented

The Manifesto for AI-Augmented Software Craftsmanship

Preamble

"The programmer, like the poet, works only slightly removed from pure thought-stuff. He builds his castles in the air, from air, creating by exertion of the imagination. [...] Yet the program construct, unlike the poet's words, is real in the sense that it moves and works, producing visible outputs separate from the construct itself. [...] The magic of myth and legend has come true in our time. One types the correct incantation on a keyboard, and a display screen comes to life, showing things that never were nor could be." - The Mythical Man-Month, Frederick P. Brooks, Jr., 1978

With the advent of generative AI and large language models in software development, we face the challenge of reconciling machine-generated artifacts with the craft we consider our work. We find ourselves navigating the tension between preserving craftsmanship integrity, adopting powerful new tools, and maintaining transparency with clients and stakeholders.

We consider it essential to preserve and nurture established principles while consciously and reflectively integrating the opportunities and challenges that generative AI brings.

For this reason, we wrote this Manifesto for AI-augmented Software Craftsmanship, which connects traditional values and practices of software development with the new realities and possibilities of AI-supported development.

It should serve as a guide to ensure that the quality, responsibility, and mastery we strive for as software craftspeople remain preserved in a world where AI increasingly participates in the creation process.

Our aim is that this manifesto not only reflects our personal stance but also acts as a starting point for wider community discussion, so we can collectively shape a responsible and craft-oriented approach to AI in software development.

Manifesto

We, as craftspeople, commit to the enduring principles of quality, responsibility, and mastery.

We see AI not as a replacement for our skills, but as a powerful tool that, when wielded with discipline and wisdom, augments them. To this end, we commit to the following values:

Collaboration over Automation.

Comprehension over Convenience.

Ownership over Delegation.

Verification over Assumption.

We pursue the values on the left, knowing that favoring those on the right erodes our craft.

Principles

  1. We Embrace AI as a Pair-Programming Partner, Not a Replacement. We leverage AI as a collaborative assistant to augment our skills, challenge our assumptions, and handle routine tasks. It is a tool, not a substitute for our expertise, critical judgment, and human feedback.

  2. We Value Comprehension Over Generation. We commit to understanding every line of code the AI generates. We reject blind copy-pasting. If we cannot explain the code, we cannot own it, and it has no place in our work.

  3. We Maintain Unyielding Human Ownership. The developer remains the ultimate and accountable owner of the final product. We are responsible for its function, its bugs, its security flaws, and its ethical implications, regardless of how much was AI-generated.

  4. We Uphold the Discipline of Code Review. AI-generated code is not pre-approved. It is subjected to the same critical review as code written by any human team member. We check it for correctness, security, performance, and adherence to our design principles.

  5. We Believe in AI for Boilerplate, Humans for Architecture. We delegate scaffolding, repetitive tasks, and routine test generation to AI. We reserve our human intellect for the blueprint - complex problem-solving, system design, and critical architectural decisions.

  6. We Commit to Documenting the Role of AI. We are transparent about the process. By documenting how and where AI was used in the development lifecycle, we provide stakeholders and team members with crucial context for future maintenance, debugging, and quality assurance.

Licensed under CC BY-SA 4.0

Popular repositories Loading

  1. ai-manifesto ai-manifesto Public

    Principles for AI-Augmented Software Craftsmanship. A guide for using AI as a partner, not a replacement.

  2. .github .github Public

    Principles for AI-Augmented Software Craftsmanship. A guide for using AI as a partner, not a replacement.

  3. website website Public

    Official website for the Manifesto for AI-Augmented Software Craftsmanship

    TypeScript

Repositories

Showing 3 of 3 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…