Full disclosure - I am starting a new job in DevSecOps next week. The company I am joining is in the midst of its adoption of DevOps and, AFAICT, has work to do on the security aspects that DevSecOps brings into the mix as well - certainly common enough laments. One thing I wanted to establish for myself early on was this: what will DevSecOps look like at that company and, in particular, which…
Six of the last seven posts on this site have been about the application of LLMs to various kinds of software development work beyond programming: requirements , architecture , design , and threat modelling , for example, have all gotten treatment, all using the " Vie " game project as a backdrop against which to assess the value of LLMs in these different practices. It's safe to say I've fallen…
Certainly the ways in which LLMs can transform various practice in software development has beguiled me, if the previous six posts on this site are any indication - but like everyone else, I have found endless use for them in many other areas of interest. This post is about art and how I, possessed as I am of a barren absence of aesthetic sense and a similar apportionment of skill, have managed to…
This is the sixth in a series of posts about the integration of LLMs (like the ChatGPT family of models) into the software development process broadly - that is, beyond code generation. One post roughed in the value of task-specific LLM prompt preambles as a way to encourage uniform task performance, and nudge engineering process improvements along. Two others showed ways to employ LLMs in…
This is the fifth in a series of posts about the integration of LLMs like the ChatGPT family of models into the software development process broadly - that is, beyond code generation. One post roughed in the value of task-specific LLM prompt preambles as a way to encourage uniform task performance, and nudge engineering process improvements along. Two others showed ways to employ LLMs in…
This is the fourth in a series of posts on the integration of LLMs into software development work beyond programming. One roughed in the value of task-specific LLM prompt preambles as a way to encourage uniform task performance, and nudge engineering process improvements along. Two others showed ways to employ LLMs in requirements development and prioritization work , and, building on that, ways…
LLMs and High-Level Architecture This is the third in a series of articles presenting an exploration of the ways in which LLMs like the various ChatGPT models can be employed to advantage in software development beyond programming. The first examined their use in requirements development work while the second looked at the way project- and task-specific prompt prefixes can be developed both to…
Making any significant organizational change can feel like pushing on a rope. We start with an existing process, and we have a desired new process we want to adopt - or perhaps this is the first attempt to concretize our standard. Either way - a brand spanking new process or a tweak to an existing one - we must disseminate knowledge of this new process to everyone who operates it, and ensure that…
No Silver Bullet, Revisited? Fred Brooks , in his foundational essay, " No Silver Bullet ," argues that "there is no single development, in either technology or management technique, which by itself promises even one order of magnitude improvement within a decade in productivity, in reliability, in simplicity." He divides the work of software development into the "essence," which are the…
: So You've Got a Product Backlog - Now What? This post provides an overview of Kano Analysis , which is one way to start to understand how one might address the problem of product or release definition in a way that maximizes the value delivered to users, as defined by the users themselves. I recall Fred Brooks noting in his book, " The Mythical Man-Month " that one responsibility of the was to…
I've heard both developers and senior managers talk about developer efficiency throughout my career. One VP wanted to quantify it as the mean number of hours spent writing code per hours worked. I'll be honest - that one terrified me. What would happen if that number reached 100%? Consider the effect of 0% time spent understanding requirements, working out interfaces with colleagues, reviewing…
A parable taken from various points in my career: A medium sized, multi-team project. A key feature assigned to one of those teams. Many other teams are dependent on that feature and ultimately need to integrate with it. This feature then sits squarely on the project's critical path. A senior manager, recognizing the importance of this feature, meets with the team tasked with implementing it. She…
More than one company I know of follows a development process for their Data Science projects like so: Data Science team Work with Product folks to establish a "Problem Statement" which defines the purpose and, typically, acceptance criteria for the project (for an example, see here ) Perform some initial research to understand the state of the art as it pertains to our problem or, if our work…
Rapid growth in the development team leads to chaos. I've seen that a few times now. Some of it is a question of who is assimilating whom - you see that when you grow crazy fast. But in general, growth in the product development team has nearly always led to quality problems, even when you make concerted efforts to ensure new recruits are brought into the local quality culture. One reason this…
In Scrum training sessions, someone would invariably ask variants of these questions: What kinds of projects aren't a good fit for Scrum? When would you advise against adopting Scrum? I always managed to get caught flat-footed by those questions. I'd stumble through some sort of response but all the while I knew I hadn't really given the matter enough thought. This article is intended to address…
When I was working my way towards becoming a CMMI SCAMPI B&C Team Leader, I took a couple of courses with the SEI . It was an interesting bunch of people that attended those sessions - largely the haute process crowd from the Raytheons and Lockheed Martins of the world, swapping war stories about their drives to attain CMMI Maturity Level 5. As for myself, I was barely paying attention during my…
I once knew a senior manager who, when asked about a well-respected person who had just left their organization, commented that he didn't know why they'd left but that attrition was a necessary part of personnel management. As an outlook on attrition, that's just plain wrong. Rationalizations like these equate whatever successes the organization has had with the methods in place - so if those…
In this video I present Scrum staying close to the canon as it is described on scrum.org. All major aspects of Scrum are covered. This video should be a useful starting point for people wanting to start to understand Scrum and whether or not it will make sense for them in their work. I hope it proves useful. Handouts accompanying the video are available here .
When I was a little baby developer, colleagues used to worry about getting a ton of product releases on their resumes and, similarly, looked for people with lots of product releases under their belts when hiring. People spoke in respectful tones of developers with large collections of "Ship-It" awards . You still hear this kind of talk - for example, people will say things like "at the end of the…
How can we improve our management of risk in Scrum? How can we do so without slowing the pace of our Scrum project with excess overhead? A friend once said to me that Scrum projects don’t really manage risk but rather wait until risks become issues before dealing with them. In a sense, I agree with him – the iterative nature of Scrum development collapses the waveform of risk probability, thus…
I'm making this product backlog template available free of charge and without restrictions on use. All I ask is that you leave the "credits" section in place. This template has the following features: Dynamically sizes the burn-down chart based on the number of planned sprints. The burn-down chart shows at a glance: Planned burn-down for risk and features Actual remaining risk and features…
I'm making this sprint backlog template available free of charge and without restrictions on use. All I ask is that you leave the "credits" section in place. This template has the following features: Dynamically sizes the burn-down charts based on the number of planned sprints. Accounts for holidays (which are customizable). Team member planned absences are accounted for. Supports ideal time…
Below I sketch out some approaches to handling document review and approval in an agile context. The truth of the matter is that most of the discussion is relevant to any project that operates under ISO9001 or implements technical review and approval any other reason – it’s just that the problems alluded to below stand out in in particularly sharp relief on agile projects. Reflecting on this a…
Imagine a product team of seven people. They work together to develop new releases of their product while simultaneously supporting the released versions in the field. Year after year, they get solidly positive feedback on the quick turn-around they provide on customer-reported issues. Historically the team released new product versions about once a year but in the months following their adoption…
Like many developers, I’ve spent more time wishing I’d done Test-Driven Development ( TDD ) than I’ve spent actually doing it. The mistake I’ve made is that when put under excess schedule pressure, I make quality implicitly negotiable by allowing the scarcity of time to drive out all the work I wanted to do to ensure a quality product. I suspect I’m not alone in that. With studies like these…