when relevant content is
added and updated.
I have written these posts several times before. Usually I make a list of a few ‘it’ technologies, a few small and high profile community events and that’s that. Of course, for good reason, I never get to most of these ideas to develop a new skill. Most people are in similar situations, I think. We have things we want to do and no time to make any real progress. 2018 will be different for me. I am starting a new contract in January, and the business I am apart of is rapidly changing and growing. 2018 will be a year of forced skill development. These aren’t things I’d like to do when there is time….if there is time.
Here is the list
Behavior driven development has been in the mainstream software development consciousness for years now. I’ve always been skeptical because the given-when-then format lends itself to building shallow tests. My new client uses this technology heavily, and as far as I can tell does it in a meaningful way. The test team writes the Gherkins, the wrapper code that make the Gherkin run, and then checks everything into the right branch so these tests run in CI. This work is all part of the development process. A code change isn’t done until the BDD testing is built and running. I am looking forward to learning about BDD as a way to augment larger testing strategies.
Continuous Delivery is a software development pattern defined by the ability for a team or person to deliver new code changes to production at any point in time. There is no real cadence to this. Rather than a 2 week sprint, or a quarter long waterfall of software development followed by a release to production, people doing CD push as soon as the change is done (for some definition of done…). My new client works this way. They use small development teams, and all development, testing, and automation is done as part of the feature work. When they say a change is done, that means it is time to send some new code to a production environment. For the past couple of years, I have been working in an old school, release every few months or whenever, type of environment. Before that I worked for years in different companies in a 2 week sprint cadence. Continuous Delivery will be something different and refreshing for me.
The company I work with, Excelon Development, has consistently grown year after year. We are at the point now where we have some large teams that require management. We have to stay in touch with the individual team members to see how they are doing and if there is anything we can do to help. We have to coordinate them all together into a team that functions with a goal. We have to work to coordinate with the client to understand what they want and need and how we can help them. And then we have to wrap all of that together and put a metaphorical bow on it so that the team functions in a way that keeps the customer happy. I have done this on a small scale when I was employed full time at software companies, leading 2 or 3 testers at a time. This scale, and in the context of a company I have skin in the game with, is a new adventure and one I am excited about.
I may not be an expert on these at the end of 2018. Or hey, maybe after a year of full immersion I will be pretty good at some of these. But, these are new skills and I will actually be working on them because they matter. What are you working on over the next year?