Posts

Showing posts from May, 2025

Scrum in the Era of Agentic Software Development

Image
 Agentic coding, where AI-driven agents autonomously write, test, debug, and refactor code, represents a significant shift that could substantially impact traditional Scrum practices. Far from a distant possibility, agentic coding is already being demonstrated today. For instance, GitHub Copilot can manage entire coding workflows autonomously: Create a dedicated branch. Analyze the existing codebase and the reported issue. Develop and apply a solution. Test the solution comprehensively. Generate new unit tests. Execute all unit tests. Create a Pull Request (PR). Validate the implemented fix. Assign the PR back to a human reviewer. For developers, this represents a significant shift. For software managers, it introduces both substantial opportunities and challenges. Scrum processes, in particular, will experience significant adaptation as AI becomes integral to software development. Impacts of Agentic Coding on Scrum Practices: Scrum Framework Impact ...

Vertical Slice Architecture: A Game-Changer for Modern Blazor Applications

Image
  Introduction As a senior C# developer and solution architect, I've explored numerous architectural patterns throughout my career. Today, I want to share insights on a pattern that has fundamentally transformed how I structure Blazor applications: Vertical Slice Architecture (VSA). Traditional layered architectures organize code according to technical concerns—controllers, services, repositories, models. This approach has served us well for decades, but as applications grow in complexity, this horizontal organization can create significant cognitive overhead. Enter Vertical Slice Architecture—an approach that organizes code around features rather than technical layers. The Problem with Traditional Layered Architecture Most of us are familiar with the standard n-tier approach: YourApp/ ├── Controllers/ ├── Services/ ├── Repositories/ ├── Models/ └── ViewModels/ While this organization seems logical at first glance, it creates several challenges: Feature Fragmentation : Work...

Organizing Service Registrations in ASP.NET Core Applications

Image
As ASP.NET Core applications grow, the list of registered services in your Program.cs or Startup.cs file can quickly become unwieldy. A mature enterprise application might easily have dozens or even hundreds of service registrations, making the code difficult to maintain and understand. The Problem: Service Registration Bloat Consider this common scenario in many enterprise applications: You open your Program.cs file and see a wall of service registrations that looks something like this: builder.Services.AddScoped<IAnalyticsService, AnalyticsService>(); builder.Services.AddScoped<ICacheService, CacheService>(); builder.Services.AddScoped<IDashboardService, DashboardService>(); builder.Services.AddScoped<ReportingService>(); builder.Services.AddScoped<IReportingService, ReportingService>(); // ... 30+ more service registrations This approach has several problems: Poor readability and maintainability Difficult to understand which services belong togethe...