<commit_before>+++
Title = "Have your cake and eat it too"
Type = "talk"
Speakers = ["karen-cohen"]
aliases = ["/events/2018-amsterdam/program/karen-cohen/"]
youtube = ""
slideshare = ""
slides = ""
+++

Have a (technical / architectural) agenda.
* Imagination: You need to know where you want to go. Ask yourself “if we could stop everything and work only on fixing everything, what would we do?”
* What are the the assumptions behind the current design (architecture assumptions) and the things that must always be true in the architecture (architecture invariants)? things that can change (architecture variants), what are the things that can’t change (architecture assumptions)?
* Product requests you can’t support given the current architecture
* Hypothetical product requests you would be able to support

Technology is a solution for a problem. When the problem changes the technology has to change, and when technology changes it opens up doors for new problem solving opportunities.

* What features have low value and high architectural cost? Are some features obstructing further development?
* Complexity, operations and visibility. How much effort does it take to maintain the system? How long does it take to track issues? How would the new features impact this?
* Anything that’s slowing you down

When to do this?

* Always.
* When you feel you’re lacking vision and direction.
* When reviewing the company’s roadmap (which I assume is filled with product requirements)

Communicate that agenda to your team.

* Explain how it applies to the team’s day to day. (The mission and strategy presentation).
* Disclaimer: There are still going to be cases where we do the quick and dirty solutions.
* Important decision is “what quick & dirty solutions are sustainable and which are not” - how do you make this distinction? also, how do you keep the hacks (relatively) contained?

Find opportunities to further your agenda

* What you’re looking for isn’t to fill the roadmap with your technical agenda, but to find opportunities to advance your agenda alongside product requirements. You’re looking to create win-win situations.

Celebrate success stories.

* The best sort of relationship between a business and development is one where both sides care about the problem they’re trying to solve. When both sides take an active part in imagining change/growth/future you get there faster.
<commit_msg>modify Karen's abstract<commit_after>+++
Title = "Have your cake and eat it too"
Type = "talk"
Speakers = ["karen-cohen"]
aliases = ["/events/2018-amsterdam/program/karen-cohen/"]
youtube = ""
slideshare = ""
slides = ""
+++

When dealing with legacy systems, a “stop the world” (and rebuild) approach is rarely the one taken. The question then becomes how we can provide business value to our customers and advance our technical agena while doing so.

{'fraction_non_alphanumeric': 0.06212914485165794, 'fraction_numerical': 0.002792321116928447, 'mean_word_length': 4.709163346613546, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4664610', 'n_tokens_mistral': 724, 'n_tokens_neox': 693, 'n_words': 410}