Large products can be created only by chopping them into smaller pieces to be worked on by separate teams. In this presentation I will share my observations in a product company of how the chosen architecture of the product influences the processes of four different teams. This affects both the processes of specific teams and processes between teams working on different parts of the product. Aim of the presentation is to illustrate the dynamics of the relation between product, organisation, and processes.
One of the enhanced method for requirement determination is agile methodology in system analysis phase, and this slide presents the strategies available under agile methods for requirement determination with maximum user involvement for developing an information system.
One of the enhanced method for requirement determination is agile methodology in system analysis phase, and this slide presents the strategies available under agile methods for requirement determination with maximum user involvement for developing an information system.
Agile development model in Software Testing, be it Manual Testing or automation; is likewise a sort of incremental model. In this model, the software is developed in incremental, quick cycles
In this quality assurance training session, you will learn Agile in QA. Topics covered in this course are:
• Introduction to Agile
• Agile - Manifesto
• Agile over Traditional Method
• Principles of Agile
• Roles in Agile
• What is a User Story?
• Relationship of User Stories and Tasks
• How an Agile Team Plans its Work?
• When a Story is Done
To know more, visit this link: https://www.mindsmapped.com/courses/quality-assurance/software-testing-quality-assurance-qa-training-with-hands-on-exercises/
What is the purpose of Sprint planning meeting in Agile?Mario Lucero
What is the purpose of the Sprint planning meeting?
When you’re working within an agile management framework, you accomplish discrete tasks within the framework of a sprint. On the first day of each sprint the scrum team holds the sprint planning meeting.
Invincible React States with Domain Driven Design Prateek
The presentation for the talk on the use of Domain-Driven Design for creating react states that speak the language of the business.
This talk was a part of React Day Bangalore.
STRIVING FOR CONTINUOUS INTEGRATION AND DEPLOYMENT
Continuous integration and deployment (CI/CD) empowers organizations to bring their solution in production fast and frequent. This interactive session will share the benefits of this concept and introduce eight conditions that need to be met in order to make CI/CD a success. After this brief introduction, we will make small groups and explore these conditions, exchange experiences and you will get an understanding what needs to be improved in your organization. Talk to your peers and learn where they stand. Of course each of the groups will share their learnings, so we all go home with an understanding of how you can benefit from CI/CD and what needs to be done to make it work.
Summary of The Scrum Guide in one slide. That's not all you should know about Scrum, but it gives you a guidance especially when studying for a Scrum Master certification.
Managing a team and project are quite synonymous. Especially, teams require effective distribution of responsibility / roles. Once that is setup, a proper process guides people to make progress. All this fits into a product lifecycle, which is essential to develop the right product, in the right way, and deliver it at the right time.
Agile development model in Software Testing, be it Manual Testing or automation; is likewise a sort of incremental model. In this model, the software is developed in incremental, quick cycles
In this quality assurance training session, you will learn Agile in QA. Topics covered in this course are:
• Introduction to Agile
• Agile - Manifesto
• Agile over Traditional Method
• Principles of Agile
• Roles in Agile
• What is a User Story?
• Relationship of User Stories and Tasks
• How an Agile Team Plans its Work?
• When a Story is Done
To know more, visit this link: https://www.mindsmapped.com/courses/quality-assurance/software-testing-quality-assurance-qa-training-with-hands-on-exercises/
What is the purpose of Sprint planning meeting in Agile?Mario Lucero
What is the purpose of the Sprint planning meeting?
When you’re working within an agile management framework, you accomplish discrete tasks within the framework of a sprint. On the first day of each sprint the scrum team holds the sprint planning meeting.
Invincible React States with Domain Driven Design Prateek
The presentation for the talk on the use of Domain-Driven Design for creating react states that speak the language of the business.
This talk was a part of React Day Bangalore.
STRIVING FOR CONTINUOUS INTEGRATION AND DEPLOYMENT
Continuous integration and deployment (CI/CD) empowers organizations to bring their solution in production fast and frequent. This interactive session will share the benefits of this concept and introduce eight conditions that need to be met in order to make CI/CD a success. After this brief introduction, we will make small groups and explore these conditions, exchange experiences and you will get an understanding what needs to be improved in your organization. Talk to your peers and learn where they stand. Of course each of the groups will share their learnings, so we all go home with an understanding of how you can benefit from CI/CD and what needs to be done to make it work.
Summary of The Scrum Guide in one slide. That's not all you should know about Scrum, but it gives you a guidance especially when studying for a Scrum Master certification.
Managing a team and project are quite synonymous. Especially, teams require effective distribution of responsibility / roles. Once that is setup, a proper process guides people to make progress. All this fits into a product lifecycle, which is essential to develop the right product, in the right way, and deliver it at the right time.
Agile and Scrum Overview for PMs, Designers and Developers Aaron Roy
This is an overview of the flavor of agile/scrum I had my team use at Bond in Q2 2017. We heavily emphasized the importance of having a shared language between cross-functional teams and this deck was meant as a primer that could be shared between product managers, designers, and developers.
Technical stream: Moving to test- and behaviour-driven development
In this session Kim will be going over the benefits of introducing TDD and BDD: How to introduce them, their differences, how to deal with push back from team members and upper management.
The benefits of driving our development with tests, how it helps the quality and maintainability of our software, how it helps the business and the client. The types of tests that best serve us for the different layers of our application development and how business people can get benefit from TDD and especially BDD.
When Kim’s not working at his day job as a senior software engineer, consultant, Scrum Master, you can find him indulging his passions of software architecture, creating and exploiting software and networks. In order to develop and release software faster, it's Kim’s aim to increase the awareness for the need of higher quality incremental software releases.
Developer Productivity Engineering with GradleAll Things Open
Presented by: Justin Reock & Sterling Greene
Presented at the All Things Open 2021
Raleigh, NC, USA
Raleigh Convention Center
Abstract: In 2007, Hans Dockter invented the Gradle Build Tool because he felt that developers deserved less friction in their toolchain. The prevailing build technologies of the time were adequate but inefficient, not taking advantage of possible acceleration technologies and, with some exceptions, very limited in their language and framework support. Gradle is now one of the most widely used build tools available, downloaded about 25 million times a month as of September of 2021. It’s the default build tool in Android Studio, and is trusted by millions of developers to create their artifacts quickly and cleanly.
The principles that originally guided the Gradle build tool towards its current popularity have continued into an emerging practice known as Developer Productivity Engineering or DPE. DPE is a new software development practice that uses acceleration technologies to speed up the software build and test process and data analytics to optimize the impact of acceleration technologies and make troubleshooting more efficient. Leading technology companies are using this practice today to accelerate feedback cycles by over 90% in some cases, improving the developer experience and increasing team velocity.
Join Sterling Greene, Lead Software Engineer for the Gradle Build Tool, and Justin Reock, Field CTO of Gradle Enterprise, to learn why DPE is swiftly becoming the most important movement in software development since the introduction of DevOps.
Attendees will walk away from this presentation with a better understanding of:
● The importance of fast feedback cycles and how to achieve them using build and test acceleration technologies
● Using build and test data to make troubleshooting and problem root cause determination more efficient.
● The importance of leveraging failure analytics to improve toolchain reliability, including managing avoidable failures like flaky tests.
● How to continuously improve performance and guard against regressions through trend and metric observability.
● The Cost of Inaction (CoI) by not investing in developer productivity across your local build environments and CI/CD pipelines in terms of engineering cost, TTM and software quality.
● How to elevate the strategic priority of DPE in your organization.
Agile is considered by Standish group as the universal remedy for software project failures, and Scrum is without a doubt the most popular Agile method today. With it's help you can deliver working software within 30 days and drastically reduce the time to Market for your products. Join this meetup to find out what Scrum is and learn how you can get started already today.
Lucy Bushby, digital partner and Christian Shannon, senior
designer, Reason Digital
Visit the CharityComms website to view slides from past events, see what events we have coming up and to check out what else we do: www.charitycomms.org.uk
Scrum is one of the leading agile software development processes. Over 12,000 project managers have become certified to run Scrum projects . Since its origin on Japanese new product development projects in the 1980s, Scrum has become recognized as one of the best project management frameworks for handling rapidly changing or evolving projects. Especially useful on projects with lots of technology or requirements uncertainty, Scrum is a proven, scalable agile process for managing software projects.
Through lecture, discussion and exercises, this fast-paced tutorial covers the basics of what you need to know to get started with Scrum. You will learn about all key aspects of Scrum including product and sprint backlog, the sprint planning meeting, the sprint review, conducting a sprint retrospective, activities that occur during sprints, measuring and monitoring progress, and scaling Scrum to work with large and distributed teams. Also covered are the roles and responsibilities of the ScrumMaster, the product owner, and the Scrum team.
This session will be equally suited for managers, programmers, testers, product managers and anyone else interested in improving product delivery.
Agile Methods and Data Warehousing (2016 update)Kent Graziano
This presentation takes a look at the Agile Manifesto and the 12 Principles of Agile Development and discusses how these apply to Data Warehousing and Business Intelligence projects. Several examples and details from my past experience are included. Includes more details on using Data Vault as well. (I gave this presentation at OUGF14 in Helsinki, Finland and again in 2016 for TDWI Nashville.)
M. Kaminskas ir A. K. Remeikienė. LEAN projektas: sėkmės istorijos, iššūkiai ...Agile Lietuva
LEAN projekto, startavusio 2019 metų lapkritį ir į savo veiklą įtraukusio 11 viešojo sektoriaus institucijų, tikslas – sukurti veiklos valdymo sistemą, kurį leistų efektyviau vykdyti veiklą ir padėtų institucijoms geriau tenkinti visuomenės interesus.
„Per daugiau nei dvejus metus diegiant LEAN metodus, procesų valdymo ir rodiklių stebėsenos sistemas turėjome daug sėkmės istorijų ir išmoktų pamokų bei iššūkių. Analizuodami procesus supratome, kad LEAN žengia kartu su skaitmenizacija ir automatizavimu ir tai tapo viena pagrindinių mūsų projekto krypčių“ ,- sako M. Kaminskas ir A. K. Remeikienė.
B. den Haak. How to make OKRs Lean AgainAgile Lietuva
OKRs are a goal-setting, strategy execution tool that involves setting ambitious goals that lead to measurable results. The thing is, over the years, OKRs have gotten too complicated - they need to be put on a diet - and that’s where Lean OKRs step in. They are hyper-focused on one single OKR to rule all others. Often, OKRs are not set up for success and thus tossed aside.
There are four (and a half) common reasons why your OKRs aren’t working. Among them, the importance of finding a rhythm for making OKRs part of your way of working, leading teams with trust, and getting the foundation in place so teams aren’t running before they learn how to walk.
D. Aitcheson. How to make forecasts that are actually accurate.Agile Lietuva
If you're fed up with endless arguments, over whether a story should be 3 points or 5 points? Irritated with having to provide estimates to your management that you know are probably going to be wrong? We investigated that there's a BETTER WAY. Can we make the unpredictable world of product development a little more predictable?
Aleksandra Černiauskienė. Misija Bloomberg: Agile pagal amerikiečiusAgile Lietuva
Bloomberg projektas iš esmės skirtas išmokyti valstybinio sektoriaus inovacijų komandas naudoti Design Service mąstymą diegiant projektą Agile metodu.
Vilnius dalyvavo Skaitmeninių inovacijų iniciatyvoje, su „Bloomberg Philanthropies“ ir partneriais iš Future gov, Londonas.
Projekto tikslas – paspartinti skaitmenines inovacijas, siekiant patobulinti gyventojams svarbias paslaugas. „FutureGov“ dirbo su Vilniaus savivaldybe, kartu kurdami projektą ir iš naujo modeliuodami paslaugą, kaip gyventojai gali naudotis suaugusiųjų socialinėmis paslaugomis.
Šis projektas yra įvairiapusiškas, ne tik jungtine tarptautine specialistų komanda iš įvairių sričių, bet ir tuo kad siekiant skaitmenizuoti ir optimizuoti paslaugą buvo siekiama užtikrinti, kad piliečiai būtų paslaugos kūrėjai ir greitai gautų reikiamą rezultatą.
Maija Aniskovič. Agile įtaka komandos motyvacijai.Agile Lietuva
Susitkimo metu Maija pakvietė dalyvius padiskutuoti, kaip Agile filosofija, principai skatina mus jausti didesnę motyvaciją ir kodėl svarbi savirefleksija bei komandos partnerystės jausmas;
Taip pat pasidalino įžvalgomis ir patirtimi, kokie Agile įrankiai pasiteisino labiausiai, kokią įtaką jie padarė ir kaip pasikeitė emocinė atmosfera komandos viduje.
dr. E. Janiūnienė. Asociacijos Agile Lietuva atlikto Agile tyrimo pristatymasAgile Lietuva
Agile Lietuva savanoriai atliko Agile praktikų ir principų taikymo projektų valdyme tyrimą, siekdami išsiaiškinti organizacijų patirtis diegiant ir naudojant inovatyvius projektų valdymo metodus. dr. Erika Janiūnienė pristatė duomenų analizės rezultatus.
M. Aniskovič. Laužome stereotipus: Agile gali drąsiai taikyti visiAgile Lietuva
Agile pusryčiai – tai kasmetinė asociacijos Agile Lietuva konferencija, skirta valstybinio sektoriaus atstovus supažindinti su iteraciniais-inkrementiniais projektų valdymo metodais (angl. agile), jų pritaikymo galimybėmis įsigyjant, įgyvendinant ir valdant skirtingus projektus.
R. Krukonis. Reikalingas greitas rezultatas – pakeiskime projekto darbų organ...Agile Lietuva
Agile pusryčiai – tai kasmetinė asociacijos Agile Lietuva konferencija, skirta valstybinio sektoriaus atstovus supažindinti su iteraciniais-inkrementiniais projektų valdymo metodais (angl. agile), jų pritaikymo galimybėmis įsigyjant, įgyvendinant ir valdant skirtingus projektus.
M. Jovaišas. Viešojo sektoriaus lankstumas įgyvendinant transformacijasAgile Lietuva
Agile pusryčiai – tai kasmetinė asociacijos Agile Lietuva konferencija, skirta valstybinio sektoriaus atstovus supažindinti su iteraciniais-inkrementiniais projektų valdymo metodais (angl. agile), jų pritaikymo galimybėmis įsigyjant, įgyvendinant ir valdant skirtingus projektus.
A. Kovaliov. Kas nėra Agile jaunystėje, tas neturi širdies. Kas nėra Watefall...Agile Lietuva
Agile pusryčiai – tai kasmetinė asociacijos Agile Lietuva konferencija, skirta valstybinio sektoriaus atstovus supažindinti su iteraciniais-inkrementiniais projektų valdymo metodais (angl. agile), jų pritaikymo galimybėmis įsigyjant, įgyvendinant ir valdant skirtingus projektus.
V. Vasiliauskas. Nestandartinis atvejis: nuo Kanban prie ScrumAgile Lietuva
Susitikimo metu išgirdome istoriją kaip Teamhood produkto kūrėjai perėjo nuo Kanban prie Scrum metodikos. Taip pat sužinojome, ką turi bendro gyvavimo ciklas ir skirtingų Agile metodų taikymas.
Leonard Vorobej. Agile projektų valdymas pradedantiesiemsAgile Lietuva
Viešojo sektoriaus atstovams skirto 12-ojo nuotolinio bendraminčių susitikimo metu:
- susipažinome su Agile principais ir vertybėmis;
- nuotoliniu būdu „sukurėme“ saugaus eismo mokymo priemonę;
- sužinojome apie populiariausius Agile metodus ir praktikas.
Giedrė Žemulaitytė. Agile personalo skyriaus valdyme Agile Lietuva
Agile evangelistai jau seniai kalba apie platesnį Agile darbo organizavimo filosofijos pritaikomumą. Paskutinis Scrum gido atnaujinimas tik patvirtino šią tendenciją - jame asociacijų su programinės įrangos kūrimu bei IT liko minimaliai.
Agile Lietuva bendruomenė buvo supažindinta su šia tendencija, meetup'o metu, kurio tema - Agile už IT ribų.
Gabija Fatėnaitė. Agile ir Scrum turinio kūrimo ir marketingo komandoseAgile Lietuva
Agile evangelistai jau seniai kalba apie platesnį Agile darbo organizavimo filosofijos pritaikomumą. Paskutinis Scrum gido atnaujinimas tik patvirtino šią tendenciją - jame asociacijų su programinės įrangos kūrimu bei IT liko minimaliai.
Agile Lietuva bendruomenė buvo supažindinta su šia tendencija meetup'o metu, kurio tema - Agile už IT ribų.
Gediminas Milieška. Agile kelionės: nuo transformacijos iki planavimo dideliu...Agile Lietuva
Nuotolinio susitikimo metu Gediminas Milieška ir Denis Vanpoucke atskleidė spalvotus Agile kelionių užkulisius. Išgirdome dvi istorijas: pirma - apie pirmus žingsnius Agile transformacijoje, o antra - apie Agile planavimą dideliu mastu. Pranešėjai pasidalino žiniomis, patirtimi ir iššūkiais, su kuriais jiems teko susidurti šiose skirtingose Agile kelionėse.
Denis Vanpoucke. Agile kelionės:nuo transformacijos iki planavimo dideliu mastuAgile Lietuva
Nuotolinio susitikimo metu Gediminas Milieška ir Denis Vanpoucke atskleidė spalvotus Agile kelionių užkulisius. Išgirdome dvi istorijas: pirma - apie pirmus žingsnius Agile transformacijoje, o antra - apie Agile planavimą dideliu mastu. Pranešėjai pasidalino žiniomis, patirtimi ir iššūkiais, su kuriais jiems teko susidurti šiose skirtingose Agile kelionėse.
The Team Member and Guest Experience - Lead and Take Care of your restaurant team. They are the people closest to and delivering Hospitality to your paying Guests!
Make the call, and we can assist you.
408-784-7371
Foodservice Consulting + Design
Senior Project and Engineering Leader Jim Smith.pdfJim Smith
I am a Project and Engineering Leader with extensive experience as a Business Operations Leader, Technical Project Manager, Engineering Manager and Operations Experience for Domestic and International companies such as Electrolux, Carrier, and Deutz. I have developed new products using Stage Gate development/MS Project/JIRA, for the pro-duction of Medical Equipment, Large Commercial Refrigeration Systems, Appliances, HVAC, and Diesel engines.
My experience includes:
Managed customized engineered refrigeration system projects with high voltage power panels from quote to ship, coordinating actions between electrical engineering, mechanical design and application engineering, purchasing, production, test, quality assurance and field installation. Managed projects $25k to $1M per project; 4-8 per month. (Hussmann refrigeration)
Successfully developed the $15-20M yearly corporate capital strategy for manufacturing, with the Executive Team and key stakeholders. Created project scope and specifications, business case, ROI, managed project plans with key personnel for nine consumer product manufacturing and distribution sites; to support the company’s strategic sales plan.
Over 15 years of experience managing and developing cost improvement projects with key Stakeholders, site Manufacturing Engineers, Mechanical Engineers, Maintenance, and facility support personnel to optimize pro-duction operations, safety, EHS, and new product development. (BioLab, Deutz, Caire)
Experience working as a Technical Manager developing new products with chemical engineers and packaging engineers to enhance and reduce the cost of retail products. I have led the activities of multiple engineering groups with diverse backgrounds.
Great experience managing the product development of products which utilize complex electrical controls, high voltage power panels, product testing, and commissioning.
Created project scope, business case, ROI for multiple capital projects to support electrotechnical assembly and CPG goods. Identified project cost, risk, success criteria, and performed equipment qualifications. (Carrier, Electrolux, Biolab, Price, Hussmann)
Created detailed projects plans using MS Project, Gant charts in excel, and updated new product development in Jira for stakeholders and project team members including critical path.
Great knowledge of ISO9001, NFPA, OSHA regulations.
User level knowledge of MRP/SAP, MS Project, Powerpoint, Visio, Mastercontrol, JIRA, Power BI and Tableau.
I appreciate your consideration, and look forward to discussing this role with you, and how I can lead your company’s growth and profitability. I can be contacted via LinkedIn via phone or E Mail.
Jim Smith
678-993-7195
jimsmith30024@gmail.com
The case study discusses the potential of drone delivery and the challenges that need to be addressed before it becomes widespread.
Key takeaways:
Drone delivery is in its early stages: Amazon's trial in the UK demonstrates the potential for faster deliveries, but it's still limited by regulations and technology.
Regulations are a major hurdle: Safety concerns around drone collisions with airplanes and people have led to restrictions on flight height and location.
Other challenges exist: Who will use drone delivery the most? Is it cost-effective compared to traditional delivery trucks?
Discussion questions:
Managerial challenges: Integrating drones requires planning for new infrastructure, training staff, and navigating regulations. There are also marketing and recruitment considerations specific to this technology.
External forces vary by country: Regulations, consumer acceptance, and infrastructure all differ between countries.
Demographics matter: Younger generations might be more receptive to drone delivery, while older populations might have concerns.
Stakeholders for Amazon: Customers, regulators, aviation authorities, and competitors are all stakeholders. Regulators likely hold the greatest influence as they determine the feasibility of drone delivery.
Oprah Winfrey: A Leader in Media, Philanthropy, and Empowerment | CIO Women M...CIOWomenMagazine
This person is none other than Oprah Winfrey, a highly influential figure whose impact extends beyond television. This article will delve into the remarkable life and lasting legacy of Oprah. Her story serves as a reminder of the importance of perseverance, compassion, and firm determination.
Artificial intelligence (AI) offers new opportunities to radically reinvent the way we do business. This study explores how CEOs and top decision makers around the world are responding to the transformative potential of AI.
9. Conway’s Law
Organizations which design systems ... are constrained to produce designs which
are copies of the communication structures of these organizations.
Melvin Conway
If you have four groups working on a compiler, you'll get a 4-pass compiler.
Eric S. Raymond
12. Experience: “Introduction to newcomers”
The changing topic of my presentation to newcomers:
Our general
processes
What teams
really do
Why organised
this way?
13. Our general processes
● Organisation: Product Owner, Scrum Master, development team
● Sprints, daily stand-ups, planning meetings, retrospectives
● Two-weekly release process
14. What teams really do
● Kanban instead of Scrum
● No Scrum Master
● Either Product Owner or Scrum Master fulfils many project management
tasks
● Release-when-ready
● OKRs for planning
● Different communication preferences for dealing with other teams
● Different outcomes: product artefact, infrastructure, or service.
15. Why organised this way?
● Why this division into teams, rather than another?
● Is there a better explanation for actually followed processes than iterative
inspection & adaptation by teams?
● What is the role of the team’s “product” in all this?
19. Four cases
1. Archetypical “game” team
2. Video team
3. Common Cores: back end
4. Changing position of RNG
20. Case 1: archetypical “game” team
● Create new games
● Maintain existing games
● Scrum framework
● Two week release cycle
● Cross-functional:
graphical design, business analysis, front-end, back-end, QA
● Natural split of teams over different games
21. Case 2: Video team
Streaming
video
Game
Interaction
Playable
Game
integration
22. Case 2: Video team
● About 30 people, no PO, no SM
● Partly single people working on individual R&D projects
● Support for specific features / problems of games teams
● Release-when-ready
● Numerically specified goals
● Objectives and Key Results (OKRs) as basis for planning
23. Comparison
1. Game team
● Outcome is a releasable
product
● Multi-disciplinary effort
● Certainty about outcome of
effort
● Uncertainty about value of
outcome: stakeholder input
needed
2. Video team
● Outcome is measurable
improvement
● Research: uncertainty about
outcome of effort
● Certainty about the value of
outcome: just measure it
24. Case 3: Common Cores: back end / front end
● Shared functionality between games
● With crystallisation of games ever more shared functionality defined
25. Case 3: Common Cores: back end / front end
Back end
● Architecture
● Can impose technical interface on games teams
● Relatively easy to create automatic tests for
Front end
● Dependency on devices actually used by end user
● All code ends up in the user’s device
26. Case 3: Common Cores: back end
Team A Team B
Single code
base
27. Case 3: Common Cores: back end
Team A Team B
Product A Product B
Team C
Common
Core
28. Case 3: Common Cores: back end
Team A Team B
Product A Product B
Team C
Common
Core
29. Case 3: Common Cores: back end
Back end
clustering DB messaging
Common
functionality
Roulette Blackjack …..
30. Case 3: Common Cores: back end
Back end
clustering DB messaging
Common
functionality
Roulette Blackjack …..
Games
Features
31. Case 3: Common Cores: back end
Back end
clustering DB messaging
Common
functionality
Roulette Blackjack …..
Production
Operations
Numbers
32. Example 4: Changing position of RNG
Team goal:
Recreate existing games, but with 3D animation rather than video.
Technological project:
● Technically innovative
● New architecture: anything on the front end and back end can change
● No integration with existing game code
● Scope already defined
● One team and one Product Owner
33. Example 4: Changing position of RNG
Stability of architecture allows for different distribution of work over teams
All can
change
Common
back end
3D Common
front end
Specific
front end
34. What we have seen
The architecture of our product can influence our processes by:
● Making splitting of total effort into teams effective
● Reducing need of individual interaction by code interfaces
● Allowing specialization
● Increasing focus of a team (narrow down), or
● Extending freedom to change code by a team (widening)
35. Lessons
If:
● If goals are confusing …
● If processes are too complicated ...
● If a team is not productive …
Then:
See if a change of the product can help.
Overall structure:- brief introduction: I will be talking about the relation between organisation, processes, and product- Evolution Gaming as context for the talk- Four case studies from teams/departments in Evolution Gaming- Two more examples of changing the product to be able to change the organisation or process- Take aways
Before I start a question: what is odd in this picture?
To make anything we need some kind of organisation. A team, with people working in specific roles. A department. Or a whole company. At a team level, we can think of a Scrum Team, consisting of Product Owner, Scrum Master, and developers.
To produce any outcome, this organisation has to do something. Not just anything, it has to follow some processes. Both within organisational units and between them. We can think of releasing a working increment iteratively, having daily stand-ups, agree on and respect definitions of done, inspect the result, and possibly adapt.
If we want to talk about “agile frameworks” we are looking at a combination of organisation and process.
The normal account in Agile theorising goes like this: when we get our organisation and processes in order, we can create any product we happen to want. From the viewpoint of having clear roles that one can get educated in, train for, and be hired for, there is good sense: the Agile Coach understands about processes and how to transform the organisation, independent of any knowledge of preference of the product.
Conway’s Law comes down to “The organisational structure will influence (or even determine) the structure of the product.
What I want us to look at today is the other direction: given the product we are trying to create, what combination of organisation and processes would be most suitable for creating it? Getting back to Conway’s Law: if we want to create a four-pass compiler, how should we organise our teams?
I will tell about my observations on the relation between process, organisation, and product in Evolution Gaming, a company that provides “live casino” to online businesses. These brand the games and present it to game players. Think of Evolution Gaming as primarily a big film studio in which the majority of its about 5000 employees are game presenters, like the man at the Roulette wheel on the picture.
Some 300 people work in IT to create and operate the software that optimally streams the video from the studio and brings it together with the user interface that allows game players with computers, tables, or mobile phones to actually play the game as in a casino.
In my role as Scrum Master lead I have given a number of introductions to newcomers in Engineering. Based on feedback in those meetings I gradually changed the topic from what we say we do to actual practices and to the way teams fit into the overall organisation.
… after the list: this is not meant as a contrast with the earlier account. It is not that many teams lost the way and deviated from Scrum. The point of the changing focus is just that it turned out to be of more interest for people to hear about actual practices than to hear a recount of what is in the theory books.
After recounting actual practices the next step is finding answers to the question why the situation is as it is, with these differences per team.
Growing start-up: How do we get from ten people creating a single product to three hundred people creating a variety of related products? How about all being one big team? Everybody interacts with everybody and all are team mates. QUESTION TO THE AUDIENCE: Would that be good?
Rather than having one huge team, we create a number of smaller teams. Now, we get communication lines within teams and between teams. But how do we split the larger development organisation into teams? What should these teams be responsible for?
Division of police patrol districts for the city of Portland. The patrolling police teams are all doing pretty much the same thing, but in a territory of their own. Territory makes sense, because that is what patrolling is all about: you go from one place to the adjacent one. Police teams don’t patrol specifically red brick buildings or apartments buildings with more than 8 floors.We don’t have such a natural division for teams working on a large software product. Let’s look at a number of teams that I have seen from close by.
A “game” team produces a game like Roulette, Blackjack, Poker, or Baccarat. It creates features that come in the hands of game players, let’s call them end users. A Product Owner is responsible for the team creating the right thing. A Scrum Master - not always there in practice - leads the team through its processes.The reason for having a team per game is that features require decisions, that is, there must be an active Product Owner per game, who understands the market and translates it to a playable game.
The video department’s goal is “continuous video improvement”. Think: minimising “stuttering” of video and optimising the sound experience for game players. Here we seem to have a natural technologically imposed distinction: we have game interaction teams on one side and the team supporting the streaming video on the other. The results of their work are merged in code and at runtime.What struck me is that there is not just a separation of teams, but that processes are very different. My initial stance was: each team can define its own processes, so I will not comment on what they have decided to do. But gradually it came to me that it is important that they got to different ways of working.
What I want to emphasise here is that this is not a mere division into “features” and a “component”. Due to the nature of the sought outcome we get to a completely different way of setting goals, measuring progress, and organising work.
The teams have a different focus. But also a different relation with stakeholders (feedback cycles), they have different technological challenges (good looking vs effective algorithm), and deal with different uncertainties.
Now, we can take this at face value: this is just how different teams work. But imagine that they are not different teams, that such differences are brought together in a single team: different focus, different release rhythms, different demands for stakeholder feedback, different uncertainties to address. I have seen such a situation in practice and this is detrimental to a team’s cohesion.What we see here is that the different outcomes games teams and the video team have as their goal, they have different ways of measuring the result of their work and different processes of getting their work done.
For now I will not go in the common core of the front end
Now image that we have a single code base. If “Team A” gets into the same code as “Team B”, because they share functionality, this might give rise to conflict. Now we can have interactions between members of the teams like “you broke our code” and “this is the best way to implement that”. Additionally, if the teams create distinct products, they might each have their own backlog and own Product Owner defining desired features and priorities. If these Product Owners want different things, they need to resolve it. That might well be possible, but there are no clear standards for what would be a good way to go forward.
From the previous situation with different teams with different products working on the same shared code, we now make an architectural change: we add a new Team C that has ownership of common code that is split off from products A and B that are now getting a separate code base. What is more that separate code base has a defined interface that is offered to other teams, while the rest of the code is hidden and under the full ownership of Team C.
Our change in product lead to changes in processes. Typically, team C will have its own backlog and Product Owner. If a Product Owner of Team A wants changing in the common core for Product A, the conversation with be with Team C, which has its own Product Owner and own backlog. But in addition to “individual interaction” there is now a common core with a defined interface.Typically, we talk of such an interface in technical terms, but there is good sense here to see it in terms of processes: Team C offers opportunities, sets expectations, agrees not to break existing interfaces, works according to a ranked backlog, has a Product Owner with whom to discuss features and priorities. Part of what previously an open discussion between Teams A and B is now solidified in terms of code. Availability of code is reducing the amount of individual interaction.
This model is scalable. If we include Team B again we see that it can enter into the same processes of an interface to code and a transparent backlog for changes in the common core.
Let’s start with the common back end for games.
From the viewpoint of games teams, they are all sharing common functionality. If they want something specific for their own game from the back end team, they are competing with what other games teams want. Such changes take place in a situation where much is stable. It is already working for multiple earlier products. APIs are taking over what would otherwise be communication between teams.
Another side to the back end is a two-way communication with production operations. From the view of the back end team, it is representing games teams: we want such-and-so facility and it seeks to get them working through having well-configured systems. In production. Meanwhile, production operations seeks to optimize speed, throughput, and uptime. Very specific requirements are progressing “upward” to games teams.As earlier with the example of the video team, we see that the backend and production operations can focus on results in terms of numbers, leaving it to games teams to focus on features.
Common code for different RNG games
Integration in common front end code
3D and specific front end are both clearly in the game domain and can be picked up by the game team with direction of the game Product Owner.
Specialism: through experience and generalization we have a more stable architecture now, which work to be split over different teams.