Escaping the Brownfield: Lean and Agile Survival Techniques for Maintenance
Your in a predicament. The system needs re-architecture. There are a lot of bugs to stamp out. You need to turn it off, but you can't - it's mission critical to your business.
When most of us learn about Agile, the examples and stories we are told are from a Greenfield perspective; Greenfield meaning new development. Most organizations that aren't start-ups have many applications already in use; this pristine start just doesn't exist. Existing software needs to be maintained and continuity of operations is the highest priority; these are the circumstances of Brownfield development. This is essentially any application past its first release. Making this more difficult is that teams need to maintain legacy code and update antiquated architectures.
This session will cover techniques you can use at the team level to help this maintenance activity. We’ll specifically look at the use of the Mikado Method, Kanban, and some indicators you may want to use to analyze your application portfolio from a maintenance perspective.
Outline/Structure of the Talk
What do we mean by brownfield and legacy code? (2 min) - AKA who starts with a blank screen anymore?
The Maintenance Problem Areas (1 min) - quickly review these 4 areas
Technical: “no one understands the code”; “when we fix one thing, 3 other things break” (~10 min)
Mikado Method in a nutshell - describe the Mikado method and how it can help allow discovery of underlying code
Add tests as you maintain - discuss strategies for incrementally adding tests
Tech Debt - what is it and why one should pay attention to it
Predictability: “how long will it take to fix that bug (or add that feature)?” (~10 min)
Kanban & Lead-time - how to give accurate forecasts where there is uncertainty
Applying the Theory of Constraints - look for system bottlenecks and how to elevate these and increase capacity
Personnel: “how do we motivate people to do a good job just fixing things” (~2 min)
Connect people to Purpose - help people understand why it is important
Maintenance Innovation - translate this to Mastery, give people freedom to try new things with safety
Financial: “why is maintenance so expensive?”; “when should we replace this app?” (~10 min)
Spelunking is Hard, Stop Being Cheap - the fallacy of paying less for maintenance
Some Metrics to Consider
By the Team - code coverage, performance data, team confidence
By Management - WSJF, MTTR, team health
How Do We Avoid Falling Into This Trap? (Maintain to Expensive Replacement then Repeat) (~5 min)
Discuss full-lifecycle teams vs dev teams handing off to maintenance
Call to action for education to stop greenfield projects in degrees
Q&A (remaining time)
This session will help people understand:
- How do I maintain legacy applications in an Agile fashion?
- What people considerations do I need?
- What measurements would be meaningful?
- How do I avoid this mess in the first place?
Development Managers, Scrum Masters, Product Owners, Team Members, CS Educators, Portfolio Managers, CxOs
Prerequisites for Attendees
Some understanding of Kanban and technical approaches, as well as some familiarity with what a portfolio is and what metrics or measures may be important.
schedule Submitted 1 year ago
People who liked this proposal, also liked:
Dane Weber - Please Stop Modernizing!Dane WeberLead ConsultantExcella
schedule 2 years agoSold Out!
The federal government loves modernizing software systems and it isn't wrong: stale, decaying software leads to major headaches and eventual catastrophe. Modernization efforts, however, have big risks and big failures.
There is an alternative: software renovation. That is improving, updating, and upgrading the software system one piece at a time while it continues to operate.
Dane has participated deeply in three US government modernization projects. Each project followed a pattern of pitfalls, scary "go-live" transitions, and unpleasant trade-offs.
Renovating legacy software is frequently a better option. The software system continues to gain functionality at the same time that its design and performance are improved.
Allison Pollard / Barry Forrest - Brewing Great Agile Team Dynamics--No More Bitter Beer Face Communications
BeginnerEver find yourself making a sour face after talking to a coworker? Wishing your team meetings felt more like an engaging social hour? There is hope. Those everyday conflicts where something seems “off” after a conversation are often related to differences in communication styles. When team members understand themselves and others, there’s less conflict, more collaboration, and better working relationships. The DiSC model can help you understand why your team behaves the way it does and how to build trust for a more agile team.In this interactive session, agile coaches Allison Pollard and Barry Forrest will introduce the DiSC model to explain the four behavior types that are the ingredients in any team, then explore the characteristics of these ingredients and how they react with one another. Join them to learn about the behavior styles of you and your team using DiSC, how to communicate better together, and increase trust in the team. You'll leave with a common language that your team can use to better understand themselves and adapt their behaviors with others.
Colleen Esposito - Simple Agile Design for YOUR ArchitectureColleen EspositoAgile CoachAssurant
schedule 1 year agoSold Out!
Agile encourages us to eliminate activities that don’t add value and find the simplest solution possible to solve our business needs. For many teams, that can lead to a state where collaborative design no longer happens or is discussed on a whiteboard that gets erased after the conversation.
How then, can you share the knowledge with team members who don’t work on that feature, or join the team after the feature is built? What about distributed teams, are they unable to have collaborative design because they don't have a whiteboard?
I had those same questions in 2012, when Ron Garton of the Agile Coaching Network showed me a lightweight solution and we stopped creating traditional design documents. Ron provided me permission to bring that solution to the agile community through sessions like these.
This solution helps everyone on the team understand what they will create or change in the current systems before it’s built, which can also be retained to increase the domain knowledge for that system later. Though the template itself can be helpful, like many agile tools, it’s the conversation that it starts that’s truly powerful.
Joanne Stone / S. Barton Cutter - Laughter a Hidden Gem for Team SuccessJoanne StoneAgile Coach & Leadership CoachStoneJo Coaching & Consulting IncS. Barton CutterLeadership & Inclusion CoachCutter's Edge Consulting
schedule 2 years agoSold Out!
Are your agile teams struggling with committing to sprint objectives? Are they struggling with conflict? Are they struggling aligning with each other? Is the stress rising when you get close to that deadline? Do they feel they are not at a sustainable pace?
Research has shown that leaders who’s brainwaves are in coherent states not only demonstrate higher productivity, but those with the strongest coherence also entrain the brainwaves of colleagues the same levels.
Laughter is one of the quickest way for individuals, and team to reach coherence. Learn how to harness laughter and play to positively disrupt habitual behavior, boost levels of innovation, engagement, and creative problem-solving, and forge team coherence in the face of high stress.
No experience necessary, just a willingness to step out of the box. Are you ready? Come PLAY!!!!!
Join Joanne and Barton as they provide a slice of their one-day workshop: Laugh to F'in' Freedom to learn how we can utilize laughter to help create high performing teams.
Nicole Spence-Goon - You're in a Safe Space: Psychological Safety and where to find itNicole Spence-GoonAgile CoachExcella
schedule 2 years agoSold Out!
Psychological safety is one of the newest buzz terms in team dynamics but what does it really mean for an Agile team? No need to reinvent the wheel here - whether you’re using Scum or Kanban, they both have safety built in. You can find it hiding in plain sight - in Scrum values & Kanban principles.
Let’s learn how to use these concepts to develop trust in our teams and where to start.