Craig is at YOW! West in Perth and sits down with Dr. Anita Sengupta, a rocket scientist and aerospace engineer at NASA Jet Propulsion Laboratory (and since this interview was recorded now a Senior Vice President at Hyperloop One). They geek out talking about space exploration as well as the important topic of diversity:
When you are doing something for the first time, you have to come up with out of the box solutions – first you need to make it work, and then you need to make it last
The biggest issue is to get enough people into the pipeline from under-represented groups, one thing we can do is more public outreach at the school level
You come up with more interesting solutions when you work with diverse teams, and, when you intersect with other universes you learn so much
Communities of practice are about building knowledge, giving people support networks they need to give them the confidence to do their jobs well and making that practice better and as good as it can be
Most communities of practice are organic but they tend to be closed and often lack direction
Having an idea of who the community is for and why it is exists, get people together and regular diary times are essential
Distributed communities work but face to face is always best because it builds trust faster
Agile Team Onion is all about communication and thinking about the Agile team and about how you pragmatically communicate with the rest of the organisation – a modern day RACI
The word agile means a lot of things to a lot of people that frightens them – how do we take a step to making things better without shoving it down their throat
Test Driven Development is something you learn over very many difficult weeks or months, it is a hard concept to teach, it is becoming more accepted but still slowly
“Clean Code” – had to abandon a tradition in software development when writing this book and laid out rules telling people what to do
“The Clean Coder” – was a backlog from “Clean Code” about how to be a professional programmer
The ranks of programmers are doubling every 5 years, so half the people doing the work have less than five years experience, the industry is in a state of perpetual inexperience
Craftsmanship movement began as a response to the technical community feeling like they were kicked out of the “agile” house that they built as it became more about people and process – the desire is to bring the two camps back together
Kent Beck said “The goal of agile was to heal the divide between technology and business” – the focus has been mostly on the business side
We need a set of ethics and standards that define a profession for software development – the agile and software craftsmanship communities are the right ones to do this as it needs to be done by practitioner
There are anti-patterns with doing XP at scale, continuous delivery was born from the learnings from that
Continuous delivery is just extending continuous integration to more of the software development practice (and continuous integration requires test driven development)
Continuous delivery works because it is the application of the scientific method to software development
If you work in an iterative, imperative, experimental way and you take continuous learning seriously and take cycle time as a serious measurement you will naturally drive out agile, lean, systems theory and DevOps
Most common two ways to introduce continuous delivery to your organisation – need to get cover from senior management to make change or you do it secretly at the grass roots – the fast feedback cycle is important (build feedback in about 5 minutes and ready and deployable in about an hour)
DevOps is a terrible name – we are talking about collaborative cross functional teams and it is more than just developers and operations
Continuous delivery is focused on shortening the feedback cycle from having an idea to getting the idea into the hands of users and figuring out what our users make of the idea – that’s software development, to do whatever it takes
Continuous delivery is working in a way so that my software is always in a releasable state, continuous deployment is if all my automation says my software is in a working state I can just automatically push it to production
We have data to show that continuous delivery makes high quality software faster, creates more money for the organisations that use it, reduces defect rates significantly and makes people working in that environment happier
It changes the way you design, approach databases and the way you test
Continuous Delivery tools still aren’t mature enough
The deployment pipeline is a seriously strategic resource because it is your only route to Production – need to be able to version and test it like any other Production code
It’s as much about the culture of the team than it is about the technology, it frees teams up to do experimentation
Craig is at YOW! Conference in Sydney and talks science and psychology with Dr. Brian Little, author of “Me, Myself and Us” and professor at Cambridge University and Carleton University and they analyse:
There are 5 dimensions of personality – OCEAN – openness, conscientiousness. extraversion, agreeableness and neuroticism
Biogenic features of personality – neurophysiology, sociogenic and idiogenic
We can often act out of character, we are not bound by our biochemistry
What are the core projects in your life that drive your behaviour
Skeptical of personality tests at work such as Myers-Briggs because the results are not fixed, they are good for starting a conversation but deadly if they conclude a conversation
Don’t just ask “How are you doing?” but ask “Really, how are you doing?” to show that you are taking an interest and care in your people and their projects and aspirations
We need to look at the research in this space to find exercises that we can use in the workspace to better help and understand our people
“Me, Myself and Us” is written for the person who is waiting in Starbucks for that friend that is late again
Rob, Declan, Daya, Braiden and Homad all enjoyed Dr. Brian Little’s “Personalities at Work” keynote, Andrea Burbank’s fast paced talk and the benefits of volunteering at a big tech conference
Evolutionary Architecture is the next stage on applying Agile practices to software development at the systems level and be able to respond to changes in the environment that affect the architecture
Need to determine for your system what constitutes good, fitness functions are the documentation and tests to ensure your system meets those characteristics
Need to move the needle on architecture, need to develop tools and techniques to decompose the role
CTO role is more now to set technical direction by setting up communication channels to mine insights that can be rolled out and presented to the market
ThoughtWorks Tech Radar started as a hot technology list of what ThoughtWorkers would love to work on, became a visual radar that is now released twice a year, starts with 250-300 items and they try to get it down to 100 items, something will fade after being in the adopt ring more than twice, the radar is also available as an open source tool or radar as a service
Women leave technology at double the rate as men leave technology, mostly because they are not treated well in the environment
Craig chats with Ryan McKergow, a Business Analyst and Agile Consultant at Elabor8, at the YOW! West conference in Perth about being an Agile BA:
Business Analysts work with business people to understand the problem they want to solve and then work with developers to take those expectations and help them build the system
Writing stories and requirements is the boring part of the job – the exciting part is getting different people problem solving together
Story Kickoff – having a conversation at the start of a story (one of the three C’s), get the whole team in front of a whiteboard and drawing it out
Reduce the amount of time between analysis and development as much as possible, try not to have a lead time of more than one sprint ahead where possible
The further ahead you complete analysis, the more likelihood you will introduce waste and rework
Showcases and review sessions are a good engagement piece to replace traditional signoffs and to build trust
Document conversations as acceptance criteria within stories, but the tool or document does not replace conversations
Best way to learn new approaches is to give it a go
Craig chats with Paul Rayner, a BDD and DDD expert who helps people bridge the gap of collaborative design between developers and business representatives, at YOW! West in Perth, and two old friends talk about the following:
* Agile Alliance Functional Testing Tool workshop (2011 in Salt Lake City)
* “Domain Driven Design” (Eric Evans) and “Working Effectively with Legacy Code” (Michael Feathers)
* The heart of DDD is about developing a rich model to allow you to deal with complex business domains
* Domain Driven Design Europe conference
* Design done well should pay off immediately, as well as in the medium to long term as well
* There are lot of overlaps between DDD and BDD, particularly the use of an ubiquitous language, BDD is a test first way to drive out your domain model
* YOW! West Keynote “EventStorming”
* Given When Then has a close relationship to modelling your domain events – a good model is one you can make assertions against
* “User Story Mapping” (Jeff Patton) is an example of how the community has started to build useful collaborative tools
* Example Mapping (Matt Wynne) visualises the perspectives of the Three Amigos and puts the focus on our understandings and our ignorances and provides a technique for the conversation
* Deliberate Discovery (Dan North and Liz Keogh) – where is our ignorance
* “Introducing EventStorming” (Alberto Brandolini) is a way of mapping out the domain or the business process using coloured sticky notes – what are the important events to support the behaviour required in our system
* You get a lot better result when you start at the end and work backwards to find insights
* Can use EventStorming to support lean processes such as value stream mapping (Craig’s lightbulb moment)
* “Coaching Agile Teams” (Lyssa Adkins) and how to make yourself a better coach
* Resistance as a Resource (Dale Emery) – helps to have a champion that you can support
* DDD continues to grow and evolve – the popularity of EventSourcing and CQRS have helped this
Craig is at YOW! Conference and catches up with Anne-Marie Charrett who is well known in the testing community as a trainer, coach and consultant but also for her support of the community:
Speak Easy – Speak Easy is a voluntary program designed to increase diversity in tech conferences through dedicated conference spots, mentoring and events
Testing challenges include microservices (the risk of bounded context and breaking things down and missing the whole) and working together as developers and testers