From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Random Ramblings on LabVIEW Design

Community Browser
Labels
cancel
Showing results for 
Search instead for 
Did you mean: 

Coupling and cohesion apply to the real world too..

swatts
Active Participant

Wotcha LV Peeps,

Hope you are doing good, doing work (if you want) and healthy.

 

If you are familiar with my witterings you will be aware of the terms coupling and cohesion. Because my brain is attuned to thinking in this fashion I've noticed that they apply to other things too....

 

One skill you get by default if you do what I do is that it makes you a pretty efficient project manager. (I get paid when I finish a project, it focusses your mind!)

 

I noticed something the other day when presented with a Gantt Chart .... I always work hard to remove things from the critical path. So rather than the chart below.

Gantt.png

I much prefer this next chart, where possible.

Gantt2.png

Because I've decoupled the tasks from each other they are no longer on the critical path. If needed I could start task 4 before task 1 or even better get someone else to do it. The links are therefore coupling between tasks. How would we break those links? We could design the task to be easy to define and has limited and clear inputs and outputs.

 

This brings us to the point of coupling and cohesion, it was so that software could be broken into modules that could have multiple people working on them.

 

Another example is when organising events, one task is to organise the catering. It might be nice to provide the staff with GDevCon badged attire. This simple requirement has a lot of implications. We are coupling the organisation of the catering to the individuals in the catering staff. In essence we have become too involved in the internal workings of the catering company. It's much better to either not be involved in what the catering staff wear or to clarify in the contract that we want GDevCon badged uniform and provide clear requirements and leave it up to the catering company to organise.

 

So we are using cohesion to decouple ourselves from the internals of the catering company, this could be considered using a contract to hide the internal workings of the catering company.... Information Hiding!

 

All the best 

 

Steve


Opportunity to learn from experienced developers / entrepeneurs (Fab,Joerg and Brian amongst them):
DSH Pragmatic Software Development Workshop


Random Ramblings Index
My Profile

Comments