WANTED: Seeking Single Agile Knowledge Development Tool-setBrad Appleton
by Brad Appleton,
Presented August 2009 at at Agile 2009 Conference; Chicago, IL USA
What tools and capabilities are necessary to apply Agile development concepts+practices (such as refactoring, TDD, CI, etc.) to all knowledge-artifacts? (not just source-code).
Four major causes of difficulty in gathering system requirement and business requirements, Reasons projects were
abandoned.Three Generations of System Development:1. Direct Contact 2. Business Analyst 3.Team Based.
Trustworthy Transparency and Lean TraceabilityBrad Appleton
This document summarizes Brad Appleton's presentation on traceability at the COMPSAC 2006 conference. It discusses lean traceability and achieving transparency while minimizing waste. It covers topics like the seven wastes of software development, facets of traceability, orders of ignorance, values of agility, drivers for traceability, objectives of traceability, principles of lean development, and comparing waterfall and iterative lifecycles. The overarching goals are achieving trustworthy transparency through lean practices while responding quickly to change.
The document discusses the role of architects in software development organizations. It defines an architect as someone who provides an abstract description of a system across its lifecycle. Effective architects communicate well, maintain an abstract view while also being hands-on, and work as part of a "council" rather than alone to leverage peer feedback. Architectural styles need to balance completeness with flexibility to withstand changing technologies over multiple eras. Overall the role requires both a broad technical expertise and an understanding of both technical and business perspectives.
Agile Architecture and Modeling - Where are we TodayGary Pedretti
Ideals, Misinterpretations, Backlash, a New Hope - A talk on where we've been and where we're going with agile application architecture. As presented at Toronto Agile and Software 2014 on 11/10/2014.
This document discusses signs that can indicate whether a software development team is good or bad. Some red flags include developers complaining about lack of work or not understanding the codebase. A good process would make tasks and locations clear for new developers. Unit testing and issue tracking are also signs of a mature team, but many teams don't implement them properly or see their value. Overall, a good team is one where knowledge and skills continually grow to meet new challenges.
WANTED: Seeking Single Agile Knowledge Development Tool-setBrad Appleton
by Brad Appleton,
Presented August 2009 at at Agile 2009 Conference; Chicago, IL USA
What tools and capabilities are necessary to apply Agile development concepts+practices (such as refactoring, TDD, CI, etc.) to all knowledge-artifacts? (not just source-code).
Four major causes of difficulty in gathering system requirement and business requirements, Reasons projects were
abandoned.Three Generations of System Development:1. Direct Contact 2. Business Analyst 3.Team Based.
Trustworthy Transparency and Lean TraceabilityBrad Appleton
This document summarizes Brad Appleton's presentation on traceability at the COMPSAC 2006 conference. It discusses lean traceability and achieving transparency while minimizing waste. It covers topics like the seven wastes of software development, facets of traceability, orders of ignorance, values of agility, drivers for traceability, objectives of traceability, principles of lean development, and comparing waterfall and iterative lifecycles. The overarching goals are achieving trustworthy transparency through lean practices while responding quickly to change.
The document discusses the role of architects in software development organizations. It defines an architect as someone who provides an abstract description of a system across its lifecycle. Effective architects communicate well, maintain an abstract view while also being hands-on, and work as part of a "council" rather than alone to leverage peer feedback. Architectural styles need to balance completeness with flexibility to withstand changing technologies over multiple eras. Overall the role requires both a broad technical expertise and an understanding of both technical and business perspectives.
Agile Architecture and Modeling - Where are we TodayGary Pedretti
Ideals, Misinterpretations, Backlash, a New Hope - A talk on where we've been and where we're going with agile application architecture. As presented at Toronto Agile and Software 2014 on 11/10/2014.
This document discusses signs that can indicate whether a software development team is good or bad. Some red flags include developers complaining about lack of work or not understanding the codebase. A good process would make tasks and locations clear for new developers. Unit testing and issue tracking are also signs of a mature team, but many teams don't implement them properly or see their value. Overall, a good team is one where knowledge and skills continually grow to meet new challenges.
Software Outsourcing: Pitfalls and Best PracticesAMC Bridge
This document discusses best practices for software outsourcing based on the author's experience. It outlines when outsourcing is appropriate, typical outsourced project types, and common reasons for project failure related to business, technical, cultural, and process mismatches. The document recommends evaluating an outsourcing partner's domain expertise, development processes, and communication approach. It also provides a case study of a successful long-term outsourcing relationship between a tech company and an offshore software development team.
- Domain expertise needs to be documented before implementation begins, as a consultant with 10-15 years of experience in the domain helped a project that had been struggling for six months make progress within four months.
- User empathy is important, as simple features like grouping names were found very useful by users despite being easy for developers to implement.
- Content should be called content rather than data, as this shifts perspectives to prioritize things like user involvement and content creation tools.
- Architectures need to be understandable to executives in order to guide a project successfully rather than resulting in a "rough ride".
Does Agile Enterprise Architecture = Agile + Enterprise Architecture?Jason Bloomberg
Does Agile EA Equal Agile Plus EA?
Confusion over the word “agile” is actually one of the challenges with Enterprise Architecture (EA) today. So, what does "agile" -- or in some quarters, "Agile" -- mean today, and how do we apply Agile to architecture? Most people use the phrase "Agile Architecture" to refer to software architecture appropriate for Agile software development projects -- not EA at all.
Nevertheless, there is a growing Agile EA movement that extends the core principles of the Agile manifesto to EA more broadly. This approach deemphasizes the role of frameworks and other artifacts, and instead treats the enterprise as a complex adaptive system.
Agile EA thus leverages complex systems theory, including the role of emergent properties, to rethink how organizations innovate and otherwise deal with change within the context of market and regulatory constraints.
Attendees of this session will:
* Gain clear differentiators between Agile software architecture and Agile EA
* Understand the role of complex systems theory to the practice of Agile EA
* Learn how Bloomberg Agile Architecture(tm) can support organizations' agility requirements in the future
This document summarizes an Agile 2 conference presentation about the next iteration of Agile. It discusses criticisms of how Agile has been implemented, focusing on issues like lack of documentation, QA, and architecture. It also notes problems with tribalism around specific frameworks. The presentation team proposes principles for Agile 2 that emphasize balance, leadership, experimentation, and openness. The goal is to bring Agile back to its roots while addressing real-world problems.
Often as developers we are stuck evaluating only the negative artifacts of technical debt. However, what if we looked at the debt metaphor from the point-of-view of our business executives. Would we reach the same conclusions?
In this presentation, I demonstrate that technical debt is not always something to be avoided. In fact, when debt is incurred responsibly, it can become a powerful tool that improves the communication between stakeholders and technologists.
As we inspect this concept, I offer rules and guidelines for evaluating when debt is good and when it is toxic. Once we have a firm understanding of this framework, I present strategies for prudently measuring, paying, and using debt. At the end of the presentation, both developers and business stakeholders will gain a new vocabulary for describing project decisions that will maximize the collaboration between both teams.
This document provides an overview of building simple yet powerful organizational applications by separating data and logic. It discusses how early applications focused more on logic but over time became more data-centric. The presentation argues that organizations should treat logic (such as rules, policies and procedures) as the primary aspect by developing centralized knowledge applications like Thumbmetrics that can then be accessed by various simple data-focused applications. This architecture ensures applications remain simple and that organizational expertise determines the logic rather than any single vendor application.
The document discusses applying agile principles to business intelligence (BI) projects. It provides an overview of agile BI and a maturity model for assessing teams on their ability to collaborate, manage technical architecture, and follow engineering practices that enable agility. The document recommends teams evaluate their current state in these areas and select an agile methodology to begin implementing agile BI practices through a kickoff and continuous inspection and adaptation process.
Applying agile and lean principles to the governance of software and systems ...IBM Rational software
This document discusses applying lean principles to governance of software development projects. It outlines 18 practices that define a lean approach, including embedding governance into tools, processes, and guidance to make it easy for teams to stay on track. The practices bring lean thinking used in supply chain management into governance of software development. Some key principles discussed are eliminating waste, focusing on value, understanding workflow and dependencies, and making governance processes transparent and collaborative rather than command and control.
Business Value of Agile Methods: Using Return on InvestmentDavid Rico
This document provides an overview of measuring the business value of agile methods using return on investment. It discusses sources of business value from agile methods based on surveys. It also outlines various measures that can be used to calculate the business value and return on investment of agile methods, including costs, benefits, benefit-cost ratio, return on investment, net present value, and breakeven point.
The document discusses a plugin architecture approach for building enterprise applications. It describes two approaches - one where the core is aware of plugin objects, and one where the core acts as a rules repository and plugins communicate through proxies. It outlines responsibilities for both plugins and the core, such as plugins declaring themselves, implementing core interfaces, and calling back the core, and the core validating plugins, maintaining identities and rules. The approach allows for distributed and independent development while retaining centralized control and sharing of resources through the core.
Swarming: How a new approach to support can save DevOps teams from 3rd-line t...Jon Stevens-Hall
The document discusses how swarming, a new approach to support, can help DevOps teams avoid being stuck in "third-line ticket hell". It describes how BMC replaced the traditional tiered support structure with swarming, where issues are addressed by a collaborative network of specialists. Key benefits of swarming at BMC included improved resolution times, higher customer satisfaction, and freeing resources for new offerings. The document also notes how swarming aligns well with DevOps approaches and could help service management practices evolve to better support DevOps teams.
This document provides an introduction to agile principles and practices. It discusses that agile values responding to change, continuous delivery, collaboration between teams, and delivering working software frequently through iterative development. It outlines three common agile practices: continuous feedback through testing, test-driven development, and continuous integration. The document emphasizes failing fast and delivering minimum viable products to adapt to changing needs.
This document discusses balancing upfront planning and emergence in enterprise architecture. It addresses finding the right balance between anticipating needs through planning and adapting to emerging needs. The key is focusing on the goal of maximizing value delivery and ROI through the appropriate level of planning based on the context. Emergence is defined as harnessing the collective intelligence of an organization through empowering individuals and enabling novel solutions to emerge from interactions between agents rather than top-down control. Fostering emergence involves attending to relationships and enabling small changes to lead to large effects.
What can DesignOps do for you? by Carol Smith at TLMUX in MontrealCarol Smith
You have probably seen the terms DesignOps and/or ResearchOps float by in your social media queue. These teams make designing (and researching) at scale beautifully efficient and successful. Carol steps through how these teams work, the types of activities they perform, situations they are helpful for, and ways you can leverage these types of programs in your organization. Carol will share examples from her experiences and stories from other organizations that are using Design Ops to do effective design at scale.
Presented at Tout le monde UX in Montreal, Quebec, Canada on February 28, 2019. http://toutlemonde-ux.com/
Can We Do Agile? Barriers to Agile AdoptionTechWell
“Can we do agile?” is a question often asked by individuals enviously looking at the impressive results reported by other organizations that adopted agile practices. What they are usually concerned about are the commonly perceived barriers to agile adoption: large scale, legacy architecture and tools; and demanding governance and compliance practices. Yet, despite these perceived barriers, many organizations with these challenges do agile. Others wonder why, after all their training and shiny new tools, they can’t do agile. What they’re not seeing are the real barriers to agile adoption—the social barriers that impede fast decision cycles. Steve Adolph introduces a fast decision cycle model, explains why social factors are the dominant determinant of agile success, and provides a configuration guide to help participants identify and evaluate these social impediments. Using a case study of a “high ceremony” organization, you and Steve work together to find ways to resolve impediments to doing agile.
Bertrand Meyer presents an overview of agile methods and provides an assessment of their merits and shortcomings. He discusses key agile concepts like the agile manifesto and principles. Meyer then evaluates what he sees as the good aspects of agile such as frequent iterations and emphasis on working code, as well as the ugly aspects like rejection of upfront requirements and analysis. Finally, he cautions that proper assessment of agile methods requires avoiding rhetorical devices and unverifiable claims often used in agile discourse.
This keynote was presented by Rebecca Wirfs-Brock at Explore DDD 2017.
The ouroboros (οὐροβόρος in the original Greek) is an image or archetype of a serpent shaped into a circle, clinging to or devouring its own tail in an endless cycle of self-destruction, self-creation, and self-renewal. Becoming a good software designer sometimes feels like that.
Over time, we build up our personal toolkit of design heuristics. To grow as designers, we need to do more than simply design and implement working software. We need to examine and reflect on our work, put our own spin on the advice of experts, and continue to learn better ways of designing.
Presentation from Microsoft Tech.Ed Australia and Tech.Ed New Zealand Sept 2009. It discusses the role of the Solution and Application Architect in the successful delivery of software projects. It is also applicable to Infrastructure Architects. The role of the Agile approach to software development is also discussed and issues highlighted.
Contemporary Software Engineering Practices Together With EnterpriseKenan Sevindik
The document discusses various software engineering concepts and technologies. It covers topics like prototyping, refactoring, piecemeal growth vs big bang development, agile manifesto principles, design patterns, test driven development, object oriented principles, aspect oriented programming, evolution of enterprise Java technologies like Spring and Hibernate frameworks. It provides recommendations for books related to these topics.
Continuous Delivery is just the beginning. The same tools can help agile software development easily in the form of Documentation Pipeline. Lightning talk in Tampere Goes Agile 2015 explains what Documentation Pipeline is and how to implement it.
This document outlines the costs and pricing strategy for a construction project. The costs include materials like brick, cement, iron and others totaling 8000+12000+22000+18000=60000 TL, with additional costs of 7500 TL for technical service and 13600 TL for workers, bringing the total cost per unit to 90000 TL. With a profit margin of 55000 TL, the price per unit is set at 145000 TL, resulting in a profit margin percentage of 42.56%.
Software Outsourcing: Pitfalls and Best PracticesAMC Bridge
This document discusses best practices for software outsourcing based on the author's experience. It outlines when outsourcing is appropriate, typical outsourced project types, and common reasons for project failure related to business, technical, cultural, and process mismatches. The document recommends evaluating an outsourcing partner's domain expertise, development processes, and communication approach. It also provides a case study of a successful long-term outsourcing relationship between a tech company and an offshore software development team.
- Domain expertise needs to be documented before implementation begins, as a consultant with 10-15 years of experience in the domain helped a project that had been struggling for six months make progress within four months.
- User empathy is important, as simple features like grouping names were found very useful by users despite being easy for developers to implement.
- Content should be called content rather than data, as this shifts perspectives to prioritize things like user involvement and content creation tools.
- Architectures need to be understandable to executives in order to guide a project successfully rather than resulting in a "rough ride".
Does Agile Enterprise Architecture = Agile + Enterprise Architecture?Jason Bloomberg
Does Agile EA Equal Agile Plus EA?
Confusion over the word “agile” is actually one of the challenges with Enterprise Architecture (EA) today. So, what does "agile" -- or in some quarters, "Agile" -- mean today, and how do we apply Agile to architecture? Most people use the phrase "Agile Architecture" to refer to software architecture appropriate for Agile software development projects -- not EA at all.
Nevertheless, there is a growing Agile EA movement that extends the core principles of the Agile manifesto to EA more broadly. This approach deemphasizes the role of frameworks and other artifacts, and instead treats the enterprise as a complex adaptive system.
Agile EA thus leverages complex systems theory, including the role of emergent properties, to rethink how organizations innovate and otherwise deal with change within the context of market and regulatory constraints.
Attendees of this session will:
* Gain clear differentiators between Agile software architecture and Agile EA
* Understand the role of complex systems theory to the practice of Agile EA
* Learn how Bloomberg Agile Architecture(tm) can support organizations' agility requirements in the future
This document summarizes an Agile 2 conference presentation about the next iteration of Agile. It discusses criticisms of how Agile has been implemented, focusing on issues like lack of documentation, QA, and architecture. It also notes problems with tribalism around specific frameworks. The presentation team proposes principles for Agile 2 that emphasize balance, leadership, experimentation, and openness. The goal is to bring Agile back to its roots while addressing real-world problems.
Often as developers we are stuck evaluating only the negative artifacts of technical debt. However, what if we looked at the debt metaphor from the point-of-view of our business executives. Would we reach the same conclusions?
In this presentation, I demonstrate that technical debt is not always something to be avoided. In fact, when debt is incurred responsibly, it can become a powerful tool that improves the communication between stakeholders and technologists.
As we inspect this concept, I offer rules and guidelines for evaluating when debt is good and when it is toxic. Once we have a firm understanding of this framework, I present strategies for prudently measuring, paying, and using debt. At the end of the presentation, both developers and business stakeholders will gain a new vocabulary for describing project decisions that will maximize the collaboration between both teams.
This document provides an overview of building simple yet powerful organizational applications by separating data and logic. It discusses how early applications focused more on logic but over time became more data-centric. The presentation argues that organizations should treat logic (such as rules, policies and procedures) as the primary aspect by developing centralized knowledge applications like Thumbmetrics that can then be accessed by various simple data-focused applications. This architecture ensures applications remain simple and that organizational expertise determines the logic rather than any single vendor application.
The document discusses applying agile principles to business intelligence (BI) projects. It provides an overview of agile BI and a maturity model for assessing teams on their ability to collaborate, manage technical architecture, and follow engineering practices that enable agility. The document recommends teams evaluate their current state in these areas and select an agile methodology to begin implementing agile BI practices through a kickoff and continuous inspection and adaptation process.
Applying agile and lean principles to the governance of software and systems ...IBM Rational software
This document discusses applying lean principles to governance of software development projects. It outlines 18 practices that define a lean approach, including embedding governance into tools, processes, and guidance to make it easy for teams to stay on track. The practices bring lean thinking used in supply chain management into governance of software development. Some key principles discussed are eliminating waste, focusing on value, understanding workflow and dependencies, and making governance processes transparent and collaborative rather than command and control.
Business Value of Agile Methods: Using Return on InvestmentDavid Rico
This document provides an overview of measuring the business value of agile methods using return on investment. It discusses sources of business value from agile methods based on surveys. It also outlines various measures that can be used to calculate the business value and return on investment of agile methods, including costs, benefits, benefit-cost ratio, return on investment, net present value, and breakeven point.
The document discusses a plugin architecture approach for building enterprise applications. It describes two approaches - one where the core is aware of plugin objects, and one where the core acts as a rules repository and plugins communicate through proxies. It outlines responsibilities for both plugins and the core, such as plugins declaring themselves, implementing core interfaces, and calling back the core, and the core validating plugins, maintaining identities and rules. The approach allows for distributed and independent development while retaining centralized control and sharing of resources through the core.
Swarming: How a new approach to support can save DevOps teams from 3rd-line t...Jon Stevens-Hall
The document discusses how swarming, a new approach to support, can help DevOps teams avoid being stuck in "third-line ticket hell". It describes how BMC replaced the traditional tiered support structure with swarming, where issues are addressed by a collaborative network of specialists. Key benefits of swarming at BMC included improved resolution times, higher customer satisfaction, and freeing resources for new offerings. The document also notes how swarming aligns well with DevOps approaches and could help service management practices evolve to better support DevOps teams.
This document provides an introduction to agile principles and practices. It discusses that agile values responding to change, continuous delivery, collaboration between teams, and delivering working software frequently through iterative development. It outlines three common agile practices: continuous feedback through testing, test-driven development, and continuous integration. The document emphasizes failing fast and delivering minimum viable products to adapt to changing needs.
This document discusses balancing upfront planning and emergence in enterprise architecture. It addresses finding the right balance between anticipating needs through planning and adapting to emerging needs. The key is focusing on the goal of maximizing value delivery and ROI through the appropriate level of planning based on the context. Emergence is defined as harnessing the collective intelligence of an organization through empowering individuals and enabling novel solutions to emerge from interactions between agents rather than top-down control. Fostering emergence involves attending to relationships and enabling small changes to lead to large effects.
What can DesignOps do for you? by Carol Smith at TLMUX in MontrealCarol Smith
You have probably seen the terms DesignOps and/or ResearchOps float by in your social media queue. These teams make designing (and researching) at scale beautifully efficient and successful. Carol steps through how these teams work, the types of activities they perform, situations they are helpful for, and ways you can leverage these types of programs in your organization. Carol will share examples from her experiences and stories from other organizations that are using Design Ops to do effective design at scale.
Presented at Tout le monde UX in Montreal, Quebec, Canada on February 28, 2019. http://toutlemonde-ux.com/
Can We Do Agile? Barriers to Agile AdoptionTechWell
“Can we do agile?” is a question often asked by individuals enviously looking at the impressive results reported by other organizations that adopted agile practices. What they are usually concerned about are the commonly perceived barriers to agile adoption: large scale, legacy architecture and tools; and demanding governance and compliance practices. Yet, despite these perceived barriers, many organizations with these challenges do agile. Others wonder why, after all their training and shiny new tools, they can’t do agile. What they’re not seeing are the real barriers to agile adoption—the social barriers that impede fast decision cycles. Steve Adolph introduces a fast decision cycle model, explains why social factors are the dominant determinant of agile success, and provides a configuration guide to help participants identify and evaluate these social impediments. Using a case study of a “high ceremony” organization, you and Steve work together to find ways to resolve impediments to doing agile.
Bertrand Meyer presents an overview of agile methods and provides an assessment of their merits and shortcomings. He discusses key agile concepts like the agile manifesto and principles. Meyer then evaluates what he sees as the good aspects of agile such as frequent iterations and emphasis on working code, as well as the ugly aspects like rejection of upfront requirements and analysis. Finally, he cautions that proper assessment of agile methods requires avoiding rhetorical devices and unverifiable claims often used in agile discourse.
This keynote was presented by Rebecca Wirfs-Brock at Explore DDD 2017.
The ouroboros (οὐροβόρος in the original Greek) is an image or archetype of a serpent shaped into a circle, clinging to or devouring its own tail in an endless cycle of self-destruction, self-creation, and self-renewal. Becoming a good software designer sometimes feels like that.
Over time, we build up our personal toolkit of design heuristics. To grow as designers, we need to do more than simply design and implement working software. We need to examine and reflect on our work, put our own spin on the advice of experts, and continue to learn better ways of designing.
Presentation from Microsoft Tech.Ed Australia and Tech.Ed New Zealand Sept 2009. It discusses the role of the Solution and Application Architect in the successful delivery of software projects. It is also applicable to Infrastructure Architects. The role of the Agile approach to software development is also discussed and issues highlighted.
Contemporary Software Engineering Practices Together With EnterpriseKenan Sevindik
The document discusses various software engineering concepts and technologies. It covers topics like prototyping, refactoring, piecemeal growth vs big bang development, agile manifesto principles, design patterns, test driven development, object oriented principles, aspect oriented programming, evolution of enterprise Java technologies like Spring and Hibernate frameworks. It provides recommendations for books related to these topics.
Continuous Delivery is just the beginning. The same tools can help agile software development easily in the form of Documentation Pipeline. Lightning talk in Tampere Goes Agile 2015 explains what Documentation Pipeline is and how to implement it.
This document outlines the costs and pricing strategy for a construction project. The costs include materials like brick, cement, iron and others totaling 8000+12000+22000+18000=60000 TL, with additional costs of 7500 TL for technical service and 13600 TL for workers, bringing the total cost per unit to 90000 TL. With a profit margin of 55000 TL, the price per unit is set at 145000 TL, resulting in a profit margin percentage of 42.56%.
The operations and logistics of the business will be managed by two head managers who will run the day-to-day activities. Payment will primarily be in cash up front but credit is also available through a sister finance company. Production will depend on the type of project but simple ones will be done in-house. Employees will be hired to assist since one person cannot do everything. Delivery of products to customers will be handled by the company's own vehicles and drivers. Delivery times may be longer for farther locations but speedy delivery is still a priority. The business will be run from the main headquarters but also occasionally from branch office locations.
The operations and logistics of the business will be managed by two head managers who will run the day-to-day activities. Payment will primarily be in cash up front but credit is also available through a sister finance company. Production will depend on the type of project but simple ones will be done in-house. Employees will be hired to assist since one person cannot do everything. Delivery of products to customers will be handled by the company's own vehicles and drivers. Delivery times may be longer for farther locations but speedy delivery is still a priority. The business will be run from the main headquarters but also occasionally from branch office locations.
The operations and logistics of the business will be managed by two head managers who will run the day-to-day activities. Payment will primarily be in cash up front but credit is also available through a sister finance company. Production will depend on the type of project but simple products will be made in-house. Employees will be hired to assist since one person cannot do everything. Delivery vehicles and drivers are ready to deliver products to customers, though delivery times may be longer for farther locations but speedy delivery is still a priority. The business will run from the main headquarters but also branch offices.
PwC provides market study services to help clients develop successful market entry strategies. They conduct rigorous market research to understand industry trends, market segments, competition, and customer needs. Their experts then use this research to identify the best market entry options such as greenfield projects, acquisitions, or partnerships. Clients benefit from comprehensive analyses and detailed implementation plans tailored to their goals.
This document discusses using a trust-based contract model for agile public sector projects. It begins by defining what makes a project truly agile and why fixed budgets, schedules, and scopes don't work. It argues for replacing contracts based on fear and sanctions with those based on mutual trust and understanding between the client and vendor.
Two case studies are presented: a large, high-profile project with the National Land Survey of Finland and a smaller project with the Finnish National Board of Education. Both used hourly contracts, transparency, and flexibility. The public sector is risk-averse but agile requires managing change, so trust is needed. Public source code also provides accountability.
Recommendations include maximum transparency, simple contracts
The market appears to be seasonal and dependent on external factors like the weather. Construction demand is higher in winter and lower in summer due to weather conditions impacting work. While the core service or product remains steady, customers emphasize high-quality service. External conditions like rain and snow resistance of materials affect construction efficiency seasonally.
This location summary describes two potential filming locations for a student film project. The first location is outside of Oaks Park High School, which would portray the main character Jodie leaving her job as a teacher. This location provides easy access and transport of equipment. It was chosen to show Jodie as friendly and trustworthy before her kidnapping in the school car park, allowing the concept to be filmed without travelling as far as the initial location planned in Ilford Car Park. The second part of the document provides inside views of the first location for consideration.
SWOT analysis is a structured planning method used to evaluate the strengths, weaknesses, opportunities, and threats for a project or business. It involves identifying internal strengths and weaknesses as well as external opportunities and threats. The analysis can then inform steps to achieve objectives by matching strengths to opportunities or converting weaknesses and threats into strengths or opportunities. SWOT analysis can be used by organizations of any type to aid in decision making and planning.
Development of a new indexing technique for XML document retrievalAmjad Ali
The document proposes a new indexing technique for XML document retrieval that addresses issues with existing techniques. It represents an XML document as a tree structure with nodes corresponding to elements, attributes, and content. Nodes are labeled with start/end positions and level to allow efficient updates by leaving gaps between labels. The technique permits fast retrieval of ancestor-descendant and parent-child relationships without recomputing the index on updates. Future work could include indexing comments and handling two separate indices for updates and queries.
This document discusses environmental risk assessment (ERA). It defines ERA as a generic term for tools and techniques used to gather available information about environmental risks and make judgments about them. The document outlines key steps in ERA, including hazard identification, exposure assessment, and risk estimation. It also discusses challenges like uncertainty, different levels of ERA, and the importance of risk communication. Overall, the document provides an introduction and overview of ERA, its relationship to environmental impact assessment, and considerations for effectively implementing ERA.
- Many software projects fail to be completed on time and on budget due to unrealistic deadlines, poor estimation of tasks, and changing requirements. Architectural flaws and lack of domain knowledge also contribute to project failures.
- Common problems include inadequate testing, poor code quality, lack of documentation, and developers not wanting to work on code they did not write themselves. Traditional software engineering practices have not changed much over the past 30 years.
- A better approach focuses on rapid feedback through small iterative releases, collaboration with customers, responding flexibly to change, and empowering self-organizing teams. Continuous integration and testing also help catch problems early.
General introduction to agile practices like Scrum and Kanban. Also covers what situations Agile is best at, what situations Agile doesn't help with, and what an Agile team should look like. This deck is a general intro to Agile for OpenSource Connections clients.
This document provides an outline for an agile software architecture workshop. It begins by defining software architecture and describing key concepts like requirements, design principles, and architectural patterns. It emphasizes that architecture should enable agility by traveling light with just enough design. The document proposes techniques for agile architecture like architectural katas, risk analysis, and evolving the architecture over time with experiments. It concludes by providing an example architectural pitch for a restaurant ordering system that emphasizes high-level design, risks, and timelines.
A keynote presentation comparing/contrasting old & new SDLC methodologies that was used to kick off an internal agile meetup focused on standardizing on the Atlassian suite of SDLC tools.
Scaling Autonomy in a FinTech Unicorn - WeAreDevelopers 2019Alvar Lumberg
TransferWise has grown from 10 to 300 product engineers in 6 years. When building a new product, nobody has the answers. Scaling decision-making is all-important. This talk explores some key tenets and painful learnings of product engineering in autonomous teams.
How to Plan for Hyper Growth Success by Slack Software EngineerProduct School
The document summarizes a presentation given by a Slack software engineer on how to plan for success during periods of hyper growth. It discusses common challenges startups face like rapid scaling, communication issues, and lack of experience. It provides a case study of challenges Slack faced with an MDM project and lessons learned. The key messages are to provide strong leadership through documentation like a living product specification, use concise user stories, and over-organize to avoid issues as a company scales rapidly.
User Experience Design + Agile: The Good, The Bad, and the UglyJoshua Randall
There's a rumor going around that user experience design (UXD) and Agile don't play well together. In this talk, I'll explain that they do -- most of the time! Learn about the historical reasons for why these two disciplines sometimes butt heads, as well as the good/bad/ugly of various approaches to integrating design and development.
Who says that if you are a developer, you stay a developer for the rest of your work life?
Who says that if you are a Senior developer, you have all the skills to become a Project Manager?
The aim of my Master Thesis is giving a general overview about the Project Management and how the profession of Project Manager should not be undervalued in a Team especially if we speak about Virtual Context like distributed teams or remote working.
I will discuss the nowadays state of the art technique, trying to understand which one best meets the requirements of an IT project.
I will also try to expose the limitation of Traditional Management but also the limitation of brand new technique like Agile.
The document discusses the challenges of traditional project management and introduces an agile approach called project inception. It outlines the goals of project inception, which are to define the project goal, create an initial project plan, and assess feasibility. It also discusses establishing product vision, customer needs, and technical goals during inception. The document provides guidance on splitting projects into problem and solution domains, creating a product backlog, and planning releases and iterations using an agile approach to help projects get started in a more effective manner.
Software Outsourcing: Pitfalls and Best PracticesSitrusLLC
When to outsource (and when not to)
Typical projects
Key issues with outsourcing
Most common reasons projects fail
Best practices
Questions to ask your potential partner
importance of resources allocation in formal method of software engineering ...abdulrafaychaudhry
This document discusses key concepts related to project management including resource allocation, software risks, differences between products and projects, discount factors, net present value, and net profit.
The main points are:
1) Resource allocation in project management is important for planning, scheduling, and controlling workload to improve team effectiveness. It involves identifying and tracking resources like budget, tools, and time.
2) The top five software risks are inherent schedule flaws, requirements inflation, employee turnover, specification breakdown, and poor productivity. Agile methods aim to mitigate these risks through practices like iterative planning and prioritization.
3) The key difference between a product and project is that a product is manufactured and sold while a project is built to
Jilles is a freelance software developer and consultant based in Germany. The document discusses challenges with distributed software teams, including magnified communication issues. It advocates for keeping team sizes small to minimize dependencies and encourage asynchronous workflows to avoid bottlenecks. Overall, the document emphasizes that while distributed teams introduce new complexities, many of the same software engineering principles still apply.
Secrets of going codeless - How to build enterprise apps without codingNewton Day Uploads
The document discusses methods for building enterprise applications without coding, known as codeless development or CAAD (Computer Aided Applications Development). It describes how CAAD uses pre-built components and templates to create applications through a point-and-click interface, removing the need for extensive programming. The methodology involves four phases - plan, develop, release, and review. Key aspects of the CAAD process include defining the application purpose and requirements, prototyping the design, user testing iterations, and ongoing maintenance after release. Site constructs provide predefined user interface elements to help bridge communication gaps between technical and non-technical users.
Agile Architecture: Ideals, History, and a New HopeGary Pedretti
This document summarizes Gary Pedretti's presentation on Agile Architecture. It begins by defining architecture and discussing the ideals and principles of Agile Architecture, which come from the Agile Manifesto and ideas from Kent Beck, Martin Fowler, and Scott Ambler. It then discusses common misunderstandings, like thinking Agile means no planning or documentation. This has led to a backlash where some think heavy planning is needed. However, the presentation offers a new hope through tools like CRC cards and sacrificial architectures that align with Agile principles. It emphasizes communication, modeling, and organizational transformation to successfully adopt Agile Architecture.
The document discusses several challenges for implementing agile practices in complex projects. It emphasizes the importance of having the right product owner and manager who understand agile principles and can help organize cross-functional teams. Establishing a knowledge base and continuous integration are also highlighted as important for facilitating collaboration across distributed teams working on evolving products.
The document discusses common pitfalls organizations face when adopting agile processes. It notes that without discipline, agile approaches may fail due to lack of closure on work items and endless scope changes. It also highlights challenges with testing, changes in team roles and responsibilities, and difficulties adjusting working styles to more collaborative ways of working. Critical success factors include training, experience adopting agile, and support from experienced practitioners.
This document summarizes the experience of Tribune Technology in adopting Agile methodologies like Scrum. It describes how the organization consolidated different IT teams across properties into centralized teams in 2008. An initial attempt to adopt Scrum for all projects led to issues with too many projects, lack of dedicated resources, and treating all project types the same. Over time, the organization learned that Scrum is best for software development and not all project types. Standards and tools were introduced to provide more structure. The organization realized Scrum is not a silver bullet and they need to prioritize the business needs, not just backlogs. Dedicated team members and travel for distributed teams are also important factors for success.
Agile design focuses on responding quickly to change, prioritizing customer needs, and designing systems that can evolve over time through continuous feedback and incremental changes. Key practices include minimizing upfront design, designing for reversibility and feedback, vertically integrating work in short cycles, and distributing design decisions across self-organizing teams. The goal is to safely deliver value while learning through doing rather than extensive pre-planning.
Agile concepts for quality and process engineers for slideshareYuval Yeret
This document contains information about Yuval Yeret, including that he is the CTO of AgileSparks and a Kanban/Agile consultant. It discusses various Agile and Lean concepts like embracing uncertainty, delivering value through working software frequently, empowering teams, and adapting processes through retrospectives. The document advocates applying Agile principles not just to products but also to how teams work and emphasizes the need to consider context when selecting practices.
The document discusses the security issues with smart locks. It begins by describing the typical features of consumer and enterprise smart locks. It then outlines many potential attack vectors for smart locks, including physical attacks, attacks on the key-lock communication, the lock firmware, and the mobile apps and vendor backend systems. The document cautions that securing all these aspects of a smart lock system would require significant engineering resources. It recommends that critical areas not be locked with consumer smart locks due to insecurity, and that established vendors with a strong security reputation be considered instead.
Hacker Games & DevSecOps presentation from Tallinnec 27.3. 2018 meetup. How to make DevSecOps more fun by playing hacker games? What can you learn from Hack The Box?
Disobey 2018 presentation about using the software developer as an attack vector to compromise end users and protected systems. Covers different ways the deployment pipeline or the developer can be attacked.
This document discusses common ways that web application security fails and provides examples. It begins with an agenda that covers how to build secure software, examples of real security failures, and a demonstration of security testing. The document then discusses best practices for secure design and implementation, including input validation, as well as examples of real-world attacks like SQL injection, XSS, and logic attacks. It concludes by providing further online resources for topics like the OWASP Top 10 vulnerabilities and security scanning tools.
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/building-and-scaling-ai-applications-with-the-nx-ai-manager-a-presentation-from-network-optix/
Robin van Emden, Senior Director of Data Science at Network Optix, presents the “Building and Scaling AI Applications with the Nx AI Manager,” tutorial at the May 2024 Embedded Vision Summit.
In this presentation, van Emden covers the basics of scaling edge AI solutions using the Nx tool kit. He emphasizes the process of developing AI models and deploying them globally. He also showcases the conversion of AI models and the creation of effective edge AI pipelines, with a focus on pre-processing, model conversion, selecting the appropriate inference engine for the target hardware and post-processing.
van Emden shows how Nx can simplify the developer’s life and facilitate a rapid transition from concept to production-ready applications.He provides valuable insights into developing scalable and efficient edge AI solutions, with a strong focus on practical implementation.
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAG’s diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of “hallucinations” and improving the overall customer journey.
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slackshyamraj55
Discover the seamless integration of RPA (Robotic Process Automation), COMPOSER, and APM with AWS IDP enhanced with Slack notifications. Explore how these technologies converge to streamline workflows, optimize performance, and ensure secure access, all while leveraging the power of AWS IDP and real-time communication via Slack notifications.
UiPath Test Automation using UiPath Test Suite series, part 6DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 6. In this session, we will cover Test Automation with generative AI and Open AI.
UiPath Test Automation with generative AI and Open AI webinar offers an in-depth exploration of leveraging cutting-edge technologies for test automation within the UiPath platform. Attendees will delve into the integration of generative AI, a test automation solution, with Open AI advanced natural language processing capabilities.
Throughout the session, participants will discover how this synergy empowers testers to automate repetitive tasks, enhance testing accuracy, and expedite the software testing life cycle. Topics covered include the seamless integration process, practical use cases, and the benefits of harnessing AI-driven automation for UiPath testing initiatives. By attending this webinar, testers, and automation professionals can gain valuable insights into harnessing the power of AI to optimize their test automation workflows within the UiPath ecosystem, ultimately driving efficiency and quality in software development processes.
What will you get from this session?
1. Insights into integrating generative AI.
2. Understanding how this integration enhances test automation within the UiPath platform
3. Practical demonstrations
4. Exploration of real-world use cases illustrating the benefits of AI-driven test automation for UiPath
Topics covered:
What is generative AI
Test Automation with generative AI and Open AI.
UiPath integration with generative AI
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!SOFTTECHHUB
As the digital landscape continually evolves, operating systems play a critical role in shaping user experiences and productivity. The launch of Nitrux Linux 3.5.0 marks a significant milestone, offering a robust alternative to traditional systems such as Windows 11. This article delves into the essence of Nitrux Linux 3.5.0, exploring its unique features, advantages, and how it stands as a compelling choice for both casual users and tech enthusiasts.
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc
How does your privacy program stack up against your peers? What challenges are privacy teams tackling and prioritizing in 2024?
In the fifth annual Global Privacy Benchmarks Survey, we asked over 1,800 global privacy professionals and business executives to share their perspectives on the current state of privacy inside and outside of their organizations. This year’s report focused on emerging areas of importance for privacy and compliance professionals, including considerations and implications of Artificial Intelligence (AI) technologies, building brand trust, and different approaches for achieving higher privacy competence scores.
See how organizational priorities and strategic approaches to data security and privacy are evolving around the globe.
This webinar will review:
- The top 10 privacy insights from the fifth annual Global Privacy Benchmarks Survey
- The top challenges for privacy leaders, practitioners, and organizations in 2024
- Key themes to consider in developing and maintaining your privacy program
Full-RAG: A modern architecture for hyper-personalizationZilliz
Mike Del Balso, CEO & Co-Founder at Tecton, presents "Full RAG," a novel approach to AI recommendation systems, aiming to push beyond the limitations of traditional models through a deep integration of contextual insights and real-time data, leveraging the Retrieval-Augmented Generation architecture. This talk will outline Full RAG's potential to significantly enhance personalization, address engineering challenges such as data management and model training, and introduce data enrichment with reranking as a key solution. Attendees will gain crucial insights into the importance of hyperpersonalization in AI, the capabilities of Full RAG for advanced personalization, and strategies for managing complex data integrations for deploying cutting-edge AI solutions.
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
UiPath Test Automation using UiPath Test Suite series, part 5DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 5. In this session, we will cover CI/CD with devops.
Topics covered:
CI/CD with in UiPath
End-to-end overview of CI/CD pipeline with Azure devops
Speaker:
Lyndsey Byblow, Test Suite Sales Engineer @ UiPath, Inc.
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Agilelessons scanagile-final 2013
1. ANTTI VIRTANEN
+358 44 507 0050
antti.virtanen@solita.fi
Pieces of the Big Agile Puzzle problems and solutions
11.11.2013
2. Agenda
1.
The context and background
1.
2.
3.
4.
5.
6.
2.
Fundamental principles to follow
1.
2.
3.
4.
Ammunition for ad hominem arguments
The projects we will talk about
Lean and agile
What is a big agile project (our context)
Some relevant human limitations
Things they didn‟t teach you at the university
The foundation you need
Some unsatisfactory solutions
Actual problems and applying the principles
QA and throwing stones
4. Short background
About me
Programmer and a jack of all trades for some time.
Hobbyist -> Professional developer -> Researcher -> Developer ->
Architect
About Solita
250 employees. Enough to make serious things happen.
Growing, succeeding, profitable, constantly improving.
Expert at making complex tailored business software.
Serious capacity also at BI/DW, integration, consulting and UX.
5. The projects (in TOP-3 for Solita)
ERP (2007-2010)
Kirre (2010-2013)
Multiple teams
Yes. Also multi-site.
Yes. (multi-site)
Long build times
Hours :-(
Semi-solved.
Quality pressures
Yes. Delayed much.
Extreme. Delayed a a bit.
DB tables (oper.)
Approx. 800
Approx. 300
Codebase LOC
About 1 million
About 300k
Parallel work?
No.
Yes,after a fashion.
Happy developers?
No.. :-(
Yes.. mostly
Complex domain?
No, but unfamiliar.
Yes. And unfamiliar.
6. More about the ERP project
Solita‟s “death march” project
Unrealistic timetable.
Arrogance on our part.
A Pyrrhic victory
We possess a certain amount of sisu.
There were no good books or
guides to follow.
My reason for being here today.
Picture: Sisukas Nainen @ youtube
7. Kirre, the second big one..
Kirre keeps track of all land property ownership in Finland.
Problems would make Big Money very angry.
Failure in this project would have been fatal to Solita as a company.
Keys to success
Sisu and stubborness again. Defeat does not exist in this dojo.
Less arrogance. Hired professional coaches.
Books had been written. Studied a lot.
Not brute-forcing. Reshaped “process” totally.
This feels like a real victory.
There were issues, but this is something I can be proud of.
8. Agile and lean.
“Lean architecture and Agile feature development are
not about working harder. They are about working
„smarter‟ in the academic or traditional computer
science senses of the word „smart.‟”
Coplien, Lean Architecture
9. Big project
What is different?
Why can‟t humans cope with it?
What new skills are required
10. What is a big project? How is it different?
Bigger system poses technical challenges
Longer build times, slower test runs, complex deployments
Too many details.
Some documentation is required.
People issues
Multiple teams -> management and communication challenge.
Treating people as resources does not work.
Training new people is seriously expensive.
Motivation will falter after three years with no production
deployment.
11. Human limitations
Some well-understood limits
Context-switching is not free.
Eight hours per day available for work. At most.
Communication is unreliable, unpredictable and time-consuming.
There are limits to handling complexity
Social limitations and issues
There is no ”team” of 25 people.
Team formation is tricky
We are quite irrational
Rational choice is an illusion
We are geared towards short-term profits and instant rewards.
12. Engineering is not enough
Programming
Marketing
Systems thinking
UI design
Psychology
Mathematics
Testing
Philosophy
Drama and acting
We value things on the left.. in a big project things on the right even more!
13. Fundamental principles
These are simple principles. But not easy.
Decoupling
Composition over monolithic ideas
Avoid up-front decisions
Separation of concerns
Creating MVPs
14. Parallelism is the paramount concern
Teams move simultaneously toward a shared goal
A team must have a subgoal (purpose)
Do not hinder with accidental obstacles
Pull value, don‟t push (be lean)
Single PO or synchronization is push.
Pushing does not truly scale.
Central authority is also a risk factor.
15. Avoid monoliths,
favor composition
You can build a huge monolith in parallel…
It‟s a design and engineering decision
Functional programming
OS products and frameworks often
Decoupling functional specifications in a moment..
16. Avoid up-front decisions
When is the ”last responsible moment”?
Who knows.. but choosing technology up-front is too early
Pushing the moment further away:
1.
2.
3.
Paper prototypes. (sketching function)
Initial boundaries and API (Form follows function)
Iterate and write some code. (live form)
(For this path I recommend Coplien‟s book Lean
Architecture.)
17. Separation of concerns
Avoid leaking implementation details
External API – UI – data model
Tool selection
A big project does have very special needs!
Automate everything (that DevOps thing). Composable tools.
Rethinking tools
Maven is a repository, not a build tool.
Jenkins is UI for cron, not a CI tool.
18. Aim for MVP at all levels
You absolutely must postpone features.
But which ones are nice-to-have ?
You need feedback early on
Create a minimal PoC implementation
Apply this to programming, design, specifications etc.
A ”big picture” is too big to see
The MVP/prototype makes it clear as a side-effect!
20. ”Solutions” that don‟t address the fundamentals
Technological miracles
Decoupling and separation of concerns (SOA, REST , ESB)
Opinionated frameworks (Rails)
Management Tools
”Hiding” complexity (BPML, TOGAF, MDM)
Simplified recipes
You can‟t ”Teach Yourself Lean in 21 Days”! Preposterous!
To be fair, some of these have value..
But you really can’t solve a human problem with
technological magic tricks!
21. Principles in real world
(What did we actually learn?)
Conditions of greedy selection no longer hold for the backlog
Decoupling of functional specifications
Normal form in relational database considered harmful
Focus on results, not tasks
Teams around functionality, not layers and technology
Leadership is not management
22. How big is the elephant?
Three ways to search the problem space:
Depth-first (to measure complexity and risk)
Breadth-first (to get an overview)
Explorative mapping (black art, you may get interesting
findings)
I highly recommend balancing between all three
in a big project. Early on!
23. Backlog priorization
What is the most valuable item?
The most risky one?
-> reduce risk
The one with most direct value to end-user (lean maxim)?
-> customer value
Getting a core workflow done in it‟s entirety?
-> feedback and reduction of risk
In a big project it is a good to rethink the criteria.
24. Decoupling functional specs (case Kirre)
Three features: Work queue, search and application handling
Separate from the user‟s point of view
So parallel work comes naturally?
Why not? Some bad reasons
The database is a monolithic normal form design.
The dev tools do not support this.
The build pipeline tool doesn‟t allow it.
The specification team (the ”architects” or ”PO-team”) is a separate silo.
We had limited success decoupling these things. But it is
definitely the right direction to go!
25. The relational database posse is lacking
The RDBMS mindset (for waterfalls)
A static view of the end state.
The ”normal form” is by definition a monolith!
Relational model is not broken per se
But ”agile developer” is not served by the vendors.
Normal form doesn‟t deal with uncertainty and agile.
Big projects are especially vulnerable to these issues!
Part of the NoSQL hype is a result of this attitude.
26. All models are wrong. Some are useful.
(actually we retain normal form here)
Application
type
Application
group
Property
Decision
Application
Queue_vie
w
Queue
Assignee
UI for
queue
handling
Views are great!
• Early feedback
• Parallel development
• Hidden complexity
• Decoupling
27. Everyone. Must. Focus. On. Results.
Bad projects (tasks)
Good projects (goals)
The elite (results)
What is the next task today?
What are you going to work on
today?
What are you going to accomplish
today?
How many tasks left in the backlog?
Is the invoice integration ready?
Does the user have all essential
invoicing functionality?
No - when will it be ready?
No - when will it be deployed?
Are we doing what was specified in the
contract?
Are we heading to the right
direction?
Are we using the resources (time and
money) in the best possible way?
Did we bill all the hours?
Is the customer happy?
What is the most valuable thing to do
next?
28. The amazing Kirre project tool (data migration)
Team‟s purpose
Test plan
Short term plan
(Kanban style)
The purpose statement helped maintain focus and prioritize backlog.
backlog
29. About team organization
Tempting the dark side is
Integrations – back-end –UI…
Where‟s the end-user? Where‟s the use-case?
Ok, use-case/scenario based then?
You need that cross-functional team. Got one?
You cannot force team formation!
The use-case based view is the right way. But not easy.
After many changes we reinstated the integration team.
30. Leadershipment (case Kirre)
A single project manager, about twenty people
A bottleneck, not parallel! A risk!
When faced with a serious situation. (final deadline)
Divided the responsibility (leadership) to five individuals
No reports (or management duties) required
No holds barred, bare fist prison rules.. Just make it happen
Did it work? It was total pwnage and salvation of the project!
The Great Enablers
For each team: Autonomy – mastery - purpose
Support and coaching. A scrum master who was not part of the team.
Big picture priorization over teams. Together with everyone.
31. To “make it so”, important considerations
Voluntary.
If a sane person commits, it‟s a good sign.
You must delegate power and freedom too.
You need a manager who is not insecure!
Leader must have some respect from peers.
Leadership is based on ”social influence” by definition.
A title is not related to this.
It’s about getting things done.
It‟s not a ”tech lead” role.
33. To summarize.. How to make it alive..
Flexibility in scope, budget and timetables are required.
Also the customer must accept this and trust you.
Respect the issues related to size
Motivation, complexity, human limitations.
No single architect, PO, manager to make all decisions.
Do not ”manage” and control, lead instead
Good employees don‟t need ”management”
Get real cross-functional teams. Motivated & autonomous.
34. Stuff that victories are made of
Lean
Agile
Continuous innovation
Continuous flow
Continuous feedback
Use-cases in backlog
Parallel development
Continuous Delivery
End-user needs
Compositional design
Continuous
Integration
MVP first
Form follows function
Automated tests
Empowered teams
Realistic shared vision and plan (backlog)
Motivation
Transparency
Honesty
Trust
35. Resources and further reading
Even more books
Lean From The Trenches
Lean Architecture
Lean Thinking
Lean Software Development: An Agile Toolkit
The Toyota Production System
Rational Choice in an Uncertain World: The
Psychology of Judgment and Decision Making
Nonviolent Communication: A Language of Life
Systems Thinking
The other one was much smaller in terms of source code, but the domain is more challenging. In both cases a failure would have been a devastating blow both to the customer and fatal to Solita’s reputation and business.
My point for being here is to help you avoid these mistakes.About the books, It seems there still isn’t much.But since a big project takes years, this is understandable.
To be honest, we should have acted earlier in the project. Some of the changes were done at the last possible moment,not in the last responsible moment.Coaches: to help and challenge us and the customer.
Neither one talks about project size! Actually Lean doesn’t talk about projects at all.
Codemightbeself-documentingitself, buthowfastcanyoucrawl a million LOC to get an overview of the design? Treatingpeople as resources is a bad idea anyway, butitmaywork on a short-term.Motivation is a obviouslyhugeissuewhenyouneed to keeppeopleworking on something for years.
Ourhunter-gathererbrainsworkbrilliantly in teams of fivepeople. Team Organization: part science, partart and youcan’talwaysmakeithappen.
Thisactuallyworks in a suitablecontext. Given a smallproject and familiardomainyoucan just applyyour engineering skills and a ”working software” willemerge!Vanguard, TQM, Lean, Non-violent communication….
Calling these fundamental principles is a bit bold, but just a bit.
”Scrum of scrums” oftentranslates to pushingI wasactuallyimpressedbyNokia securityposseon this a couple of yearsback.
But in this case the PO had a rock solid vision 20 years before deployment. In agile projects we deal with uncertain visions.Compositionofferssuperioragility. Itrequiresmoreeffort and experience.
Weareusingthisamazingtoolvendor/productlock-ineventhoughyoudon’tknowthatyouaregoing to build.Whycommit to a specific design early?Didyouspecify the technologystackup-frontbecause of insecurity? Customerdidnottrustyou? Theyareyourfavoritetools? Orbecausethesetoolswereused in previousprojectIn hisbookCoplientalks a lotaboutform and function. My semanticshereareslightlydifferent, butfundamentallywearetalkingabout the samething and offering the samesolution.
Enduser’smentalmodel is not data model. Is not UI is notintegration API.Version control, build, CI, testsuites and reports, deploymentpipeline, configuration management (DevOps) areallseparateissues.
Youcansee my cottage’s ”minimumviableproduct” on the right. I’m in a process of fixingit and thatcornerstone is prettyminimalsolution for the moment.A workingPoC for someintegration is betterthan 99% complete design for a perfectone.A draft of the essentialparts for UI is betterthan 85% completespecification with no implementation.
I actuallylike REST a lot.
These are in no particular order
And hey.. Youwillhaveall the riskyoucanhandle.
Thesearenotactuallydependent on eachother. In fact, search and queueareprettygeneric and notspecific to domain.Canwethenspecify, implement and testthese in parallel?Ifyoucan’tdecoupledifferentuse-cases and issuesitwillbeenormouslydifficult to do a big project.
The relationalmodel and normalformarewonderfulideas, butnot general silverbulletsbut at the momenttheyaretreated as such.The model is big. It’sunderdevelopment. It is complex. Wedonotknowwhatitwill look likewhenready.The NoSQLmovementhasgone to the otherextreme with theirwebscalemongodbstuff. Since the schema is sopainfultheydecided to removeitaltogether. Sigh.
You want to be in the “results” category. When you get there you need no longer worry about customer being happy. They will be ThoughtWorks was actually talking about this “elite” level today. Go see their presentation for further thoughts on this.
To have the team’s purpose up there was very helpful.
Multipleteams – how to split the work?See, weareagainback at thatcross-functionalteam.Wereinstated,butnowconsciousabout the good and badsides.
It is important to understandthisproperly. This ”leadrole” is a bitweirdbut PO comesclosest to describewhatitmeant in our case.So.. It’snotobviouswhoshouldbe the ”leader” sinceit’snotrelated to actualskillsororganizational position. And youcan’tassignthisresponsibility. And noteveryonewilling to acceptitareacceptedby the team.Nowthere’s a puzzle indeed.Whatifyoucan’tfind the person? No idea. But I suspectthatifyouhave a realteam with a purpose a leaderwillemerge.By ”makeitso” management I’mnotsuggestingyoushouldnotsupport. By allmeansoffer help, butdonotcontrol.
Sane and experiencedpeoplewillnotaccept a futiledeath-marchassigmentvoluntarily! Deming: “Eliminate management by objective. Eliminate management by numbers and numerical goals. Instead substitute with leadership.”Wikipedia defines Leadership as: “a process of social influence in which one person can enlist the aid and support of others in the accomplishment of a common task”
(Well, ifscope, budget and timetablearefixedit is not an agileprojectanyways)The employeeswant to do the rightthingevenif no one ”manages” them!
THERE ARE FEEDBACK LOOPS!And it’s a complex system.Dean talked about leadership in the opening keynote and put it as the “foundation”. Interestingly I have had the same conclusion..