Home » Archives for Dalip Mahal

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.

What is software architecture?

What is software architecture? In the previous article “What is architecture?” we stated that architecture is about: Structural elements Connective elements Let us talk about these with regard to a software system.  In our next article we’ll talk about good and bad architecture. Structural elements Structural elements in software are layers that support other layers in the system: the language ...

Read More »

What is architecture?

On a regular basis we hear people talk of good and bad architecture, but what is architecture?   Before I describe software architecture, let’s see if we can come to an agreement of what architecture is.  What are the components of architecture, and what value does architecture have.   Architecture provides the structural and connective framework required for a system of components to ...

Read More »

How to avoid underestimating complexity

People involved in software projects would say that software development is about understanding complexity. What is complexity? Complexity is easy to define at a high level, but people get vague when pressed for a precise definition.  Let’s see if we can quantify the problem, then come back and define it.             Assume we need to ...

Read More »

Hidden Assumption of Agile

Agile cures common problems that we experience in software development, however, there are limitations to Agile.  It may seem like a silver bullet, but there are circumstances under which Agile is not the best choice for development, or at a minimum, not to develop the entire project. The problems with the waterfall model are well known and understood by most ...

Read More »

Ready, Fire, Aim: How most gather requirements

Connecting with your customers and delivering value depends on understanding your customer’s requirements and selling the correct product or solution that solves your customer’s problems. Commonly, the requirements gathering process is done hastily or not at all in the rush to get the sale. After all, the faster you can make the sales process go, the faster the money is ...

Read More »

Do Project Managers need Domain Experience?

Opinions vary on whether a project manager needs to have domain experience.  Certainly project managers that do not have domain experience will be the first to say that domain experience is not necessary as long as they have access to excellent subject matter experts. I would advocate a more nuanced position; that is, a project manager does not need domain experience ...

Read More »

Not using UML on Projects is Fatal

The Unified Modeling Language (UML) was adopted as a standard by the OMG in 1997, almost 20 years ago. But despite its longevity, I’m continually surprised at few organizations actually use it. Code is the ultimate model for software, but it is like the trees of a forest.  You can see a couple, but only few people can see the entire ...

Read More »

Pair Programming for Team Building

Extreme programming (XP) introduced most people to pair programming. The theory was that the sooner that code was reviewed, the more effective the review — so how much more effective can you be if you do that review right away?     Pair programming increases productivity by 3% and quality by 5% The reason it isn’t a better practice is that ...

Read More »

Accelerated Development: Team Conflict is for Losers

It is a guarantee that don’t like someone on your development team and they have behaviors or habits that you might find objectionable: Mashable talks about 45 most annoying office habits [the nest] talks about 10 Annoying Work Habits That Can Get You Fired. But as irritating as you find your co-workers, odds are: You do something that they find annoying… Annoyances ...

Read More »