Join the DZone community and get the full member experience.Join For Free
[Latest Guide] Ship faster because you know more, not because you are rushing. Get actionable insights from 7 million commits and 85,000+ software engineers, to increase your team's velocity. Brought to you in partnership with GitPrime.
Lean thinking describes seven classical sources of waste:
- Overproduction: Making stuff that nobody buys
- Over-processing: Creating stuff that is more fancy than what the customer wants
- Transport: Moving stuff from one place to another in order to create it or give it to a customer
- Motion: Expending unneeded effort while creating stuff
- Defects: Having to redo work because it wasn’t done right the first time
- Inventory: Storing stuff waiting to be worked on more
- Waiting: The time stuff is just sitting there, waiting to be worked on
Often an eight is added: Unused talent
Here are the seven wastes of enterprise information application architecture:
- Overproduction: Any code that is not executed by an end user. In the extreme case, many applications contain code that is not “reachable” and so can never be executed. In other cases, it may be functionality that is available, but never used
- Over-processing: Do you really need to scale to a million concurrent users for a company internal application? Do you really need an application that is used get data for monthly reports to have 98% uptime?
- Transport: How many classes in the code touches a single piece of data before it’s displayed to the user (or stored in the database (or sent to another system)). How many systems does a piece of data touch before it’s done processing?
- Motion: How many times do you transform data into another representation?
- Defects: Do you accept data that may be in error? How do you deal with old data that contains errors?
- Inventory: I don’t know… maybe are you deleting obsolete data?
- Waiting: Do you have batch processes that run daily? ‘Nuff said
(As an aside about transport. Did you know: In C#, it’s requires substantially less work to save and find data with EntityFramework than it does to call a web service? If system A “helps” system B by provide a data access service, system A is actually causing more work for system B. It’s not just an investment with low ROI, it’s got negative ROI!)
Remember: Not all production is overproduction and not all transport is wasted transport. But much is.
Published at DZone with permission of Johannes Brodwall , DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.