>  Blog
Agile
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?

       Read
Agile
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.

       Read
Design Principles
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?

       Read
Agile
Pradyumn Sharma, August 1, 2017

Understanding the four, core values of agile methodologies, enshrined in the "Agile Manifesto".

       Read
Design Principles
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.

       Read
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.

       Read
Design Principles
Pradyumn Sharma, July 11, 2017

Understanding the principle, and learning how to ensure that we don't violate it in our design and code.

       Read
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.

       Read
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.

       Read
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.

       Read
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.

       Read
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.

       Read
Algorithms
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.

       Read
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?

       Read
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?

       Read
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?

       Read
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.

       Read
Algorithms
Pradyumn Sharma, April 25, 2017

An alternative implementation with a one-dimensional array. Along with a challenge for finding out the distinct solutions.

       Read
NoSQL
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?

       Read
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.

       Read
Algorithms
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.

       Read
Agile
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.

       Read