Sometimes in life and work, we become convinced of a need to change before most of those around us. Either we read the tea leaves, or we see the bigger picture, or some how we just were able to jump through the problem straight to a potential solution. Maybe we have worked through all the…
Functional Architecture Principles
Functional Architecture as a discipline has been brewing for a few years now. I have been a “functional architect” for a software application, and have also been involved in functional architecture review of enterprise software programs. I won’t claim to know what functional architecture means in any universal sense, but having done this work, and…
Five Lessons Learned From Consulting Engagements
In a recent post about consulting engagements, I talked about some of the challenges with consulting organizations and their standard practices. I thought maybe some might benefit from some insight. These are some specific suggestions for handling these kinds of challenges. 1) Consulting firms have “relationship” managers or “engagement” managers – these are people whose…
Consulting Engagements
My current role is interesting. I am an internal IT consultant in a large financial corporation. As an internal consultant I am free to work on as many projects as I can juggle. My billing is only explicit when I work on capital projects. I spend more time talking than “working”. Most of my working…
A taxonomy of software types
Generally, software falls into three classes; Apps, Tools, and Infrastructure. The Breakdown Apps – or applications as they were formerly known – are software built to help a user do some valuable activity, like check a bank balance or edit digital images. While the end user must learn how to use it, an app is…
Feats Instead of Processes
In my last post on Software Capabilities and Feats I said that feats are better [to model in a software capability] than processes, because processes are merely organized, consistent, managed ways to accomplish the feat. A process is one way to accomplish a feat. The feat is the result you want. Process is constrained by…
Software Capabilities and Feats
In some recent conversations, I find that it is hard to explain the notion of a capability. People want to talk in terms of software features or project requirements. Software capabilities define value in the following ways: enabling the user to accomplish a “feat” in less time than they otherwise would. enabling the user to…
The Other Side of Product Investment
If you are a project manager that does software projects, you deal with the “top side” of product investment all the time. Whether your teams are running agile like scrum or kanban, or whether they are running a phase-gated cycle (waterfall), you are focused on the decisions about organizing the investment into packages for release…
The Perfect Product Road Map
At the core of every software product road map are two concepts. These are essential to all software product development. We may think of different things, and we may use different terms or even look at them from different angles but at the end, I am convinced that it boils down to only two things:…
System Replacement Assumptions
I am in the middle of my umpteenth system replacement project. There are some universal assumptions that are endemic to the user community in every system replacement project. They are born of hope and frustration. They are almost universal. 1) The new system will do everything the old one does, only better. 2) The new…