Home » Author Archives: Dalip Mahal (page 2)

Author Archives: Dalip Mahal

Dalip is a principal consultant at Accelerated Development and has worked his way through all aspects of software development. He started as a software engineer and worked his way through engineering and product management.

Productive Developers are Smart and Lazy

software-development-2-logo

When I use the terms Smart, Lazy, and Developer, I mean the following: Smart as in intelligent and able to think things through (i.e. not smart-ass) Not a dreamer who never gets around to writing anything practical Lazy as in lazy-loading, that is wait to write code (i.e. not couch potato) Developer as in energetic and focused on building real-world ...

Read More »

The Programmer Productivity Paradox

software-development-2-logo

Programmers seem to be fairly productive people. You always see them typing at their desks; they chafe for meetings to finish so that they can go back to their desks and code. When asked, they will say that there is not enough time to produce the code, and the sooner they can start coding, the sooner they will be done. ...

Read More »

When BA means Bt Artist

software-development-2-logo

BA  means Business Analyst, but what makes for a good BA?  When do you have a good BA and when do you have someone who isn’t? Many projects fail at the beginning due to incomplete, inconsistent, and overly verbose analysis that then leads to incorrect project plans and projects heading in the wrong direction. Business analysis consists of all facets ...

Read More »

No Business Case == Project Failure

agile-logo

A business case comes between a bright idea for a software project and the creation of the software project. To – idea to have a project is born Tcheck – formal or informal business case Tstart – project is initiated Tend – project finishes successfully or is abandoned Not all ideas for software projects make sense.  In the yellow zone ...

Read More »

What the Heck are Non-Functional Requirements?

software-development-logo

  Simply put, if functional requirements create code that will address the needs of the end-users (customers), then non-functional requirements address the needs of the people who install, operate, and configure the code. Those people are the operations personnel and help desk personnel in whatever organization that uses your software.  Every developer needs to be aware of what those non-functional ...

Read More »

It’s not a bug, it’s…

software-development-2-logo

When does a bug become a bug? Who decides that it is a bug? How many legs does a lamb have if I say the tail is a leg?  The answer is 4, just because I say the tail is a leg does not make it a leg! Bugs should be obvious, but we say It’s not a bug, it’s ...

Read More »

Comments are for Losers

software-development-2-logo

If software development is like driving a car then comments are road signs along the way. Comments are purely informational and do NOT affect the final machine code. Imagine how much time you would waste driving in a city where road signs looked like this one. A good comment is one that reduces the development life cycle for the next ...

Read More »

Efficiency is for Losers

software-development-2-logo

Focusing on efficiency and ignoring effectiveness is the root cause of most software project failures. Effectiveness is producing the intended or expected result. Efficiency is the ability to accomplish a job with a minimum expenditure of time and effort. Effective software projects deliver code that the end users need; efficient projects deliver that code with a minimum number of resources ...

Read More »

Debuggers are for Losers

software-development-2-logo

Code defects are not planned; they are accidents that result from an inability to understand execution flow under different input conditions. But just as airbags are the last line of defense in a car, a debugger should be the last line of defense for a programmer. Defensive driving reduces or eliminates reliance on airbags.  Defensive driving is proactive, it is ...

Read More »

Polymorphism and Inheritance are Independent of Each Other

software-development-2-logo

Flexible programs focus on polymorphism and not inheritance.  Some languages focus on static type checking (C++, Java, C#) which links the concepts and reduces polymorphic opportunities. Languages that separate the concepts can allow you to focus on polymorphism and create more robust code. JavaScript, Python, Ruby, and VB.NET do not have typed variables and defer type checking to runtime. Is ...

Read More »
Do you want to know how to develop your skillset and become a ...

Subscribe to our newsletter to start Rocking right now!

To get you started we give you our best selling eBooks for FREE!
Get ready to Rock!
To download the books, please verify your email address by following the instructions found on the email we just sent you.

THANK YOU!

Close