Here is a little Maple.  Note that using "sum" on the inside causes it to find an algebraic expression for the sum over $\ell$ and using "Sum" on the outside tells it to not try to sum that algebraically over $k$.

I'll request 120 digits then round to 100 for confidence but I didn't need to. Maple increases the working precision automatically, and this is confirmed by the fact that exactly the same values are obtained if 100 digits are requested directly.

I don't know what method Maple uses but the fact that it gives the result as a complex number might be a clue.

    evalf[120](Sum((2*k+3)/((k+2)*(k+1)/2)^2
        * sum( (2*l+3)/((k+2)*(k+1)/2 + (l+2)*(l+1)/2)^2,l=0..infinity),
           k=0..infinity)):
    Z22 := evalf[100](%);
    Z22 := 4.7059056441271748413982167408282763463686149628226287913\
             07611234496885020388225363260883986399848630 + 0. I

    evalf[120](Sum((2*k+3)/((k+2)*(k+1)/2)^1
        * sum( (2*l+3)/((k+2)*(k+1)/2 + (l+2)*(l+1)/2)^3,l=0..infinity),
           k=0..infinity)):
    Z13 := evalf[100](%);
    Z13 := 1.6470471779364125793008916295858618268156925185886856043\
             46194382751557489805887318369558006800075685 + 0. I

    evalf[100](2*Z22 + 4*Z13);
    16.0000000000000000000000000000000000000000000000000000000000000\
       0000000000000000000000000000000000000 + 0. I