BCS SPA Software in Practice

Software in Practice

June 22nd 2022 - Leeds

Programme

Time Speaker Title
10:30-10:40 Amit Bhagwat Introduction and Welcome
10:40-11:40 Keith Braithwaite What lost when XP won
11:40-12:40 Chris Cooper-Bland There is more to a product than its features
12:40-13:30 Everyone Lunchtime
13:30-14:30 Quintin Balsdon Tales of a button that wasn’t a button
14:30-15:30 Natalia Oskina What the shiest person on the team can tell you
15:30-16:00 Everyone Afternoon Break
16:00-17:00 Andy Parker From outage to understanding
17:00-18:00 Pradeep Bhadani Build and test cloud infrastructure using Terraform Modules
18:00-18:20 Amit Bhagwat Closing Session

The Talks

What lost when XP won

Keith Braithwaite, Co-Op

We don’t hear much about eXtreme Programming anymore. Scrum and Kanban had better marketing, SAFe and other large-scale frameworks are more comfortable for large enterprises, all of them provide a better sales tool for consultants and trainers. But, maybe we also don’t hear much about XP because…it won. XP brought to the mainstream engineering practices derived from Smalltalk: Continuous Integration, Refactoring, test-first and Test Driven programming, collaboration by default in Pair Programming, collective code ownership, User Stories, and more. These have been incorporated smoothly into other approaches, and that’s great! Maybe some valuable things have been left behind. And that’s sad. We’ll consider what those might be, and how we might get them back. (top)

There is more to a product than its features

Chris Cooper-Bland, Endava

When you are shaping and developing a product it is easy to focus on the functions, after all this is what the customers constantly talk about. But there are other crucial aspects of a product that you also need to consider, such performance, security and usability to name but a few. These are the Quality Attributes (aka non-functional requirements) of a product implementation. However when you start considering these aspects of a product it can all get very complicated very quickly, causing people to back away slowly, as it is all too scary. In reality though, there are almost always a few critical quality attributes (CQAs) which really make the difference in any particular problem space, and it is these critical qualities that you need to identify, as they are usually hugely influential in the decision-making process. This session will discuss how to handle the identification of the CQAs, initially using case studies, and then some audience participation, to collect experiences of the importance of CQAs across different product areas. (top)

Tales of a button that wasn’t a button

Quintin Balsdon, Spotify

In this talk, I would like to propose that by using accessibility as a tool for refinement, engineers can be more engaged and decrease communication overhead between the different stages of the software development lifecycle. Through the introduction of accessibility metrics, designers, developers and quality assurance can all have a clearer perspective of what is required earlier in the development cycle. (top)

What the shiest person on the team can tell you

Natalia Oskina, Equal Experts

The pandemic has changed our world and the ways that we work. Many of us now operate in a remote-first culture but due to the rapid transition, some subtleties of communication have been lost. Having left behind the traditional office, differences between characters have become more pronounced. Sometimes it is too easy to hide behind the screen; sometimes good intentions get lost through emotionless slack messages. While a team of just extroverts may solve some of these problems it would cause many others. This means that we need to find a way to make everyone shine.

This talk will focus on the ways to empower all members of the team and how effective communication can improve productivity. We will discuss the difficulties that team members may face with remote-first work and what we can do to avoid them. (top)

From outage to understanding

Andy Parker

Outages, big and small, happen. It is how you respond in the moment and in the aftermath that really determines what the outage means. Do you use it as a challenge to figure out who (nothing you did!) caused the outage? Do you restore service and just get back to the real work? Do you use it as a chance to build a learning culture and learning organisation?

Incidents are intricate puzzles of the interactions between social and technical systems. Building a learning culture happens through the actions we take when faced with a puzzle. From collecting information to enquiring into knowns and unknowns to testing hypothesis and even acknowledging the value of different experiences everyone had of the same event. In this session I’ll take you through what I’ve learned over the years to transform these events from stressful, demoralising experiences to useful collaborations. Come prepared with prepared with a recent incident in mind and learn a new way to look at it. (top)

Build and test cloud infrastructure using Terraform Modules

Pradeep Bhadani, Cloud Native Technologies

Cloud adoption across an organization is growing rapidly due to it’s benefit of elasticity and fully managed services. More and more organizations are migrating to cloud from on-premise systems, but building and managing cloud infrastructure in a reliable, efficient and repeatable fashion is a challenge.

Infrastructure as Code(IaC) is a process to manage and provision cloud resources using code templates. The values IaC brings to the organizations are majorly - cost reduction, speedy execution, secure & less error-prone systems.

Terraform is an open-source tool that helps to describe Infrastructure as code and it’s one of the most popular tools to build Cloud Infrastructure in a reliable and efficient way. Terraform has many providers available and can manage resources on different clouds like GCP, AWS, Azure, etc.

In this talk, I will talk about the Terraform modules and how to use them to build Cloud Infrastructure and accelerate the cloud journey. Terraform module allows teams to reuse the code and build infrastructure faster across the organization. As a software practice, testing is a key component when releasing code and I will demonstrate how “inspec-gcp” can test Terraform modules and gain confidence. (top)

