The Software Practice Advancement Specialist Group of BCS The Chartered Institute for IT - is noted for its successful annual conferences that provide practitioners a rich programme of workshops, tutorials and presentations, over multiple days and streams (the SPA Conference in June 2017 in London ran three parallel streams over three days).

The SPA conference has been valued by practitioners and generates a healthy surplus that supports year-round monthly evening events in London and a free showcase event - Mini-SPA, away from London. Mini-SPA provides a taste of Software Practice Advancement to a broader audience and includes sessions from SPA conference, as also complementary sessions around the broader theme of software practice development.

This year's  Mini-SPA, hosted in Leeds, showcases six nuggets - three taken directly from the SPA conference, two from other events abroad that have been complementary to the SPA conference theme and a session that provides overview of advancement in software practice over the last decade.

The event will benefit a broad audience - software practitioners, professionals working with them, clients/consumers of software practice, students and academics. A couple of sessions will feel more technical and a couple will give a taste of the workshop environment at SPA conference.

The tutorial environment at SPA conferences is usually much more engaged and involved with longer sessions. Mini-SPA though will give delegates a taste of the learning and good practice exchange opportunity SPA conference provides, with many delegates attending the annual conference on a regular basis. It is also our intention to record sessions from this event and make some of these available to an even wider audience online.

 

 

Programme

 

 

 

Tea and Registration                                                             0930-0950

 

Introduction by Chair                                                            0950-1000

 

Amit Bhagwat                                                                                  

 


 

First Session                                                                           1000-1145

 

 

 

Advances in Software Practice - Reflections & Lessons from the Last Decade

 

Immo Huneke                                                                                    60 min

 

Immo has been a veteran of Software practice, a regular participant in SPA conferences and host/organiser of SPA monthly London events  with a rare insight into how software practice has evolved over the years. This session is his personal reflection on what have been key aspects of Software Practice over these years, how practitioners have defined-understood-perceived the disciplines, whether and how it has advanced over the years and what patterns, inventions, innovations, re-invention and repeating of certain time-tested principles is emerging.

 

                                                                                  

 

Goal Setting, the Agile Way

 

Will Jacobs                                                                                        45 min

 

Setting goals is a sure-fire way to improve, right? Whether it's getting fit, learning new things, or progressing in our career, there's always something we can set our sights on, call it a goal and start running full-speed towards it. But you know how it goes. You start out with a lofty goal, good intentions, and lots of energy and motivation... and for a while everything works out. But new habits are hard to make, old habits are hard to break, and more often than not you'll find yourself procrastinating, forgetting or just plain quitting on your commitment.

 

 In this session, I will talk about setting meaningful goals, and how to stand the best chance of achieving them. I'll look at why setting goals is helpful, how to choose your goals, and how to set yourself up with a plan of attack. I’ll also show how many of the practices and methods we use every day in Agile development can be applied to the practice of goal setting and goal fulfilment. I'll be looking at questions like these:

 

- Are big goals better than small goals?

 

- Are some goals better for you than others?

 

- What priority should you give to each goal? (The most important task is not always what you think it is)

 

- How do you beat the procrastination demons and get stuff done?

 

- How do you give yourself the best chance of sticking to your commitments?

 

- How do you stay motivated throughout?

 

- What happens to your goals as time goes on, and your situation changes?

 

  

 

Lunch                                                                                        1145-1230

 

 

 

Second Session                                                                       1230-1430

 

 Performance Test Driven Development in Virtual Time

 

David Wei                                                                                      45 min

 

Test driven development (TDD) can give us a lot of information about functional correctness of a software system, but the way it is generally used currently cannot give much information on the performance characteristics of the implemented system. We typically do not find out about performance problems until the whole system is tested together, or worse, when it fails in production.

 

 In this session we introduce new techniques for constructing unit tests that allow us to explore performance characteristics and detect problems before deploying the software. We can use virtual time to run performance experiments without waiting for real time to elapse, so we can get the fast feedback we are used to from the TDD cycle.

 

 We will explain the techniques and provide some exercises for participants to try them out using our new tools. The tools and techniques present are based on adapting academic performance modelling and measurement work to a more practical context, allowing developers to harness it in their day to day development process.

 

                                                                                    

 

Visualising Connascence to Drive Refactoring

 

Radu   Gheorman                                                                              75 min

 

Connascence is a way of describing the coupling between different parts of a codebase. And because it classifies the relative strength of that coupling, Connascence can be used as a tool to help prioritise what should be refactored first.

 

 

 

Recently (particularly through the work of Kevin Rutherford) connascence in code (as originally described by Page-Jones) has become a topic of discussion and a mental device to help us think about and prioritise refactoring.

 

 Can we build automated tool support for this? If we could, how could that help us to identify different types of coupling and possible refactoring targets in our code?

 

 This session will present our latest work on extending the ideas of Rutherford and Page-Jones and implementing tools to help developers. Helping them to navigate, assess and refactor Java code by identifying and visualising connascence.

 

  

 

Tea                                                                                 1430-1445

 

  

 

Third Session                                                               1445-1645

 

 Empowerment Through Collaboration

 

Alex Zananiri                                                                                    45 min           

 

Do you want to work in an environment where everyone respects, trusts and values each other? I know I certainly do! IT professionals have some of the most creative minds on the planet. We are constantly solving problems and trying to think of ways to improve. So how can we encourage creativity, if we can’t voice our ideas? Whether you call it a discussion, small-talk or even jabber, the power of conversation should never be underestimated. There are many ways to collaborate, but are we doing these effectively? Throughout my career, I have noticed that some of the hardest issues would have been solved sooner if we, as a team, had collaborated earlier and more often.

 

Team Work – Do these words frighten you? We all have vastly different experiences when it comes to working in teams: some experiences more positive than others. It can be difficult to see the light when people struggle to understand or appreciate the value of collaboration. It can feel like fighting a losing battle at times, this feeling can spread through a department, making work a tiresome place to be. Let’s put an end to this!

 

 This talk shares my experience of how positive collaboration has helped me to gain trust and respect from my colleagues, whilst establishing great friendships along the way. I will discuss how effective collaboration has helped our development team thrive. I don’t claim to be an expert, but I fortunately have experienced both sides of the coin. I will be highlighting some key processes, that if used correctly can have a great impact on your team, not only for your efficiency, but for your happiness too.                                                 

 

 Microservices: the tip of the iceberg

 

Giovanni Asproni                                                                             75 min

 

What does it take to get to a system where I can create a new service in just a few lines of code, and live with the result? In the transition to microservices, it’s critical to consider, and provide support for, the whole lifecycle of a service. Except that now it’s a fleet of services where there are just too many to manage by hand.  This talk will discuss some of the technical and organisational infrastructure that makes microservices work in practice. The goal is to share with the audience experiences working with microservices and give them some hints and tips on how to proceed if they are considering the use of microservices for their own projects.

 

We will touch on the most important technical, organizational and process related aspects, e.g.:

 

- Start from a monolith or directly with microservices?

 

- Fundamental system properties: testability and supportability

 

- Dealing with failures

 

- Automation

 

- Team organization: feature, component, or something else?

 

- Requirements streams and teams

 

- etc.

 

  

 

Conclusion by Chair                                                              1645-1655

Amit Bhagwat                                                                       

Sorry, this event is not available to share on social media.
BCS mini SPA 2017
Date and time
30 November, 9:30am - 5:30pm
Location
St George’s Centre
60 Great George Street
Leeds
England
LS1 3DL
Price
This event is sold out