Friday, 23 May 2014

Software Development and Newton's Laws of Motion

Intro

I have no idea since when the word velocity found a new home in software development, it is nevertheless popular these days. However I am pretty sure that Mr Isaac Newton would not be happy if you talk about motion without mentioning his laws.

First Law

When viewed in an inertial reference frame, an object either remains at rest or continues to move at a constant velocity, unless acted upon by an external force.

There are a lot of external forces

  • developers are fixing bugs
  • developers are adding new features
  • developers are introducing more bugs (lol)
  • business requests to cut down the operation cost
  • third party competition is changing the market
  • users are changing
  • this list goes on and on

However a team/product is either dead (therefore remains at rest) or is moving at a constant velocity (let's say generating certain amount of revenue or eating certain amount of buget per day).

Now I declare, it is against the law to talk about team velocity, because what should you do to maintain the team's velocity? Nothing, you should do nothing!

Well, that will upset most of the managers, "I'd rather my developers do something".

So we need another law.

Second Law

F = ma. The vector sum of the forces F on an object is equal to the mass m of that object multiplied by the acceleration vector a of the object.

Acceleration is the ability to change the velocity. The F is treated as a constant here, because, come on, let's be honest, your team is pretty much fix sized, unless you are Google. Your time is pretty much fixed to 24 hours per day unless you live on Mars which is slightly longer, 24.622962 hours to be exact. Now we are screwed ... there is only one variable left to play. According to second law, for a given force F, the acceleration is inversely proportional to the mass. Mass is the burden, it is going against acceloration.

Here is a short list of how to gain some mass

  • too many good-to-have features
  • too much technical debt
  • too many abstractions, layers upon layers, ORM, DAO, service, controller, view. We need all of them to get some trivial {"user_id": 123} out of that database. oh forget to mention, there is SQL, and NoSQL ...
  • too many processes
  • too many patterns, EnterprisyStrategyFactoryBuilderAdapterListenerInterceptor
  • too many communication delegations, business -> project manager -> business analyst -> team leader -> developer (add more roles at your own will)
  • too many frameworks. JavaEE, Spring, Hibernate, Struts, Bootstrap, jQuery, Angular.js, Ember.js. Dare to lookup JavaEE? There are 39 JSRs listed under JavaEE7!
  • too many servers. Web servers, relational database servers, NoSQL servers, cache servers, message queue servers, third party integration servers ...

Yet, in the end you do want to make a change, do you? If your answser is NO, grats, you can stop reading here. Even the answer is yes, you can only say so after you read the third law.

Third Law

To every action there is always opposed an equal reaction: or the mutual actions of two bodies upon each other are always equal, and directed to contrary parts.

A: "Can we remove feature XYZ? so that the codes can be greatly simplified"
R: "Please no, that is Shareholder ABC's favorite"
A: "Ooookie, nvm"

A: "Can we change to git?"
R: "Nah, zip and email is our best friend"
A: "Maybe next time"

A: "Can we upgrade java 1.4?"
R: "There are too many servers in production"
A: "Fine, let's stick to manual casting"

Aaaaah, I still want to type some more words but there is an equal reaction preventing me from doing that ... So let's call this a day.

Thanks for wasting your time reading my rants.

Happy Coding ...


Reference

  • http://en.wikipedia.org/wiki/Velocity_(software_development)
  • http://en.wikipedia.org/wiki/Newton's_laws_of_motion

31 comments:

  1. Thank You for sharing this information.
    Webixy is a best app development company in Kanpur, Delhi, India. Webixy has experience in Native Apps development and CMS Website development. We are best Mobile App development company. You can read our blog which is very good.

    ReplyDelete
  2. Thank you for sharing this information.


    Mediwapp is the best Online Medical Store and a leading Online Medicine store which sells different and most trusted products like Medicines, OTC-Products and other Medicine and Surgery Devices accross India.

    ReplyDelete
  3. tak for at dele disse oplysninger.
    Lautrop & Uhre er en bedste webside til smykkebutikker hvor du kan købe smykker med ædelsten. Her kan du købe FORGYLDT MESSING , FORGYLDT SØLV, guld

    ReplyDelete
  4. Thanks for sharing this information.

    Apptians is the Best Staffing Company in Delhi and top Resource Augmentation company in Delhi NCR, Noida, Faridabad, Gurgaon, India. Dedicated React JS Developers and React Native developers can be hired from Apptians.

    ReplyDelete
  5. Thanks for sharing this information.
    Yes Done is the best online on demand service provider in Jaipur. Get to know more about Yes Done. Contact us for getting more services at your doorstep in Jaipur.

    ReplyDelete
  6. Thanks for sharing this information.
    Pheeta is the best online shopping sites for Salwar suits for women and woman Kurti online in Jaipur, Rajasthan. Visit us at our website for more fancy and attractive dresses and Kurtas.

    ReplyDelete
  7. Thank you for sharing our information.

    Jewellery By Mitali Jain is the best website to buy artificial jewellery online and Jain Jewellery in Jaipur. They sell fancy and attractive products like Earrings, Rings, Necklaces, Headgears, Bracelets, Mask and Glass Chains, Bookmark Jewellery, Gift Cards and many more items like this.

    ReplyDelete
  8. Thank you for sharing our information.

    Kuxtal Market es el mejor Supermercado sustentable en Mérida, México que ofrece entrega a domicilio de productos como nuevos productos, carnes y lacteos, comida vegana, cuidado personal, cerveza artesanal, despensay, frutas y verduras y muchos más artículos.

    ReplyDelete
  9. Apptians is the best digital marketing agency in Singapore providing digital marketing services to its customers. We are top digital marketing company Singapore. We do SEO, SMO, PPC campaign and email marketing.

    Apptians is a leading SEO Agency in Singapore and Website Development Company in Singapore providing custom web design and development, magento website development, and ecommerce website development. We are also one of the reputed software companies in Singapore dealing in Mobile app development including Android applications, iOS applications and Windows applications. We are trusted SEO Agency in Singapore. We are doing SEO, SMO, email marketing, digital marketing and running PPC campaigns for our customers.

    ReplyDelete
  10. Apptians is the best digital marketing agency in toronto,montreal,ontario,Vancouver,Canada providing digital marketing services to its customers. We are top digital marketing company Canada. We do SEO, SMO, PPC campaign and email marketing.

    Apptians is a leading SEO Agency in toronto,montreal,ontario,Vancouver,Canada and Website Development Company in Canada providing custom web design and development, magento website development, and ecommerce website development. We are also one of the reputed software companies in Canada dealing in Mobile app development including Android applications, iOS applications and Windows applications. We are trusted SEO Agency in toronto,montreal,ontario,Vancouver,Canada. We are doing SEO, SMO, email marketing, digital marketing and running PPC campaigns for our customers.

    ReplyDelete
  11. Thanks for sharing this information.
    Biharapps is the best website design agency and mobile app development company in Dubai, UAE. Top andoid app developers and iOS app developers , web designers in Dubai, UAE and Software development company in Dubai, UAE. We are Digital Marketing Agency and SEO Company in UAE.

    ReplyDelete
  12. Thanks for sharing this information.
    Biharapps is the best website design agency and mobile app development company in Nepal. Top andoid app developers and iOS app developers , web designers in Nepal and Software development company in Nepal. We are Digital Marketing Agency and SEO Company in Nepal.

    ReplyDelete
  13. Thanks for sharing this information.
    Biharapps is the best website design agency and mobile app development company in London, United Kingdom. Top andoid app developers and iOS app developers , web designers in London, United Kingdom and Software development company in london, United Kingdom. We are Digital Marketing Agency and SEO Company in United Kingdom.

    ReplyDelete
  14. Apptians is the best digital marketing agency in Delhi NCR, Noida, Gurgaon, Faridabad, India providing digital marketing services to its customers. We are top digital marketing company in New Delhi NCR. We do SEO, SMO, PPC campaign and email marketing.

    Apptians is a leading SEO Agency in Delhi, Noida, Gurgaon, Faridabad, NCR, India and Website Development Company in New Delhi, India providing custom web design and development, magento website development, and ecommerce website development. We are also one of the reputed software companies in Delhi NCR dealing in Mobile app development including Android applications, iOS applications and Windows applications. We are trusted SEO Agency in Delhi, India. We are doing SEO, SMO, email marketing, digital marketing and running PPC campaigns for our customers.

    ReplyDelete
  15. Thank You for sharing this information.
    Global Trade Plaza is the B2B Marketplace in India. We are the India's largest b2b portal with 100% verified and Genuine Leads. Global Trade Plaza is the Top wholesale b2b marketplace and the Best B2B Lead Generation Company . Ask Your Business related Queries to Global Trade Plaza best b2b marketplace platform, b2b online marketplace,

    ReplyDelete
  16. Thanks for sharing this information

    Shop jewellery from best Jewelry Manufacturer in jaipur , Buy jaipur bangles online, rajasthani silver jewellery, Silver Kundan Ring, 925 silver earring, pearl bunch necklace, silver kundan jewellery, 925 silver jewellery wholesale manufacturer,artificial kundan wholesaler of jewellery manufacturers in jaipur at SilverMountain Jaipur.

    we are on the top search from following keywords:
    garnet and sterling silver rings hathful design in silver, gold plated silver temple jewellery, online jewellery shopping in jaipur, silver wholesale jewellery jaipur, silver shops near me, intimate jewelry wholesale, oxidised jewellery jaipur wholesale, sterling silver earring, silver mountain jewellery, mountain jewellery, silver wholesale jewellery jaipur rajasthan, silver jewellery jaipur
    new maang tikka

    ReplyDelete
  17. ACE Infra is the Best Construction Material Wholesaler in Jaipur and a leading Aggregate and Concrete Supplier in Jaipur, Rajasthan. We provide different Wholesale Building Material like M-Sand, P-Sand, Grit, Dust, brick, Bajri, TMT, ACC Block, Concrete Paver and Block as well as Cement.

    ReplyDelete
  18. Wow, what a nice blog. I have read it and really impressed by its writing.

    Meerahini is the best site to buy Jaipur Salwar Suits Online and Hand block Kurta sets. We have straight suit sets, anarkali suit sets, kurta and plazzo sets, and Sharara Sets. We have premium clothing collection of Rang and Utsav.

    ReplyDelete
  19. Wao its a great blog.
    Best Jewellery Wholesaler in Jaipur is Ratnavali. It is a best place to buy silver jewelry Jaipur, Jaipuri gold jewellery, gemstone figures in Jaipur, Rajasthan. We have skilled craftsmanship who made best designer collection of jewelry for you.

    ReplyDelete