A comprehensive Go SDK implementing ISO 13053-2 Six Sigma tools and techniques following Domain-Driven Design principles.
This SDK provides a complete implementation of the Six Sigma DMAIC (Define, Measure, Analyze, Improve, Control) methodology with all 31 tools and techniques specified in ISO 13053-2:2011.
The SDK follows the Ports-and-Adapters (Hexagonal) pattern with strict layer separation:
┌─────────────────────────────────────────────────────────┐
│ Presentation Layer │
│ (CLI, HTTP API, Events) │
└─────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────┐
│ Application Layer │
│ (Use Cases, DTOs, App Services) │
└─────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────┐
│ Domain Layer │
│ (Entities, VOs, Aggregates, Domain Services, Events) │
└─────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────┐
│ Infrastructure Layer │
│ (Repositories, Adapters, External Services) │
└─────────────────────────────────────────────────────────┘
- SOLID Principles: Strict adherence throughout the codebase
- Clean Architecture: Dependencies point inward toward the domain
- DDD Patterns: Ubiquitous language, bounded contexts, aggregates
- Hexagonal Architecture: Ports and adapters for infrastructure isolation
- CQRS-like Separation: Read and write models where beneficial
- Observability: Structured logging, metrics, and tracing built-in
iso13053/
├── cmd/ # Application entry points
├── internal/
│ ├── application/ # Use cases and application services
│ │ ├── dto/
│ │ └── usecase/
│ ├── domain/ # Domain layer (pure business logic)
│ │ ├── entity/
│ │ ├── valueobject/
│ │ ├── aggregate/
│ │ ├── service/
│ │ ├── event/
│ │ ├── port/ # Repository and service interfaces
│ │ └── error/
│ ├── infrastructure/ # External concerns
│ │ ├── persistence/
│ │ ├── adapter/
│ │ ├── config/
│ │ ├── logger/
│ │ └── metrics/
│ └── presentation/ # CLI, HTTP, gRPC interfaces
│ ├── http/
│ └── cli/
├── pkg/ # Public API
├── docs/
│ ├── adr/ # Architecture Decision Records
│ └── examples/ # Usage examples
├── GLOSSARY.md # Ubiquitous language
├── README.md
└── go.mod
-
Define Phase
- Project charter creation
- SIPOC mapping
- CTQ tree analysis
- Stakeholder identification
- ROI and cost accounting
-
Measure Phase
- Data collection planning
- Measurement System Analysis (MSA)
- Sample size determination
- Normality testing
- Descriptive statistics visualization
- Process capability analysis
-
Analyze Phase
- Cause and effect analysis
- Hypothesis testing
- Regression and correlation
- Design of experiments (DOE)
- Waste analysis
- Value stream mapping
-
Improve Phase
- Solution generation
- FMEA (Failure Mode and Effects Analysis)
- Reliability testing
- Prioritization matrices
-
Control Phase
- Control charts
- Monitoring/control plans
- Project review
- Continuous improvement
package main
import (
"context"
"log"
"github.com/your-org/iso13053/pkg/sixsigma"
)
func main() {
// Create application service
app := sixsigma.NewApplication()
// Create a new Six Sigma project
project, err := app.CreateProject(context.Background(), sixsigma.CreateProjectRequest{
Name: "Customer Satisfaction Improvement",
Problem: "Customer satisfaction below target of 90%",
Goal: "Achieve 95% customer satisfaction",
CTQs: []sixsigma.CTQ{
{Name: "Response Time", Target: "24 hours", UOM: "hours"},
{Name: "Resolution Rate", Target: "95%", UOM: "percent"},
},
})
if err != nil {
log.Fatal(err)
}
// Define phase
err = app.DefineProject(context.Background(), project.ID)
if err != nil {
log.Fatal(err)
}
// Measure phase
err = app.MeasureProcess(context.Background(), project.ID)
if err != nil {
log.Fatal(err)
}
// Analyze phase
rootCauses, err := app.AnalyzeProcess(context.Background(), project.ID)
if err != nil {
log.Fatal(err)
}
log.Printf("Identified %d root causes", len(rootCauses))
}go get github.com/your-org/iso13053- Glossary - Ubiquitous language and domain terminology
- Architecture Decision Records - Design rationale and decisions
- Examples - Usage examples and tutorials
- Go 1.21 or later
- Make (for build automation)
# Run all tests
make test
# Run tests with coverage
make test-coverage
# Run integration tests
make test-integration# Build all binaries
make build
# Build specific component
make build-cli[Your License Here]
Please read CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.
- ISO 13053-2:2011 - Quantitative methods in process improvement — Six Sigma — Part 2: Tools and techniques
- ISO 13053-1:2011 - DMAIC methodology