In the world of agile, there is theory and then there is practice. We like to talk about self-organizing teams, asynchronous execution, BDD, TDD, and emergent architecture. We also talk about cross-functional teams: how analysts, testers, architects, technical writers, and UX designers belong on the same team, right next to programmers. It all sounds nice in theory, but how does this work in reality? What do these people actually do? How do they interact? What does it look like? Is there really a pragmatic way to make this work?
In this simulation, a cross-functional team will actually build a piece of software. Every specialist will have a hand in the process. Every specialist will also act as a generalist. Everyone will add value. And as a team, we’ll get something DONE.
This is your opportunity to see agile development in practice, and to bridge the gap between what agilists say and what teams do. And it’s not as new or as difficult as you think – affinity between testers, BA’s, coders, and other team members has really been at the root of effective development practices all along. Let’s just finally acknowledge that it works, demonstrate its capabilities, and encourage it going forward.
This IS agile development.
We all know, given the right mindset, that Agile approaches are a great way to get results and for people to go home feeling that they have contributed.
But no one really asks why. Why does it work?
This presentation, given at the Agile Business Conference in London in 2013 provides a collection of Agile-independant thoughts and ideas to make people think.
Above all, it provides some take aways to help judge if the team has a solid understanding of purpose and if the team is just well, how can on say, "dysfunctional".
This is a presentation made to Surge Accelerator in Houston in March 2013. This serves as a Guide to Early Stage Technology Companies, building enterprise class software.
This covers the typical lifecycle of a software start-up, fundamentals of Agile software development, and some do's and don't for how to build successful software companies.
Technical Excellence Doesn't Just Happen--Igniting a Craftsmanship CultureAllison Pollard
The ninth principle from the Agile Manifesto states that technical excellence enhances agility, but when the codebase is ugly and the deadlines are tight, most teams don’t choose to refactor mercilessly, adopt TDD, or evaluate automated testing tools—unless they have the proper support. In our experience working with multiple teams in a single codebase, developers can feel victim to a legacy codebase if only a few people are writing clean code or refactoring; guiding them on how to decrease technical debt while delivering their projects helps "unstuck" their other agile practices. We will talk about the challenges we’ve seen with Product Owners, Managers, and Scrum Masters interacting with teams at various stages of agile+technical excellence and how a focus on technical practices sparked a wider interest in craftsmanship. Learn how can you influence the team towards the right practices while fostering their sense of ownership. Getting serious about technical excellence requires support from technical and non-technical roles, and we’ll share how we partnered as coaches to help an organization through a technical turnaround with some tips for others who need to do the same.
Technical Excellence Doesn't Just Happen - AgileIndy 2016Allison Pollard
The ninth principle from the Agile Manifesto states that technical excellence enhances agility, but when the codebase is ugly and the deadlines are tight, most teams don’t choose to refactor mercilessly, adopt TDD, or evaluate automated testing tools—unless they have the proper support. In our experience working with multiple teams in a single codebase, developers can feel victim to a legacy codebase if only a few people are writing clean code or refactoring; guiding them on how to decrease technical debt while delivering their projects helps "unstuck" their other agile practices. We will talk about the challenges we’ve seen with Product Owners, Managers, and Scrum Masters interacting with teams at various stages of agile+technical excellence and how a focus on technical practices sparked a wider interest in craftsmanship. Learn how can you influence the team towards the right practices while fostering their sense of ownership. Getting serious about technical excellence requires support from technical and non-technical roles, and we’ll share how we partnered as coaches to help an organization through a technical turnaround with some tips for others who need to do the same.
We all know, given the right mindset, that Agile approaches are a great way to get results and for people to go home feeling that they have contributed.
But no one really asks why. Why does it work?
This presentation, given at the Agile Business Conference in London in 2013 provides a collection of Agile-independant thoughts and ideas to make people think.
Above all, it provides some take aways to help judge if the team has a solid understanding of purpose and if the team is just well, how can on say, "dysfunctional".
This is a presentation made to Surge Accelerator in Houston in March 2013. This serves as a Guide to Early Stage Technology Companies, building enterprise class software.
This covers the typical lifecycle of a software start-up, fundamentals of Agile software development, and some do's and don't for how to build successful software companies.
Technical Excellence Doesn't Just Happen--Igniting a Craftsmanship CultureAllison Pollard
The ninth principle from the Agile Manifesto states that technical excellence enhances agility, but when the codebase is ugly and the deadlines are tight, most teams don’t choose to refactor mercilessly, adopt TDD, or evaluate automated testing tools—unless they have the proper support. In our experience working with multiple teams in a single codebase, developers can feel victim to a legacy codebase if only a few people are writing clean code or refactoring; guiding them on how to decrease technical debt while delivering their projects helps "unstuck" their other agile practices. We will talk about the challenges we’ve seen with Product Owners, Managers, and Scrum Masters interacting with teams at various stages of agile+technical excellence and how a focus on technical practices sparked a wider interest in craftsmanship. Learn how can you influence the team towards the right practices while fostering their sense of ownership. Getting serious about technical excellence requires support from technical and non-technical roles, and we’ll share how we partnered as coaches to help an organization through a technical turnaround with some tips for others who need to do the same.
Technical Excellence Doesn't Just Happen - AgileIndy 2016Allison Pollard
The ninth principle from the Agile Manifesto states that technical excellence enhances agility, but when the codebase is ugly and the deadlines are tight, most teams don’t choose to refactor mercilessly, adopt TDD, or evaluate automated testing tools—unless they have the proper support. In our experience working with multiple teams in a single codebase, developers can feel victim to a legacy codebase if only a few people are writing clean code or refactoring; guiding them on how to decrease technical debt while delivering their projects helps "unstuck" their other agile practices. We will talk about the challenges we’ve seen with Product Owners, Managers, and Scrum Masters interacting with teams at various stages of agile+technical excellence and how a focus on technical practices sparked a wider interest in craftsmanship. Learn how can you influence the team towards the right practices while fostering their sense of ownership. Getting serious about technical excellence requires support from technical and non-technical roles, and we’ll share how we partnered as coaches to help an organization through a technical turnaround with some tips for others who need to do the same.
Challenges & Successes of Agile Implementation Webinar with BlackLine - XBOSoftXBOSoft
In this hour-long webinar, BlackLine's Director of Software Development Greg Burns and Scrum Master and Agile Coach Ron Ben Yosef discuss the company's agile conversion experience -- the challenges, successes, and benefits gained from implementation.
Applying Organizational Change and Leadership in Agile TransformationsCprime
It is no secret that when an organization chooses to transition to Agile methodologies, it requires an enormous commitment to leadership and change management. Even in prescriptive methods of Agile transitions, such as SAFe, I have found this subject matter deficient, especially in the area of practical application. This presentation is based on a training class I developed and conducted with executive leadership at American Airlines. It focuses on how to apply Dr. John Kotter’s 8-step model of change management and leadership to help transition an organization to support an Agile transformation. I have been involved in large scale Agile Transformations at Nokia, AT&T, American Airlines, Telogical Systems and VCE. I have successfully applied the principles of this process at several companies, most recently at American Airlines IT division to train executives in Agile Change Management.
Transitioning to Scrum is not easy, and for many, distributed teams are the most difficult to manage. In trying to make Scrum work with a geographically dispersed team, increasing efficiency requires adjustments to processes and effective communication and collaboration.
This webinar will provide guidance for proper planning and managing, in order to get your distributed teams working smoothly throughout the scrum processes. Dr. Kevin Thompson, cPrime’s Agile Practice Lead, will address key issues such as:
• How to have scrum meetings for distributed teams (daily scrum, sprint planning, sprint review, retrospective)
• How to cope with time-zone differences
• How to cope with language differences
• Best practices for collaborating in a distributed team
• Best practices for tools that mitigate distributed team impact
Comparing Ways to Scale Agile at Agile Product and Project Manager MeetupBernd Schiffer
Session "Comparing Ways to Scale Agile" at the Agile Product and Project Manager Meetup in Melbourne, Australia.
These days organisations are looking for support to scale their Agile environment. There’s a difference between having one Agile team on its own, or to have several Agile teams providing value to the customer and interacting with each other.
This session will give an overview and comparison of all the different Agile scaling approaches out there, i.e.:
* Scaled Agile Framework (SAFe)
* Evidence-Based Management (EBMgt)
* Disciplined Agile Delivery (DAD)
* Enterprise Transition Framework (ETF)
* Large-Scale Scrum (LeSS)
* ScALeD Agile Lean Development
* Scaling Agile @ Spotify (SA@S)
* Product Development Flow by Reinertsen (PDFbyR)
How to build rubust org structure for Agile at scaleYuriy Kudin
Are you going to implement Agile/Lean methodologies in your organization, but you don’t have a clue where to start? Does it make sense to begin with Agile training? Or, it would be better to start with implementation of application lifecycle management tools (ALM), or, it would be enough just to hire right people with agile expertise?
Based on our experience, with more than 100 clients, we clearly see that in most of the cases real agile transformation is kicking off from organizational structure change. This is exactly what we would like to share with you.
We will talk about typical issues in organization structure that we have seen when helping our clients to transform. We will also outline what potential problems might cause those issues. Furthermore, we will share successful patterns of building robust organizational structures for different types of the companies: starting from small and scaling it up to enterprise (100+ employees).
As an outcome, participants will get an overview on how to build robust organizational structure as a foundation for successful Agile/Lean implementation.
Agile transformation with Scrum. Where to start
1. Agile vs Waterfall
2. What is Scrum
3. Scrum team
4. Scrum artefacts (with activities for easier learning)
5. Scrum events
6. Is Scrum enough?
Introductionto Agile Executive Overview Gpi Asia Rev2Benjamin Scherrey
Our training partner, GPIAsia, asked us to produce an executive overview version of our 2-day Introduction to Agile course for an iTAP program intended to introduce Agile concepts to CMMI practitioners. Was an interesting challenge. Should know in a week or two if any of this gets traction from that audience. If it does, I'll take credit. If not - I'll blame my colleague Pam who delivered it with me. :-) As with all my presentations, you really need to hear the talk to get the full benefit but at least you can see the subjects we touch on.
Challenges & Successes of Agile Implementation Webinar with BlackLine - XBOSoftXBOSoft
In this hour-long webinar, BlackLine's Director of Software Development Greg Burns and Scrum Master and Agile Coach Ron Ben Yosef discuss the company's agile conversion experience -- the challenges, successes, and benefits gained from implementation.
Applying Organizational Change and Leadership in Agile TransformationsCprime
It is no secret that when an organization chooses to transition to Agile methodologies, it requires an enormous commitment to leadership and change management. Even in prescriptive methods of Agile transitions, such as SAFe, I have found this subject matter deficient, especially in the area of practical application. This presentation is based on a training class I developed and conducted with executive leadership at American Airlines. It focuses on how to apply Dr. John Kotter’s 8-step model of change management and leadership to help transition an organization to support an Agile transformation. I have been involved in large scale Agile Transformations at Nokia, AT&T, American Airlines, Telogical Systems and VCE. I have successfully applied the principles of this process at several companies, most recently at American Airlines IT division to train executives in Agile Change Management.
Transitioning to Scrum is not easy, and for many, distributed teams are the most difficult to manage. In trying to make Scrum work with a geographically dispersed team, increasing efficiency requires adjustments to processes and effective communication and collaboration.
This webinar will provide guidance for proper planning and managing, in order to get your distributed teams working smoothly throughout the scrum processes. Dr. Kevin Thompson, cPrime’s Agile Practice Lead, will address key issues such as:
• How to have scrum meetings for distributed teams (daily scrum, sprint planning, sprint review, retrospective)
• How to cope with time-zone differences
• How to cope with language differences
• Best practices for collaborating in a distributed team
• Best practices for tools that mitigate distributed team impact
Comparing Ways to Scale Agile at Agile Product and Project Manager MeetupBernd Schiffer
Session "Comparing Ways to Scale Agile" at the Agile Product and Project Manager Meetup in Melbourne, Australia.
These days organisations are looking for support to scale their Agile environment. There’s a difference between having one Agile team on its own, or to have several Agile teams providing value to the customer and interacting with each other.
This session will give an overview and comparison of all the different Agile scaling approaches out there, i.e.:
* Scaled Agile Framework (SAFe)
* Evidence-Based Management (EBMgt)
* Disciplined Agile Delivery (DAD)
* Enterprise Transition Framework (ETF)
* Large-Scale Scrum (LeSS)
* ScALeD Agile Lean Development
* Scaling Agile @ Spotify (SA@S)
* Product Development Flow by Reinertsen (PDFbyR)
How to build rubust org structure for Agile at scaleYuriy Kudin
Are you going to implement Agile/Lean methodologies in your organization, but you don’t have a clue where to start? Does it make sense to begin with Agile training? Or, it would be better to start with implementation of application lifecycle management tools (ALM), or, it would be enough just to hire right people with agile expertise?
Based on our experience, with more than 100 clients, we clearly see that in most of the cases real agile transformation is kicking off from organizational structure change. This is exactly what we would like to share with you.
We will talk about typical issues in organization structure that we have seen when helping our clients to transform. We will also outline what potential problems might cause those issues. Furthermore, we will share successful patterns of building robust organizational structures for different types of the companies: starting from small and scaling it up to enterprise (100+ employees).
As an outcome, participants will get an overview on how to build robust organizational structure as a foundation for successful Agile/Lean implementation.
Agile transformation with Scrum. Where to start
1. Agile vs Waterfall
2. What is Scrum
3. Scrum team
4. Scrum artefacts (with activities for easier learning)
5. Scrum events
6. Is Scrum enough?
Introductionto Agile Executive Overview Gpi Asia Rev2Benjamin Scherrey
Our training partner, GPIAsia, asked us to produce an executive overview version of our 2-day Introduction to Agile course for an iTAP program intended to introduce Agile concepts to CMMI practitioners. Was an interesting challenge. Should know in a week or two if any of this gets traction from that audience. If it does, I'll take credit. If not - I'll blame my colleague Pam who delivered it with me. :-) As with all my presentations, you really need to hear the talk to get the full benefit but at least you can see the subjects we touch on.
Антон Семенченко, опыт в IT более 10 лет, работает в компании ISSoft, специализируется в разработке и автоматизированном тестировании ПО плюс менеджмент\продажи. C++ Architect, Automation Practice Lead, PM, Group Manager
«Agile ValueTeam, учимся понимать Scrum». IT секция. Agile отделение. Для всех уровней подготовки.
«Как эффективно продавать Automation Service». IT секция. Продажи.
«Как эффективно организовать Автоматизацию, если у вас недостаточно времени, ресурсов и денег». Development секция. Отделение тестирования.
Personal customer experiences are and will be more and more vital. People to people, but also people to machine. Today, there are several providers of the same services, and the new ones are faster, more flexible, and more personalized in their communications with their customers & users. How do we ensure that we provide the right information to our employees as well as to our customers so they can better serve and increase customer satisfaction?
This webinar will focus on how you as an organization will have to restructure, rethink and redesign your technological platform to support increasing employee- and customer demands.
Key takeaways:
Holistic understanding of how to make a successful cloud transition
Learn why modern organizations excel in customer treatment, productivity, flexibility, and agility
High-level architecture and how and why DevOps changes organizations
Value Driven Development by Dave Thomas Naresh Jain
Agile, OOP... are like good hygiene in the kitchen, it results in meals with consistent quality and predictable prep and service times. It doesn't result in great meals nor substantially impact the ROI! Lean Thinking clearly shows that the only way to make a significant impact is to improve the value chain by improving flow. If everyone is following best practices no one has competitive advantage. Major improvements in the value chain depend on continued disruptive innovations. Innovations leverage people and their ideas. We use case studies to illustrate the different business and technical innovations and their impact. We conclude with a discussion of how to build and leverage an innovation culture versus a sprint death march when dealing with high value time to market projects.
More details: https://confengine.com/agile-india-2017/proposal/3608/value-driven-development-maximum-impact-maximum-speed
sitHH16 - The Implications of Becoming AgileMarkus Theilen
Slides from my talk about the not so obvious changes that occur when change from waterfall to agile software development with Scrum. A review on the past three years in an agile transition.
My presentation in Agile4U (Agile for University) program of HanoiScrum in 2013.
This presentation may have some customised content for University of Science and Technology of Ha Noi.
This presentation has been compiled using material available in public domain. Copyrights of the owners and sources of the material used has been duly acknowledged.
Beyond the Scrum Team: Delivering "Done" at ScaleTasktop
In this webinar Dave West, CEO and Product Owner of Scrum.org, and Betty Zakheim, VP of Industry Strategy at Tasktop talk about the success of Scrum in the enterprise and techniques that organizations can employ when they have a large IT shop.
Join us for this discussion of the successes and challenges of Scrum at scale, including:
* Scrum.org's Nexus
* how software development teams can deliver "Done" at scale
* how these techniques fit into the broader software delivery lifecycle
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.
Microsoft Team Foundation Server 2012 and Visual Studio 2012 introduce many high-value features that formerly required 3rd party tools and plugins. Code reviews and task boards/Kanban are the obvious ones, but there are other new tools for Agile development and collaboration that should not be missed: new planning tools, continuous feedback, and storyboarding features. The Agile Manifesto values individuals and interactions over processes and tools, and yes, tooling often gets in the way – but some of these features break down those old clichés. We’ll take a look at these features in the context of an Agile or Scrum team.
As presented to the Milwaukee Alt.Net group on November 21st, 2011.
UPDATE April 19, 2012: added some domain logic organization slides using Fowler's 4 basic patterns.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
"Impact of front-end architecture on development cost", Viktor TurskyiFwdays
I have heard many times that architecture is not important for the front-end. Also, many times I have seen how developers implement features on the front-end just following the standard rules for a framework and think that this is enough to successfully launch the project, and then the project fails. How to prevent this and what approach to choose? I have launched dozens of complex projects and during the talk we will analyze which approaches have worked for me and which have not.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Holistic Product Development
1. Cross-Functional Teams + Emergent Design =
Holistic Product Development
Gary Pedretti, Erik Weber, Pradeepa Narayanaswamy, Dan Piessens
2. Who are we? Gary Pedretti
• Solutions Manager in Centare’s Agile Practice
• 15 years in the software industry with highly cross-functional
experience – DBA, Developer, BA, Application Architect
• Scrum: Development Team member, Scrum Master, Coach,
Certified Scrum Trainer for Scrum.org
• http://blog.GaryPedretti.com/
• Twitter: @GaryPedretti
• http://www.linkedin.com/in/garypedretti
• MCPD 4.0 Web, MCTS 4.0 WCF/Web/Data Access, MCDBA MSSQL 2000, PSM, PSD .NET, PSD Java, CSM, MCPD 3.5 ASP.NET, MCTS 3.5 WCF/ASP.NET/ADO.NET, MCTS SharePoint 2003
Infrastructure, MCPD 2.0 Enterprise, MCTS 2.0 Distributed/Web/Windows, MCSD 1.1, MCAD 1.1, MOUS
3. Who are we? Erik Weber
• Solutions Manager in Centare’s Agile Practice
• Healthcare, Finance, Green Energy
• Huge Conglomerates, Small Employee Owned, Fortune 500
• Scrum Coach & Trainer for Scrum.org
• Passionate about Agile
• Twitter: @ErikJWeber
4. Who are we? Pradeepa Narayanaswamy
• Senior Consultant in Centare’s Agile Practice
• 12 years in the software industry: Programmer, Analyst, Web
Designer, Tester, QAT Lead, Agile Consultant, etc.
• Extremely passionate about Agile
• Specialized in Agile Testing
• LinkedIn: www.linkedin.com/in/pradeepanarayanaswamy/
• Twitter: @nPradeepa
5. Who are we? Dan Piessens
• Staff Consultant for Centare
• Over 12 years of development experience developing and
designing software in agile teams
• Microsoft Patterns & Practices Champion 2008 through 2013
• Twitter: @dpiessens
6. Working Software ASAP, Cross-Functional Teams, Emergence
THE VISION OF AGILE SOFTWARE
DEVELOPMENT
7. What is Agility?
ag·ile ˈajəl, -ˈ
- jī(-ə)l adjective
• 1: marked by ready ability to move with quick
easy grace <an agile dancer>
• 2: having a quick resourceful and adaptable
character <an agile mind>
Synonyms: graceful, featly, feline, gracile, light, light-footed (also light-
foot), lightsome, lissome (also lissom), lithe, lithesome, nimble, spry
http://www.merriam-webster.com/dictionary/agile
8. What is Agility in Software Development?
A group of software development methods based on
iterative and incremental development, where
requirements and solutions evolve through collaboration
between self-organizing, cross-functional teams. It
promotes adaptive planning, evolutionary development
and delivery, a time-boxed iterative approach, and
encourages rapid and flexible response to change.
http://en.wikipedia.org/wiki/Agile_software_development
10. The Gold Standard – Working Software ASAP
• Allows for faster feedback from real end users,
and the ability to respond to that feedback
• Aligns with businesses’ concerns
– They never cared about “done but not tested”
– Must be able to deliver value, earn revenue, etc.
• Eliminates the “80% done” phenomenon
– You’re never sure you’re done until you are done
11. The Gold Standard – Working Software ASAP
Agile Manifesto
• “Working software over comprehensive
documentation”
12. The Gold Standard – Working Software ASAP
The 12 Principles Behind the Manifesto
• “Working software is the primary measure of
progress”
• “Early and continuous delivery of valuable
software”
• “Deliver working software frequently”
14. What Follows? Cross-Functional Teams
• Whatever skills necessary to complete a slice
• Coders and testers working together
• But also: BAs, UI Designers, UX, Technical
Writers, Ops/Infrastructure, DevOps, etc. – all
working together
16. Cross-Functional Teams
The 12 Principles Behind the Manifesto
• “Business people and developers must work
together daily throughout the project.”
17. Cross-Functional Teams – How?
• An attitude of optimizing for throughput (working
software), not capacity (keeping everyone busy in
their specialty)
• Culture of learning and sharing – moving towards
“generalizing specialists”
• Attitude: “Whatever it takes to get this done”
• Group ownership of product, work, and “done”
18. What Else Follows? Emergence
• Admitting that you cannot or will not have all
of the requirements up front means that you
will learn things along the way
• Requirements, Architecture, UI Design, Tests,
Documentation – all can emerge
20. Emergence
The 12 Principles Behind the Manifesto
• “Welcome changing requirements, even late
in development”
• “The best architectures, requirements, and
designs emerge from self-organizing teams.”
21. Emergence – How?
• An Iteration != Mini-Waterfall
• Asynchronous execution of all development
tasks – no more sequential, phase-gated steps
• Each activity is encouraged to inform the
others
– Testing informs coding, coding informs
architecture, analysis informs testing, etc.
22. Peter DeGrace/Jim Rising – Sashimi Process
http://www.managedmayhem.com/2009/05/06/agile-software-development-process/
24. To Do: Validate Credit Card Numbers
I want customers’ credit card numbers to be validated so
that they don't have any surprises when ordering
products.
• We accept MasterCard, Visa, and American Express
• Should validate length of number as 15 digits
• Should validate prefix of number
• This validation should be reusable from other
applications
27. Observations?
• The team delivered something “done” and shippable!!!
• Requirements changed – sometimes they are wrong! Gasp!
• New requirements were discovered – but thin-slicing and time
pressure resulted in many of them (including the Luhn algorithm)
going to the “To Do” list
• Time pressure forces people to navigate the grey areas to some
reasonable middle ground
– Negotiating requirements – “reusable from other applications”
requirement was negotiated away from a service, and to something
that could be harvested later
– Amount of testing that is reasonable – thinking of testing as risk
management
31. The Gold Standard – Working Software ASAP –
Why?
• Fast Feedback
– Opportunity to respond
– Validate assumptions, requirements, value – validate learning
• Aligns with business and fosters trust
– Delivers value
– Earns revenue
• Sets an expectation for a single understanding of “done”
32. Cross-Functional Teams – Why?
• It’s how we get to working software, ASAP
• Systems Thinking and optimizing for
throughput, not capacity
33. Emergence – Why?
• Requirements will never be
– known completely
– expressed well
– up-to-date
• “Requirements = Assumptions” – Jeff Gothelf
• We know that we will always learn things along
the way
34. Emergence – Why?
• If you like predictive project plans, I have a guy
for you…
35. Winston Royce Told Us This Was Crazy in 1970!!
Managing the Development of Large Software Systems – Dr. Winston W. Royce
36. And He Told Us This Is Still “Risky and Invites Failure”!!!
Managing the Development of Large Software Systems – Dr. Winston W. Royce
37. And He Said Reality Looked More Like This
Managing the Development of Large Software Systems – Dr. Winston W. Royce
38. Why Not Just Acknowledge This?
http://www.managedmayhem.com/2009/05/06/agile-software-development-process/
40. Let’s Walk It Backwards This Time
• Expect, allow, and foster Emergence
• Build Cross-Functional Teams
• Get Working Software ASAP
41. Expect, Allow, and Foster Emergence
• Communication with the business, requirements, testing, domain
knowledge – learn about Behavior Driven Development (BDD) – Liz
Keogh http://lizkeogh.com/
• Architecture and modeling - http://www.agilemodeling.com/
• User Experience (UX) – Lean UX by
Jeff Gothelf
• Automated deployment, CD, DevOps,
“Production Hygiene” – The Phoenix Project
by Gene Kim
42. Build Cross-Functional Teams
• You’re not pulling people away from their boss or
department to put them in “your area”
• You’re suggesting the company build teams
horizontally across departments, not vertically within
departments
• Focus on “Competencies, not Roles” – Jeff Gothelf
• Just encourage things we already did anyway (Tester
<-> BA and Architect <-> Coder connections, etc.)
Working Software ASAP, Cross-Functional Teams, Emergence
Note this is NOT the same as SPEED
Note that the definition here aligns with the dictionary definition of Agile, and is NOT about SPEED
We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:Individuals and interactions over processes and toolsWorking software over comprehensive documentationCustomer collaboration over contract negotiationResponding to change over following a planThat is, while there is value in the items on the right, we value the items on the left more.
We follow these principles:Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.Business people and developers must work together daily throughout the project.Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.Working software is the primary measure of progress.Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.Continuous attention to technical excellence and good design enhances agility.Simplicity--the art of maximizing the amount of work not done--is essential.The best architectures, requirements, and designs emerge from self-organizing teams.At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
Point out that the vertical lines on the right-hand (slices) diagram are never straightFor example, Sprint 2 may require the team to go back and refactor code/decisions made in Sprint 1Also, it takes a cross-functional team to do this effectivelyDoes it take smart people to do emergent architecture? No, it takes smart people to develop software
We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:Individuals and interactions over processes and toolsWorking software over comprehensive documentationCustomer collaboration over contract negotiationResponding to change over following a planThat is, while there is value in the items on the right, we value the items on the left more.
We follow these principles:Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.Business people and developers must work together daily throughout the project.Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.Working software is the primary measure of progress.Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.Continuous attention to technical excellence and good design enhances agility.Simplicity--the art of maximizing the amount of work not done--is essential.The best architectures, requirements, and designs emerge from self-organizing teams.At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
You know, like what ‘Team’ is supposed to mean.
We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:Individuals and interactions over processes and toolsWorking software over comprehensive documentationCustomer collaboration over contract negotiationResponding to change over following a planThat is, while there is value in the items on the right, we value the items on the left more.
We follow these principles:Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.Business people and developers must work together daily throughout the project.Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.Working software is the primary measure of progress.Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.Continuous attention to technical excellence and good design enhances agility.Simplicity--the art of maximizing the amount of work not done--is essential.The best architectures, requirements, and designs emerge from self-organizing teams.At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
Where ACTIVITY formerly meant SEQUENTIAL STEP
Emergent Design/Architecture: Following conventions of the original application, which does have some basic layering and use of good, known patterns (MVC, Repositories), negotiating for a “harvest, don’t grow” approach with CC ServiceTesting Pyramid – what’s interesting about the testing pyramid is that it’s not just about testing – yes, it shows that automation has a lot more ROI as you move towards the base, but it also talks about the amount or focus of tests, in a way that CANNOT be achieved without good application design