<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Jaikanth's Blog]]></title><description><![CDATA[Software engineer by day, superhero by night. My special power? Debugging code in my sleep.]]></description><link>https://blog.jaikanthj.com</link><generator>RSS for Node</generator><lastBuildDate>Mon, 11 May 2026 20:48:08 GMT</lastBuildDate><atom:link href="https://blog.jaikanthj.com/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[From Chaos to Clarity: Demystifying Story Point Sizing for Developers]]></title><description><![CDATA[I. Introduction to Story Point Sizing
Story point sizing is a powerful tool for project estimation in Agile software development. Its purpose is to offer a more streamlined, flexible, and team-centric approach to task sizing compared to traditional t...]]></description><link>https://blog.jaikanthj.com/from-chaos-to-clarity-demystifying-story-point-sizing-for-developers</link><guid isPermaLink="true">https://blog.jaikanthj.com/from-chaos-to-clarity-demystifying-story-point-sizing-for-developers</guid><category><![CDATA[agile]]></category><category><![CDATA[Developer]]></category><category><![CDATA[storypoints]]></category><category><![CDATA[Productivity]]></category><dc:creator><![CDATA[Jaikanth J]]></dc:creator><pubDate>Sun, 23 Jul 2023 19:08:09 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/7tXA8xwe4W4/upload/417bdce401b3a26a07286be422563427.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h3 id="heading-i-introduction-to-story-point-sizing">I. Introduction to Story Point Sizing</h3>
<p>Story point sizing is a powerful tool for project estimation in Agile software development. Its purpose is to offer a more streamlined, flexible, and team-centric approach to task sizing compared to traditional time-based estimates. The significance of story points lies in their ability to encourage collaborative planning and promote efficiency within Agile teams.</p>
<h3 id="heading-ii-understanding-the-basics-of-story-points">II. Understanding the Basics of Story Points</h3>
<p>Unlike traditional time estimates, story points focus on the size or complexity of a task rather than the amount of time it would take to complete it. This system often uses the Fibonacci sequence, allowing for a more nuanced method of sizing as tasks grow in complexity.</p>
<p>Another fundamental concept is relative sizing, which involves comparing new tasks to previously sized tasks to generate an estimate. This comparison-based approach adds another layer of precision and consistency.</p>
<p>Many people struggle to comprehend why the Fibonacci series is emphasized so heavily. The reality is that any non-linear function would suffice, as the underlying concept is that larger stories possess significantly more unknowns and uncertainties. The most widely used variation is the modified Fibonacci series 1, 2, 3, 5, 8. The sole reason being its a good menomic and a non linear function.</p>
<h3 id="heading-iii-the-art-of-estimating-story-points">III. The Art of Estimating Story Points</h3>
<p>In the bustling world of Agile development, story points serve as the heart in estimating workload. They're not just numbers; they're symbols of complexity, uncertainty, and effort. To master this art, you need to engage your entire team in calibration - a symphony of consensus on task sizes.</p>
<p>Here's a practical guide to steer you through the process:</p>
<ul>
<li><p>Picture a two-week sprint as a backpack. A single team member can comfortably carry about 10-12 story points worth of tasks.</p>
</li>
<li><p>Now, think about packing that backpack wisely. Instead of stuffing it with a heavy 8-point task and a moderately hefty 3-pointer, rearrange your load into a more manageable set: one 8-pointer paired with three light-as-a-feather 1-pointers. Why? Because massive tasks tend to come with sizeable headaches and uncertainties, while lightweight tasks are straightforward and can be used as productivity cushions.</p>
</li>
<li><p>Notice a task exceeding the eight-point limit? That's not just a task; it's an epic adventure or perhaps a feature film! Because it can't fit into one sprint, categorize it appropriately as Feature/Capability/Epic.</p>
</li>
</ul>
<p>Now let's dive into some actionable tips for scoring your stories:</p>
<ul>
<li><p>Unsure about where your code is heading but confident it'll be around ten lines once determined? That's a mystery worth 2/3 story points! But if you've got the map showing where and what to write for approximately 200 lines of code, consider it a breezy one-pointer!</p>
</li>
<li><p>Found an existing reference solution that fits perfectly within your organization? Great! An eight-pointer task has just shed its uncertainties and slimmed down to become an easy-to-handle one-pointer!</p>
</li>
<li><p>Avoid the trap of déjà vu estimation! Just because you've done something similar before doesn’t mean it still carries the same weight. With familiarity comes ease; downgrade that familiar 'three-pointer' task to a 'two/one pointer'.</p>
</li>
</ul>
<p>Remember this golden rule: software engineers do way more than just writing lines upon lines of code. The real knight battles are fought in reducing uncertainty lands, convincing stakeholders castles, and managing expectations kingdoms—these are what truly burn the midnight oil. So let your story points reflect these heroic quests!</p>
<h3 id="heading-iv-challenges-and-misconceptions">IV. Challenges and Misconceptions</h3>
<p>Like a rapid river on a rafting trip, introducing story points can stir up resistance currents amongst team members. But don't despair! With clear communication about its benefits and continuous training, you can navigate through these challenging waters.</p>
<p>But beware of lurking pitfalls! One classic error is equating one story point directly to specific time units - it's like comparing apples to oranges. Similarly, misconceptions can muddy the waters; for example, considering story points as a measure of developer productivity rather than task complexity can skew your estimates. Be vigilant and tackle these misconceptions head-on!</p>
<h3 id="heading-v-tracking-and-analyzing-story-points">V. Tracking and Analyzing Story Points</h3>
<p>Think of story points as not just stops on your route but also your compass and map in the Agile journey. They chart the velocity of your team - giving you an insight into the total work your team can handle in one sprint cycle. This invaluable treasure trove of data allows for adjustments based on past performance, enhancing predictability and project planning.</p>
<h3 id="heading-vi-the-final-milestone-conclusion">VI. The Final Milestone: Conclusion</h3>
<p>Embarking on the adventure of story point sizing is akin to unlocking a chest full of benefits - from boosting team collaboration to improving project predictability. Yes, it might seem like an uphill climb initially, but once you conquer that peak, the panoramic view of enhanced efficiency is well worth it. So gear up, Agile developers! Master the magic of story point sizing and elevate your project management prowess to new heights!</p>
]]></content:encoded></item><item><title><![CDATA[Making the Tatkal System Smoother: What Can IRCTC Do?]]></title><description><![CDATA[Introduction
The Indian Railway Catering and Tourism Corporation (IRCTC) serves millions of passengers daily through its Tatkal system, which allows travellers to book train tickets at short notice. However, the current system faces numerous challeng...]]></description><link>https://blog.jaikanthj.com/making-the-tatkal-system-smoother-what-can-irctc-do</link><guid isPermaLink="true">https://blog.jaikanthj.com/making-the-tatkal-system-smoother-what-can-irctc-do</guid><category><![CDATA[passkey ]]></category><category><![CDATA[production]]></category><category><![CDATA[IRCTC]]></category><category><![CDATA[Tatkal]]></category><dc:creator><![CDATA[Jaikanth J]]></dc:creator><pubDate>Sun, 07 May 2023 14:45:06 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/gJhev0YgUcE/upload/edac8a6ff835bf2da8ff6e86c4e671d7.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2 id="heading-introduction">Introduction</h2>
<p>The Indian Railway Catering and Tourism Corporation (IRCTC) serves millions of passengers daily through its Tatkal system, which allows travellers to book train tickets at short notice. However, the current system faces numerous challenges, such as high traffic during peak hours, server congestion, payment failures, and an overall cumbersome booking process. As the demand for convenient and efficient rail travel continues to grow, it is crucial to address these issues and improve the Tatkal system for a better user experience.</p>
<p>Improving the Tatkal system not only enhances customer satisfaction but also has the potential to boost revenue for IRCTC. With an efficient and user-friendly platform, more passengers will be encouraged to utilize the Tatkal service, leading to better utilization of available seats and resources. Additionally, an improved Tatkal system can contribute to the overall growth of the Indian Railways by attracting more travellers, especially semi-business travellers who may have previously opted for alternative modes of transportation.</p>
<p>In the following sections, we will explore experimental suggestions that IRCTC can implement to enhance the Tatkal system, focusing on aspects like booking process optimization, asynchronous berth allocation, and streamlined payment methods. By adopting these innovative approaches, IRCTC can elevate the Tatkal experience for its users, ensuring a smoother and more enjoyable journey.</p>
<h2 id="heading-time-slotted-tatkal-bookings">Time-Slotted Tatkal Bookings</h2>
<p>One of the most significant issues that users face when booking Tatkal tickets is the unresponsiveness and random failures that occur due to the peak, bursty load on the system. This problem arises when a large number of users try to book tickets simultaneously, causing the system to become overwhelmed and unresponsive.</p>
<p>To address this issue, a time-slotted Tatkal booking system can be implemented. This system would involve dividing the 16 railway zones into groups of 4, with each pair consisting of two zones that are geographically close or have similar booking patterns. This pairing will help to distribute the load more evenly across the system.</p>
<p>Next, allocating 15-minute booking slots for each group will reduce the peak by 4 times. By assigning specific time slots to each pair, users will be able to book tickets for their respective zones without competing with the entire user base at once. This will result in a more efficient and reliable booking process.</p>
<h2 id="heading-streamlining-payment-processing">Streamlining Payment Processing</h2>
<p>One of the most frustrating aspects of the Tatkal booking process is the frequent occurrence of payment failures and delays, especially during rush hours. These issues not only result in a negative user experience but also contribute to the loss of revenue for IRCTC.</p>
<p>One such improvement could be to eliminate the slow and often cumbersome redirection and waiting for the OTP (One-Time Password) by adopting alternative payment methods like Simpl, PayTM Postpaid, or digital wallets. These options make it a single-click checkout.</p>
<p>IRCTC eWallets will see more adoption by removing the OTP requirement during checkout and integrating <a target="_blank" href="https://www.passkeys.com">FIDO passkeys</a> instead. FIDO passkeys offer a faster and equally secure authentication method compared to OTPs, enabling users to complete transactions more efficiently.</p>
<h2 id="heading-asynchronous-berth-allocation">Asynchronous Berth Allocation</h2>
<p>Optimizing the berth allocation process is crucial for improving the Tatkal booking experience on the IRCTC platform. Although berth allocation may not directly cause server congestion, it can increase latency and consume valuable CPU cycles, affecting the overall performance of the system.</p>
<p>Implementing a durable in-memory database (DB) for booking with quotas, and performing berth allocation asynchronously can help mitigate these issues. By decoupling the allocation process from the user-facing booking interface, IRCTC can efficiently reduce the peak resources necessary and reduce latency.</p>
<p>In this approach, the in-memory DB is used to handle the initial booking process, allowing users to secure a ticket within their desired quota quickly. The actual berth allocation is then performed asynchronously, rolling up the data to the main database at a later time.</p>
<p>By reducing latency and optimizing CPU usage, the booking process becomes faster and more responsive for users. Additionally, this approach enables IRCTC to better handle higher concurrency and maintain a consistent level of service quality.</p>
<h2 id="heading-conclusion">Conclusion</h2>
<p>In conclusion, we have suggested various enhancements to the Tatkal system that can substantially improve the overall user experience on the IRCTC platform. These improvements would increase consistency and enable IRCTC to sell more tickets, thereby boosting revenue.</p>
]]></content:encoded></item></channel></rss>