Pradyumn Sharma, August 29, 2017
Unpredictable but important support issues crop up in the middle of a sprint. How do we account for these in sprint planning?
Pradyumn Sharma, August 22, 2017
In the middle of a Sprint, the customer asks you for some urgent changes. What can you do? A look at the slightly different recommendations from Scrum and XP.
Pradyumn Sharma, August 15, 2017
You have a system with object-oriented design. But the complex dependencies among classes are becoming hard to manage. What to do?
Pradyumn Sharma, August 1, 2017
Understanding the four, core values of agile methodologies, enshrined in the "Agile Manifesto".
Pradyumn Sharma, July 25, 2017
When you need to modify a class to change its behaviour, refactor it in such a manner that you don't need to modify it again for the same reason.
Testing | Agile
Pradyumn Sharma, July 18, 2017
Periodically, examine the stored data in your system to find out and report if any errors have crept in; and fix them automatically where possible.
Pradyumn Sharma, July 11, 2017
Understanding the principle, and learning how to ensure that we don't violate it in our design and code.
Productivity | Bookmarking
Pradyumn Sharma, July 4, 2017
Graduating from local bookmarks to browser-independent ones that you can access from anywhere; as well as tag and annotate these with highlights and sticky notes.
Agile | TDD | MSTest
Pradyumn Sharma, June 27, 2017
Step-by-step description of unit testing C# code (with binary search algorithm as the example), using C#, Visual Studio and MSTest.
Agile | Architecture
Pradyumn Sharma, June 20, 2017
Video recording of my talk at the SATURN 2017 conference, organized by SEI of Carnegie Mellon University. A shorter text version is also available as blog post dated May 16, 2017.
Code Comments | Literate Programming
Pradyumn Sharma, June 13, 2017
Write comments in your code such that docco, a documentation generation tool, can process these and generate web pages placing comments alongside with your code in a readable manner.
MongoDB | NoSQL
Pradyumn Sharma, June 6, 2017
An overview of the concepts and key features of MongoDB. Some examples of CRUD operations to get an inkling of the rich query language MongoDB provides.
Pradyumn Sharma, May 30, 2017
Out of 92 solutions to the problem, only 12 are distinct ones (the others are rotations and / or mirror images of these). An implementation to identify the 12 distinct solutions.
Agile | Architecture
Pradyumn Sharma, May 23, 2017
How do we get the customer to specify or validate the desired architecture qualities? And assess their business value?
Agile | Architecture
Pradyumn Sharma, May 16, 2017
How do we establish the architecture for a system the agile way? How do we avoid BDUF while applying incremental and iterative agile methodologies, to meet architectural requirements?
Agile | TDD
Pradyumn Sharma, May 09, 2017
Frequently asked question: while adopting TDD, should one write (automate) as many tests as one can identify initially? Or write only one test at a time, make it pass, and then add more tests?
Functional | Architecture
Pradyumn Sharma, May 02, 2017
A brief overview of how the functional programming paradigm has enabled the Functions As A Service (FaaS) space.
Pradyumn Sharma, April 25, 2017
An alternative implementation with a one-dimensional array. Along with a challenge for finding out the distinct solutions.
Pradyumn Sharma, April 18, 2017
What are NoSQL databases? Why are these becoming increasingly important in enterprise applications and software services? How do these differ from relational databases?
Agile | TDD | JUnit
Pradyumn Sharma, April 11, 2017
Concepts of test-driven development (TDD). A step-by-step, complete example (implementing the binary search algorithm), using Java, Eclipse and JUnit.
Pradyumn Sharma, April 4, 2017
How to place eight queens on a chessboard such that no queen captures another one? A step-by-step description of the algorithm, along with Java code and ideas for further exploration.
Pradyumn Sharma, March 28, 2017
Brief description of the 24 practices from Extreme Programming (XP). XP's practices are primarily engineering-centric, focusing on the day-to-day work of the team that builds the software.