<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://blog.harikrishnan.io/about/</loc>
<lastmod>2026-04-02T17:26:04+00:00</lastmod>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/</loc>
<lastmod>2026-04-02T17:26:04+00:00</lastmod>
</url>
<url>
<loc>https://blog.harikrishnan.io/2008-05-23/jms</loc>
<lastmod>2008-05-23T17:47:09+00:00</lastmod>
</url>
<url>
<loc>https://blog.harikrishnan.io/2009-01-24/access-gmail-with-imap-using-java-mail-api</loc>
<lastmod>2009-01-24T09:43:27+00:00</lastmod>
</url>
<url>
<loc>https://blog.harikrishnan.io/2009-01-24/consume-rest-webservices-in-java-using-rapa</loc>
<lastmod>2009-01-24T17:27:07+00:00</lastmod>
</url>
<url>
<loc>https://blog.harikrishnan.io/2009-05-10/document-oriented-databases</loc>
<lastmod>2009-05-10T05:02:22+00:00</lastmod>
</url>
<url>
<loc>https://blog.harikrishnan.io/2009-12-27/coroutines-back-to-basics</loc>
<lastmod>2009-12-27T18:25:07+00:00</lastmod>
</url>
<url>
<loc>https://blog.harikrishnan.io/2009-12-29/jumping-through-hoops-to-represent-trees-in-database</loc>
<lastmod>2009-12-29T19:14:59+00:00</lastmod>
</url>
<url>
<loc>https://blog.harikrishnan.io/2010-01-05/mnesia-quickstart</loc>
<lastmod>2010-01-05T19:49:21+00:00</lastmod>
</url>
<url>
<loc>https://blog.harikrishnan.io/2010-06-04/customize-gradle-directory-structure</loc>
<lastmod>2010-06-04T21:37:12+00:00</lastmod>
</url>
<url>
<loc>https://blog.harikrishnan.io/2010-07-05/non-clustered-indexes-and-deadlocks</loc>
<lastmod>2010-07-05T16:57:53+00:00</lastmod>
</url>
<url>
<loc>https://blog.harikrishnan.io/2011-01-15/subdomains-pretty-urls-and-some-config</loc>
<lastmod>2011-01-15T15:06:29+00:00</lastmod>
</url>
<url>
<loc>https://blog.harikrishnan.io/2013-10-14/debugging-apache-mod_proxy_balancer</loc>
<lastmod>2013-10-14T22:32:57+00:00</lastmod>
</url>
<url>
<loc>https://blog.harikrishnan.io/2016-05-24/cutting-stories-for-microservices</loc>
<lastmod>2016-05-24T06:49:31+00:00</lastmod>
</url>
<url>
<loc>https://blog.harikrishnan.io/2017-09-25/monolith-to-microservices-where-do-we-begin</loc>
<lastmod>2017-09-25T05:41:10+00:00</lastmod>
</url>
<url>
<loc>https://blog.harikrishnan.io/2018-08-05/microservices-and-traceability</loc>
<lastmod>2018-08-05T16:27:01+00:00</lastmod>
</url>
<url>
<loc>https://blog.harikrishnan.io/2019-07-02/inside-out-vs-outside-in</loc>
<lastmod>2019-07-02T04:54:40+00:00</lastmod>
</url>
<url>
<loc>https://blog.harikrishnan.io/2019-07-19/blue-green-deployment-nuances</loc>
<lastmod>2019-07-19T04:11:19+00:00</lastmod>
</url>
<url>
<loc>https://blog.harikrishnan.io/2020-02-26/railway-oriented-programming</loc>
<lastmod>2020-02-26T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://blog.harikrishnan.io/2020-06-30/refactoring-if-else-either-and-flatmap</loc>
<lastmod>2020-06-30T04:16:18+00:00</lastmod>
</url>
<url>
<loc>https://blog.harikrishnan.io/2023-03-13/contract-driven-development-adoption-journey-key-takeaways</loc>
<lastmod>2023-03-13T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://blog.harikrishnan.io/2025-09-02/guardrails-api-development-guiding-coding-agents</loc>
<lastmod>2025-09-02T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://blog.harikrishnan.io/2025-09-09/spec-driven-development-api-design-first</loc>
<lastmod>2025-09-09T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://blog.harikrishnan.io/2025-09-17/spec-driven-development-beyond-first-feature</loc>
<lastmod>2025-09-17T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://blog.harikrishnan.io/2025-10-03/spec-driven-development-analysing-across-features</loc>
<lastmod>2025-10-03T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://blog.harikrishnan.io/2025-10-15/spec-kit-extensions-incubate-test-distribute</loc>
<lastmod>2025-10-15T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://blog.harikrishnan.io/2025-10-22/spec-driven-development-tools</loc>
<lastmod>2025-10-22T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://blog.harikrishnan.io/2025-10-24/spec-driven-development-mind-context-length</loc>
<lastmod>2025-10-24T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://blog.harikrishnan.io/2025-11-09/spec-driven-development-openspec-source-truth</loc>
<lastmod>2025-11-09T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://blog.harikrishnan.io/2025-12-15/vibe-coding-vs-spec-driven-development</loc>
<lastmod>2025-12-15T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://blog.harikrishnan.io/2025-12-26/choosing-spec-driven-development-tool</loc>
<lastmod>2025-12-26T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://blog.harikrishnan.io/2026-01-11/linear-mcp-openspec-sdd-workflow</loc>
<lastmod>2026-01-11T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://blog.harikrishnan.io/2026-01-26/openspec-1-0-release</loc>
<lastmod>2026-01-26T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://blog.harikrishnan.io/2026-02-12/openspec-custom-schemas</loc>
<lastmod>2026-02-12T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://blog.harikrishnan.io/2026-02-19/enterprise-spec-driven-development-infoq</loc>
<lastmod>2026-02-19T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://blog.harikrishnan.io/2026-02-23/intent-harness</loc>
<lastmod>2026-02-23T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://blog.harikrishnan.io/2026-02-25/openspec-1-2-release</loc>
<lastmod>2026-02-25T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://blog.harikrishnan.io/2026-03-10/spec-driven-development-brownfield</loc>
<lastmod>2026-03-10T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://blog.harikrishnan.io/2026-04-01/openspec-git-worktrees-opencode</loc>
<lastmod>2026-04-01T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://blog.harikrishnan.io/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/java/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/messaging/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/jms/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/spring/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/email/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/imap/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/javamail/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/rest/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/web-services/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/api/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/databases/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/nosql/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/document-databases/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/programming/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/coroutines/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/concurrency/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/data-structures/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/sql/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/common-table-expressions/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/erlang/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/mnesia/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/gradle/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/build-tools/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/sql-server/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/indexes/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/performance/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/web-development/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/url-routing/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/configuration/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/nginx/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/apache/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/load-balancing/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/debugging/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/infrastructure/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/mod-proxy/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/microservices/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/architecture/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/agile/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/user-stories/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/refactoring/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/monolith/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/traceability/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/design/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/development-process/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/deployment/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/devops/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/blue-green/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/functional-programming/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/kotlin/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/railway-oriented-programming/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/arrow/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/monad/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/contract-driven-development/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/testing/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/claude-code/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/contract-testing/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/ai/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/coding-agents/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/openapi/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/spec-driven-development/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/github/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/spec-kit/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/claude/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/systems-thinking/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/developer-tools/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/ai-coding/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/github/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/kiro/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/openspec/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/agentos/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/tessl/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/context-length/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/llm/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/feature-decomposition/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/source-of-truth/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/github-spec-kit/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/spec-anchored/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/vibe-coding/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/context-engineering/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/intent-alignment/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/ai-agents/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/development-practices/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/speckit/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/bmad-method/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/antigravity/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/tools/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/linear/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/mcp/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/workflow/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/spec-driven-development/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/release/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/custom-schemas/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/intent-harness/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/agent-harness/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/vibe-coding/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/context-engineering/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/workflows/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/profiles/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/schemas/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/legacy-code/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/brownfield/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/incremental-development/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/repomix/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/git-worktrees/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/opencode/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/parallel-development/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/tags/subagents/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/page2/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/page3/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/page4/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/page5/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/page6/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/page7/</loc>
</url>
<url>
<loc>https://blog.harikrishnan.io/page8/</loc>
</url>
</urlset>
