Understanding Spec-Driven-Development: Kiro, Spec-Kit, and Tessl