Analyze, Design and Develop            

Here are some articles and links I find helpful

∗ Five reasons to hire an independent consultant
Save project dollars by avoiding IT staffing firms and long term hires. Bypass the middle man and have the same developer throughout the whole project. Use them only when you need them. Read this articles to learn more reasons.

10 reasons why software project estimates fail
Estimating projects is critical to the developers, project managers, and the stake holders. To complete projects on time and on budget starts with acquiring good requirements and a healthy estimate. I found this article by Craig Buckler to be very informative for Project Managers.

The Why, What, Who, When, and How of Software Requirements
There is a whole process in creating quality software, so it’s a good idea to become familiar with the Software Development Life Cycle (SDLC) before starting your project. One of the components of this process is often overlooked or knowingly dismissed to save a buck. Requirement gathering and documentation is just as important as the actual coding, but there are some managers that feel since development time is so expensive, they can bypass this to stay on budget or come under. The truth is, missing this critical process component will likely cost you more in the end and reduce the quality of your software product. Here is an interesting paper on the subject by Linda Westfall of Plano Texas.

Requirements Gathering Essentials
Here is another article on requirement gathering.

∗ Component Oriented Programming
Component Oriented Programming is a great practice for system development. A great book to learn more about this is Juval Lowy’s “.NET Components”. I would urge all developers to read the first three or four chapters of this book. Many beginners to Object Oriented Programming like to inherit every object that they can. There is a strong argument and a belief among many professionals to “prefer composition over inheritance” (with valid reasoning). Component Oriented programming includes Object Oriented programming and strongly supports interface based programming. Here is a great article on the basics by Robert Rose.

Read about SDLC
In software engineering, the SDLC (System Development Life Cycle) concept underpins many kinds of software development methodologies.

∗ Design Patterns
The Gang of Four Design Patterns are a popular set of design patterns in object oriented programming. I apply these patterns whenever it makes sense and have been a great fan of them for many years.

Read about Agile Development
If you are not aware of Agile Development, it may be time to read up on it.

Convert Code between C# and VB
This is a nice tool to use to if you want to convert code from VB.NET to C# or from C# to VB.NET.

JSON to C#
Convert JSON to C# objects

XML to C#
Convert XML to C# objects

"In theory there is no difference between theory and practice, but in practice there is." ― Yogi Berra

"The key to understanding recursion is to begin by understanding recursion. The rest is easy." -- Koenig/Moo, Accelerated C++

"You should use iterative development only on projects that you want to succeed" - Martin Fowler

“Without requirements and design, programming is the art of adding bugs to an empty text file.” ― Louis Srygley

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." --Martin Fowler