I was thinking about technical debt in the context of our recent spate of requirements postings on the blog. Technical debt, from my perspective, does not just apply to software. We incur technical debt when we implement an easy solution in the short run, as opposed to the best overall solution. In other words, we […]
The customer can seldom articulate the technical details of the product. The customer may define the product or need in terms of function and performance, but building the product from these documents will be extremely difficult or perhaps impossible. We will need some type of document to begin describing in technical terms the product that […]
This question was posed by Tom Cagley on Twitter. At first blush these may seem at odds or exclusionary, but perhaps not. I know why it may seem difficult to be innovative while we are hyper-focused on continuous improvement activities. A company that focuses on continuous improvement that tends to be incremental can occlude […]
I have never worked on a project that took that approach. In my embedded product development experience, the requirements grow as the product iterations are delivered, evaluated and tested. The results of those evaluations and tests will impact the requirements. There will be additions, subtractions, and alterations of the requirements. We will update the requirements documents, […]
Our project must balance the input from a myriad of people that are associated and contribute to the project, along with those funding the project to be successful. To be able to do this, we will need to understand our stakeholders and their perspective. Some of our the stakeholders will add requirements, support existing […]
Requirements Language As we collect requirements we are going to need to perform some sort of evaluation. We know the attributes of good requirements, now we will compare those attributes against the documented requirements. However, we will not stop our evaluation at the type of language. We will extend this evaluation to other areas that […]
We have been working on product requirements for a number of blogs now, and we will continue that topic for the next few weeks (with exceptions). Requirements are the central driving force behind the design for the product along with risk, cost, and the opportunity of reward for the company. In general, requirement management consists […]
Software Structure Defined Non-functional requirements such as software extensibility can be very difficult to document as we likely do not know all of the future features or growth we can anticipate for the product as it matures. Poorly managed, the code may descend into what is sometimes referred to as spaghetti code. Instead of the […]
We have written much on product requirements on the blog. Requirements are those statements, derived from the project scope, upon which we will build the product. A clear understanding of these and the circumstances surrounding the use of the product will improve our chances of achieving the desired development objective. Nonfunctional Requirements One of the […]
You do not have to go it alone when it comes to developing requirements. There are many templates and well-defined approaches to help in this regard. If you are developing a complex system, it is good to break the requirements up, starting at the highest level of abstraction. We will call that systems specification. The […]