background preloader

Lean software development

Lean software development
Lean software development (LSD) is a translation of lean manufacturing and lean IT principles and practices to the software development domain. Adapted from the Toyota Production System,[1] a pro-lean subculture is emerging from within the Agile community. Origin[edit] The term lean software development originated in a book by the same name, written by Mary Poppendieck and Tom Poppendieck.[2] The book presents the traditional lean principles in a modified form, as well as a set of 22 tools and compares the tools to agile practices. Lean principles[edit] Lean development can be summarized by seven principles, very close in concept to lean manufacturing principles: Eliminate waste[edit] In order to eliminate waste, one should be able to recognize it. A value stream mapping technique is used to identify waste. Amplify learning[edit] Software development is a continuous learning process with the additional challenge of development teams and end product sizes. Decide as late as possible[edit] Related:  Methods

Scrum (software development) Agile software development framework Approaches to coordinating the work of multiple scrum teams in larger organizations include large-scale scrum (LeSS), scaled agile framework (SAFe), scrum of scrums, and Scrum@Scale, the Nexus, among others. Many of the terms used in Scrum are typically written with leading capitals (e.g., Scrum Master, Daily Scrum). Organize further meetings to demonstrate the solution to key stakeholders who were not present at a sprint review.Define and announce releases.Communicate delivery and team status.Share progress during governance meetings.Share RAID (Risks, Assumptions, Issues and Dependencies) with stakeholders.Negotiate priorities, scope, funding, and schedule.Ensure that the product backlog is visible, transparent and clear. The development team is responsible for delivering potentially releasable product increments every sprint. A daily scrum in the computing room. All members of the development team come prepared. At the sprint review, the team:

Integration Developer News: Architecting the Intelligent Enterprise with SOA, BPM, Enterprise Architecture and Cloud Computing Kanban (development) This article is about the process management and improvement method. For the lean manufacturing process, see Kanban. Kanban is a method for managing knowledge work with an emphasis on just-in-time delivery while not overloading the team members. In this approach, the process, from definition of a task to its delivery to the customer, is displayed for participants to see. Team members pull work from a queue. Kanban in the context of software development can mean a visual process-management system that tells what to produce, when to produce it, and how much to produce - inspired by the Toyota Production System[1] and by Lean manufacturing.[2] The name 'Kanban' originates from Japanese[看板], and translates roughly as "signboard" or "billboard". Kanban is rooted in four basic principles: Start with existing process The Kanban method does not prescribe a specific set of roles or process steps. Agree to pursue incremental, evolutionary change Leadership at all levels

Architecture ARPA I3 Un article de Wikipédia, l'encyclopédie libre. Dépendances fonctionnelles de l'architecture ARPA I3. D'après :Hull, R., King, R.: Reference architecture for the intelligent integration of information. Rapport technique (ARPA), 1995. Il s'agit d'une architecture générique des solutions de médiation conçue par l’ARPA (Advanced Research Projects Agency) du département de la défense américaine[1]. Cette architecture baptisée I3 (Intelligent Integration of Information) est un développement de celle proposée par Wiederhold[2] dans laquelle le terme « médiateur » est un terme générique désignant tout composant d’une solution de médiation. L’architecture I3 se divise en cinq classes de services; les services de coordination, les services de management, les services d’intégration et de transformation sémantique (SIT), les services d’extensions fonctionnelles et les services d’adaptation. Les services de coordination (C)[modifier | modifier le code] Les entrées sont :

Matrix management Strictly speaking, matrix management is the practice of managing individuals with more than one reporting line (in a matrix organization structure), but it is also commonly used to describe managing cross functional, cross business group and other forms of working that cross the traditional vertical business units – often silos - of function and geography. What is it?[edit] It is a type of organizational structure in which people with similar skills are pooled for work assignments, resulting in more than one manager (sometimes referred to as solid line and dotted line reports, in reference to traditional business organization charts). For example, all engineers may be in one engineering department and report to an engineering manager, but these same engineers may be assigned to different projects and report to a different engineering manager or a project manager while working on that project. The matrix for project management[edit] Management advantages and disadvantages[edit] R.

