Human Factors of XR: Using Human Factors to Design XR Systems
Introduction to Lean Software Development
1. Introduction to Lean Software Development Michael Vax pragmatic dreamer michael.vax@gmail.com
2. Origins of Lean James Womack Source: http://www.strategosinc.com/
3. Lean Principles in Software Development Eliminate Waste Build Quality In Learn Before Commitment Deliver Fast Empower Team See the Whole Mary Poppendieck
7. Inventory Inventory in s/w is a partially done work: Unimplemented requirements Unsynchronized code Untested code Undocumented code Undeployed code It is expensive to manage inventory and Software Inventory contains perishable goods
8.
9. Stop the line mentalityCost of Bad Quality Cost more to add functionality Support cost skyrocket Free services giveaways Unhappy customers Long release cycle Missed release dates Wasted time on managing defect queues Bad morale Buggy product is a liability not an asset
10. 1 Predictable Release Time 3 New Functionality 2 Difficult to modify code, New bugs are introduced 3 No visible progress can be achieved 1 2 Time Poor Quality Costs Money Burndown Chart … the velocity of turning requirements into potentially shippable increments of functionality. The core functionality line shows the impact of continued poor quality practices from the era of opacity. Although poor quality may be necessary at the start of a company, it is not a sustainable practice.
16. Phantom of 100% Utilization 100% In a complex unpredictable environment 100% utilization decreases throughput as there are no resources to react to unexpected events
18. Pull Schedule Team takes (pull) features from prioritized backlog Allows for quick response in case of emergencies Empowers the team and frees a lot of management time
19. Empower Team In software development, the most valuable assets are the people involvedEngaged, thinking people provide the most sustainable competitive advantage. Teams Thrive on Pride, Commitment, Trust, and ApplauseWhat makes a team? Members are mutually committed to achieve a common goal. Provide Effective LeadershipEffective teams have effective leaders who bring out the best in the team.
21. Self-Organizing Teams Self-organization does not mean that workers instead of managers engineer an organization design. It does not mean letting people do whatever they want to do. It means that management commits to guiding the evolution of behaviors that emerge from the interaction of independent agents instead of specifying in advance what effective behavior is. ~Philip Anderson, The Biology of Business Although project teams are largely on their own, they are not uncontrolled. Management establishes enough checkpoints to prevent instability, ambiguity, and tension from turning into chaos. At the same time, management avoids the kind of rigid control that impairs creativity and spontaneity. ~Takeuchi & Nonaka
22. Optimize the Whole The overall capacity of the system should be balanced against the capacity of the bottleneck
23. Misbalanced Flow Requirements Development Architecture CTO Director of Product management Architectural Council VP of Development (Dev, QA, RE)
24. Cost Accounting Cost accounting was created to accurately manage men and machines used in assembly lines Main goal is to reduce cost Assumes that local efficiency leads to global efficiency Cost of labor is treated as a variable cost Assembly line workers were easily replaceable. Not true for software
25. Throughput Accounting Net Profit = Throughput – Operating Expenses Throughput Accounting measures how effectively the system moves the investment value through the system and converts it to the Throughput
26. Want to Learn More? http://www.poppendieck.com/ michael.vax@gmail.com 778-668-9134
Notes de l'éditeur
Eli Whitney is most famous as the inventor of the cotton gin ( cotton gin is a machine that quickly and easily separates the cotton fibers from the seeds). However, the gin was a minor accomplishment compared to his perfection of interchangeable parts. Whitney developed this about 1799 when he took a contract from the U.S. Army for the manufacture of 10,000 muskets at the unbelievably low price of $13.40 each.For the next 100 years manufacturers primarily concerned themselves with individual technologies. During this time our system of engineering drawings developed, modern machine tools were perfected and large scale processes such as the Bessemer process for making steel held the center of attention.Frederick W. Taylor began to look at individual workers and work methods. The result was Time Study and standardized work. Taylor was a controversial figure. He called his ideas Scientific Management. The concept of applying science to management was sound but Taylor simply ignored the behavioral sciences. In addition, he had a peculiar attitude towards factory workers.Frank Gilbreth (Cheaper By The Dozen) added Motion Study and invented Process Charting. Process charts focused attention on all work elements including those non-value added elements which normally occur between the "official" elements. Lillian Gilbreth brought psychology into the mix by studying the motivations of workers and how attitudes affected the outcome of a process. There were, of course, many other contributors. These were the people who originated the idea of "eliminating waste", a key tenet of JIT and Lean Manufacturing.The Ford SystemAnd then, there was Henry Ford. Starting about 1910, Ford and his right-hand-man, Charles E. Sorensen, fashioned the first comprehensive Manufacturing Strategy. They took all the elements of a manufacturing system-- people, machines, tooling, and products-- and arranged them in a continuous system for manufacturing the Model T automobile. Ford was so incredibly successful he quickly became one of the world's richest men and put the world on wheels. Ford is considered by many to be the first practitioner of Just In Time and Lean Manufacturing.The Allied victory and the massive quantities of material behind it (see "A Bomber An Hour") caught the attention of Japanese industrialists. They studied American production methods with particular attention to Ford practices and the Statistical Quality Control practices of Ishikawa, Edwards Deming, and Joseph Juran.At Toyota Motor Company, TaichiiOhno and Shigeo Shingo, began to incorporate Ford production and other techniques into an approach called Toyota Production System orJust In Time . They recognized the central role of inventory.The Toyota people also recognized that the Ford system had contradictions and shortcomings, particularly with respect to employees. With General Douglas MacAurthur actively promoting labor unions in the occupation years, Ford's harsh attitudes and demeaning job structures were unworkable in post-war Japan. They were also unworkable in the American context, but that would not be evident for some years. America's "Greatest Generation" carried over attitudes from the Great Depression that made the system work in spite of its defects.Toyota soon discovered that factory workers had far more to contribute than just muscle power. This discovery probably originated in the Quality Circle movement. Ishikawa, Deming, and Juran all made major contributions to the quality movement. It culminated in team development and cellular manufacturing.Another key discovery involved product variety. The Ford system was built around a single, never changing product. It did not cope well with multiple or new products. Shingo, at Ohno's suggestion, went to work on the setup and changeover problem. Reducing setups to minutes and seconds allowed small batches and an almost continuous flow like the original Ford concept. It introduced a flexibility that Henry Ford thought he did not need.All of this took place between about 1949 and 1975. To some extent it spread to other Japanese companies. When the productivity and quality gains became evident to the outside world, American executives traveled to Japan to study it. They brought back, mostly, the superficial aspects like kanban cards and quality circles. Most early attempts to emulate Toyota failed because they were not integrated into a complete system and because few understood the underlying principles.World Class ManufacturingBy the 1980's some American manufacturers, such as Omark Industries, General Electric and Kawasaki (Lincoln,Nebraska) were achieving success. Consultants took up the campaign and acronyms sprouted like weeds: World Class Manufacturing (WCM), Stockless Production, Continuous Flow Manufacturing (CFM), and many other names all referred to systems that were, essentially, Toyota Production. Gradually, a knowledge and experience base developed and success stories became more frequent. Lean ManufacturingIn 1990 James Womack wrote a book called "The Machine That Changed The World". Womack's book was a straightforward account of the history of automobile manufacturing combined with a study of Japanese, American, and European automotive assembly plants. What was new was a phrase-- "Lean Manufacturing."Lean Manufacturing caught the imagination of manufacturing people in many countries. Lean implementations are now commonplace. The knowledge and experience base is expanding rapidly.The essential elements of Lean Manufacturing are described at our page "Principles of Lean Manufacturing." They do not substantially differ from the techniques developed by Ohno, Shingo and the people at Toyota. The application in any specific factory does change. Just as many firms copied Ford techniques in slavish and unthinking ways, many firms copy Toyota's techniques in slavish and unthinking ways and with poor results. Our series of articles on implementation includes a "Mental Model" to assist the thinking process and guidance on strategy and planning.There is no cookbook for manufacturing. Each firm has its own unique set of products, processes, people, and history. While certain principles may be immutable, their application is not. Manufacturing Strategy will always be a difficult, uncertain, and individual process. Strategy ("The General's Art") is still, largely, an art. But, that should not prevent us from bringing the available science to bear on the problem.
Requirements that will never be implementedUnnecessary documentationOvercomplicated functionalityOvercomplicated designManaging defect queues Polishing estimations
Cannot avoid it sometimes due to specialized expertise. Need to recognize it and work on reducing a need for sharing resources.
Share partially complete design informationUse modulesUse interfaces, parameters, abstractionsSeparate concernsEncapsulate variationsDefer implementation of future capabilities Avoid extra features
This equation gives us a clear idea of how to do that. One way to decrease cycle time is get things done faster increase the average completion rate. This usually means spending more money. If we don't have extra money to spend, the other way to reduce cycle time is to reduce the number of things in process. This takes a lot of intellectual fortitude, but it usually doesn't require much money.[5]Variation and UtilizationLittle's Law applies to stable systems, but there are a couple of things that make systems unstable. First there is variation stuff happens. Variation is often dealt with by reducing the size of batches moving through the system. For example, many stores have check-out lanes for "10 items or less" to reduce the variation in checkout time for that line. Let's say you have some code to integrate into a system. If it's six weeks' worth of work, you can be sure there will be a lot of problems. But if it's only 60 minutes of work, the amount of stuff that can go wrong is limited. If you have large projects, schedule variation will be enormous. Small projects will exhibit considerably less schedule variation.Decreasing variability earlier in the process has larger impact than decreasing variability late in the process
Google 80% utilizationHigh utilization is another thing that makes systems unstable. This is obvious to anyone who has ever been caught in a traffic jam. Once the utilization of the road goes above about 80 percent, the speed of the traffic starts to slow down. Add a few more cars and pretty soon you are moving at a crawl. When operations managers see their servers running at 80 percent capacity at peak times, they know that response time is beginning to suffer, and they quickly get more servers.
Another way to minimize inventory
Zara keeps its capacity not fully loaded to be able to change product line every two weeks