The Speakers

Keith Braithwaite - Co-op

Keith Braithwaite MBCS, MIoD is an Engineering Manager at The Cooperative Group. He has led and coached teams that envision, build, and operate software-intensive products and services in the UK, mainland Europe, India, Singapore, and the USA. He was one of the early adopters of eXtreme Programming in the UK and has remained committed to iterative, incremental, evolutionary software development ever since. He has worked in startups, in globally-recognised household names, and many scales in-between. His coaching and training clients have included apprentice software developers and CTOs. He has held board-level P&L responsibility for development endeavours worth 10s of millions of pounds and shipped native code on embedded devices.

Keith studied Physics and Maths as an undergrad, and after a horrific experience as a programmer in a small startup returned to study Software Engineering as a post-grad, believing that there had to be a better way to ship software than sleeping under your desk. Given his background he quickly became a fan of formal and semi-formal methods of specification, design, and implementation of software. After exposure to the Design Patterns movement he began to learn about eXtreme Programming from the originators and started to experiment with it. At first sceptical, and alarmed at the apparent loss of rigour, he became convinced that eXtreme Programming in fact took software seriously as an engineering material. He later learned to manage product development using Scrum, and became Certified ScrumMaster, and also learned the Kanban approach to managing streams of ad-hoc work. He has developed an approach to fitting these together using tools from the Cynefin framework. He has presented and delivered workshops at a wide range of conferences in Europe and the US, including the original XP conferences, the Agile Alliance conference series, ICSE, EuroPLOP, and others. He has been a guest lecturer at the universities of Birmingham, Durham, and Sunderland. He co-authored the first peer-reviewed description of successful distributed eXtreme Programming.

Keith has been a manager of developers for nearly 20 years and has worked in technical sales and engagement management in professional services alongside line management. He holds the Institute of Directors Certificate and Diploma in Company Direction and has served on the board of micro-businesses, small-to-medium enterprises, and Community Benefit Societies. (top)

Chris Cooper-Bland - Endava

Chris has many years of experience in IT, throughout the product life-cycle. Having started as a COBOL programmer, she quickly moved into systems programming and then analysis and design, some technical project management and finally to architecture.

Her first IT job was working on ICL mainframes for the Metropolitan Police civil staff developing a FPN system for parking tickets. She then moved into the financial sector, working for BACS for many years, where she was involved with two complete rewrites of the UK Direct Debt and Credit processing system. It was whilst at BACS that Chris became interested in process improvement, having been part of a skunk works project which tried out a number of agile techniques when they were still new, also at this time she attended one of the first BCS SPA conferences, which was called BCS OOPS at that point. This work led to her taking the lead in the adoption of iterative processes at BACS.

Chris has been at Endava for the last 16 years and currently runs the architecture discipline, as well as working for clients on enterprise and solution architecture assignments and reviews, primarily in the larger financial services clients. This has led to an interest in what actually influences the IT solutions that we produce and how the decision-making process really works in organisations.

She is also involved with IASA, an organisation focused on promoting professionalism in IT architecture, being a contributor to their Body of Knowledge and recently their Women in Architecture initiative. Chris holds an MBA in Technology Management from the Open University. (top)

Quintin Balsdon - Spotify

Quintin (he/him) has been developing Android applications since 2011 and holds an MSc in Computer Science Cum Laude. He has specialised in the areas of test driven development (TDD), mobile accessibility and conducting software developer interviews. (top)

Natalia Oskina - Equal Experts

Natalia is a software engineer with a range of experience and a keen interest in backend development, best practices, and architecture. Natalia has worked across consultancies, covering a diverse range of engagements across sectors. Her project experience covers spectrums of scale and of green-brown-field. She has worked in diverse team structures involving a variety of combinations of provider organisations, independent consultants, and direct employees and different flavours of teams from well-established to under-development, each providing a new experience. (top)

Andy Parker

Andrew Parker is a Software Engineer, Engineering Manager and Software Anthropologist with over 20 years’ experience leading teams in a range of domains from proprietary e-commerce to open source configuration management software. His formal education (Masters in Software Engineering from the Technical University of Munich) and further education (anthropology/sociology, management, and history) are all incorporated in his approach to software engineering and management. Andrew applies his experience and training to bring about autonomy and learning on the teams he works with. He believes that an important aspect of achieving autonomy is growing a team's (and the individuals who make up the team) skills in communication and judgement.

Andrew has previously worked at Puppet, TIM Group, and ION Analytics. Currently he is taking some time off to relax and explore other ideas. During time he hopes to take long bike tours, learn some new programming tools and techniques, and get to know (and help!) interesting people, teams and organisations. (top)

Pradeep Bhadani - Cloud Native Technologies

Pradeep Bhadani is an IT Consultant and founded Cloud Native Technologies to fill the Cloud skills-gap by providing tailored Training and Consultancy. He is a Google Cloud Authorized Trainer and Google Developers Expert in Cloud.

He has extensive experience in building Data Platforms on Cloud and On-premises with great use of automation, delivering technical training. He is a conceptual thinker who effectively partners with architects and senior management to deliver successful projects. (top)