Lean integration Lean integration is a management system that emphasizes creating value for customers, continuous improvement, and eliminating waste as a sustainable data integration and system integration practice. Lean integration has parallels with other lean disciplines such as lean manufacturing, lean IT, and lean software development. It is a specialized collection of tools and techniques that address the unique challenges associated with seamlessly combining information and processes from systems that were independently developed, are based on incompatible data models, and remain independently managed, to achieve a cohesive holistic operation. History[edit] Lean integration was first introduced by John Schmidt in a series of blog articles starting in January 2009 entitled 10 Weeks To Lean Integration.[1] This was followed by a white paper[2] on the topic in April 2009 and the book Lean Integration, An Integration Factory Approach to Business Agility [3] in May 2010. Overview[edit] See also[edit]

Lean IT Lean IT is the extension of lean manufacturing and lean services principles to the development and management of information technology (IT) products and services. Its central concern, applied in the context of IT, is the elimination of waste, where waste is work that adds no value to a product or service.[1] Although lean principles are generally well established and have broad applicability, their extension from manufacturing to IT is only just emerging.[2] Indeed, Lean IT poses significant challenges for practitioners while raising the promise of no less significant benefits. Extension of Lean to IT[edit] Moreover, the migration by businesses across virtually every industry sector towards greater use of online or e-business services suggests a likely intensified interest in Lean IT as the IT function becomes intrinsic to businesses’ primary activities of delivering value to their customers. Types of Waste in Lean IT[edit] Lean IT Principles[edit] Value Streams[edit] Flow[edit] COBIT[edit]

Single-Minute Exchange of Die History[edit] The concept arose in the late 1950s and early 1960s,[2] when Shigeo Shingo was consulting to a variety of companies including Toyota, and was contemplating their inability to eliminate bottlenecks at car body-molding presses. The bottlenecks were caused by long tool changeover times which drove up production lot sizes. The economic lot size is calculated from the ratio of actual production time and the 'change-over' time; which is the time taken to stop production of a product and start production of the same, or another, product. If change-over takes a long time then the lost production due to change-overs drives up the cost of the actual production itself. Toyota's additional problem was that land costs in Japan are very high and therefore it was very expensive to store its vehicles. The "economic lot size" (or EOQ, Economic Order Quantity) is a well-known, and heavily debated,[3] manufacturing concept. Example[edit] Effects of implementation[edit] Implementation[edit]

DevOps ou le Lean appliqué aux activités IT du développement à la production On a maintenant l’habitude de voir des principes du Lean Management derrière beaucoup des pratiques Agiles. Par exemple : Plus intéressant est l’exercice de voir les bonnes pratiques DevOps comme des instanciations du Lean Management aux activités de livraison, intégration, tests, déploiement, suivi du run. Les analogies et principes sous-jacents du Lean pouvant alors nous aider à mieux comprendre la « magie » des pratiques DevOps ou même à en imaginer de nouvelles ! Les pratiques DevOps comme instanciation du Lean Jidoka, l’autonomation Le Jidoka est le premier pilier du Système de Production Toyota. En IT, DevOps poursuit la même démarche en poussant au maximum l’utilisation des robots d’intégration continue, de déploiement automatique, de configuration ou de supervision. Just in Time, le juste à temps La comparaison avec DevOps saute aux yeux lorsqu’on cherche à mettre en production plus régulièrement de plus petits lots de fonctionnalité. Kaizen, l’amélioration continue Conclusion

Scrum sans itérations ? « Scrum sans itérations ? » un concept étrange que d’imaginer une méthode itérative sans itérations … Et pourtant nombre de blogs de l’écosystème agile présentent Kanban, un processus par définition non itératif, comme une évolution intéressante pour les projets Scrum. L’objectif de cet article est donc d’illustrer comment ces deux approches, d’apparence contradictoires, peuvent se compléter pour le plus grand bonheur de nos utilisateurs ! L’article s’adresse à des lecteurs déjà sensibilisés à Scrum, si vous ne connaissez pas ce kit méthodologique, Wikipedia est un bon point d’entrée. Quelques illustrations de cet article ont été récupérées de l’excellent blog de Henrik Kniberg. Les limites de Scrum Lorsqu’une équipe devient mature sur l’utilisation de Scrum (et ceci peut prendre du temps !) La première frustration était l’impossibilité de changer le backlog de Sprint lors du Sprint. « It’s not a bug, it’s a feature » me direz-vous ! Et devinez quoi ? Kanban à la rescousse