The Requirements Process

August 31, 2022 | Blog
A good requirements process iterates to produce requirements quality and completeness sufficient to permit design and development work to be carried out with acceptable risk. These are the basic steps: Identify the stakeholders and needs Determine the requirements Analyze the requirements Document, communicate, and get feedback Review and revise the requirements We need to know the stakeholders, who they are, and what they need. Requirements management is a people problem. We could spend months designing and building something perfectly, but it would be for nothing if it’s not what the stakeholders want. They have the final say. It is critical to understand their problems and motivations. We have to adopt their perspective and vision as the reference point for determining and deriving requirements. Determine the Requirements We need to determine the requirements by digging. They may only exist in the mind of the client, and they may be limited. Projects are critically vulnerable at the stage where requirements are poorly defined and sometimes clients need help exploring the details. It can be dramatically cheaper to refine the requirements than to build the wrong thing and fix it. It is always better if the engineers aren’t guessing, and we can’t rely solely on our experience and assume we know what is best because we’ve done something like it before. Invoking curiosity, asking lots of open-ended questions, interviewing, hypothetical “what if” scenarios, user stories, prototypes, diagrams, simulations, and demos can be powerful. It is part art, part science. Analysis of Requirements Analysis and conceptual mastery before making anything will reduce schedule and cost risk. Nothing can replace critical thinking. Our goal is complete and consistent requirements. It is an iterative activity, balanced between “top-down” and “bottom-up” thinking. We need to listen to nagging doubts, and also be aware that we can reach a point of diminishing returns. Analysis paralysis is real, and it takes judgment to know when to stop. Documenting the Requirements Requirements, assumptions, conditions, and constraints should be documented as a basis for conversation and feedback. Words, block diagrams, flow charts, illustrations, and hand sketches count. Expensive or elaborate requirements management tools and processes don’t always produce better outcomes, but a requirements baseline and change-control procedure to identify, track, and communicate changes can be very helpful. We need to tailor the approach based on the people, project, and level of risk involved. Just like requirements analysis, requirements documentation and review can become an endless cycle. At some point, we must start building. Revising the Requirements We should expect requirements to evolve during a project. Proactive review and revision can prevent rework and promote efficiency. Change is inevitable, and incompleteness becomes apparent during implementation. Timely revision, even if it’s just in time, and agreement are key. A lot of change early is much better than change later during development, which can be orders of magnitude more costly in terms of budget and schedule. Requirements should be reviewed individually and as a complete set, often, among the project team and with stakeholders. Revisions and additions can be proposed and approved as needed, tracked, and re-baselined. In Conclusion Iterating through this requirements management process takes discipline and may not feel like progress but the feeling will be much worse if requirements are neglected and the schedule and budget targets are missed due to rework. If we are disciplined early, we may be free from budget and schedule woes later. The results may seem simply miraculous. About Indesign, LLC Indesign, LLC uses a proven process for new product development and electrical engineering to deliver your projects on schedule, with high product quality, and within your budget requirements. Our product development process was designed for complete product development projects, beginning with product concept development & ending with design introduction into manufacture. Contact us at (317) 377-5450 today to get started!
Read More

The Requirements Guide

July 29, 2022 | Blog
Our process improvement initiative on requirements resulted in some updates to our checklists and quality process tools, but some of the things we learned didn’t have an obvious place to go. Some of the things we learned seemed worthy of standing on their own as something new. We created a requirements guide to capture the rest. (more…)
Read More

Improving the Requirements Process at Indesign

May 31, 2022 | Blog
In our previous blog, we made the case for why requirements are so important. Convinced of their importance, we started a process improvement initiative in 2019 within our embedded software team to improve our approach to requirements. As an ISO 9001 certified company, we have a quality management system which includes processes for our engineering disciplines. Our mission was to review and improve our firmware processes and tools related to firmware requirements to promote better outcomes for our company, our engineers, and our clients. (more…)
Read More

Starting with the End in Mind: The Importance of Requirements

April 5, 2022 | Blog
Some people say, “Enjoy the ride; it’s not just about getting to the destination,” or something like that. For some things in life that’s true, and good advice. It’s also true, to a degree, for product development. We enjoy the process of building new systems. Helping our clients solve their problems is what we do, and we have fun doing it. But product development usually has strict expectations for budget and schedule. This isn’t a casual joyride. A product development is a purposeful endeavor, and in some cases we are setting out to do something which has never been done before. (more…)
Read More

Engineering a Halloween Costume

October 28, 2021 | Blog
Every year, Indesign, LLC has a fall festival. Traditionally, we have a company Halloween costume contest, office decoration contest, pumpkin carving contest, and trick-or-treating in the office for all family and friends. It is a lot of fun! One of my favorite parts is the giant black cat straddling the office wall. Sorry for the blower fan that ends up on your desk, Sydney. My son has always dressed up as a robot for Halloween (maybe he’ll grow up to be a nerd like me). My wife is a very creative person and makes costumes by hand with the kids, and one year I decided to help in the best way I knew how. I dusted off my old Arduino from back in the day when I wrote firmware for fun instead of for a living. I proudly used this same Arduino to demo one of my personal projects when I interviewed for a job. In this case, for Halloween, I programmed it to display a little Halloween greeting on an LCD. I also wired up some seven-segment LEDs to create a flashing message. Powered by a USB battery pack, it turned out pretty well, and he loved it! Don’t let the serious look on his face fool you. Trust me… he loved it. We made our rounds through the office, collecting way more candy than a responsible parent would allow. There are probably a hundred photos from the fall festival. Everyone always has a blast, and it’s fun to browse through photos of everyone that came and see all the kids’ costumes. After the fall festival at Indesign, we walked around the neighborhood. This is a great memory for me and my family and for the folks at Indesign. Mixing technology with Halloween is only natural for an embedded software engineer, and it made for an extra fun costume and hopefully an enjoyable blog. I’m thankful that I enjoy my job and that I was able to enhance the holiday for my son using the skills I use every day at Indesign. I hope it showed him and the other kids that engineering is fun and creative! Contact Us At Indesign, LLC, our team has the expertise, experience, and passion for engineering and design services. We have helped a variety of markets design and develop embedded electronic products for over 20 years. Our product development process ensures that we deliver high-quality projects on schedule and on budget. If you are interested in learning more about our engineering & design services, contact us today at (317) 377-5450!
Read More

The Developers Toolbox

April 22, 2020 | Blog
Tools make the difference. Back when I started working at Indesign, there was a lot to be excited about: a group of engineers who shared my love for building high tech things with the latest technologies, countless cool project teams to join, and oh, so much to learn. But one thing stood out in a way that surprised me. The firmware engineering supply cabinet. As a firmware engineer, I work at the intersection of hardware and software, and one of the fundamental tools in a firmware engineer’s toolbox is the development kit or “dev kit.” A circuit board that’s used to demonstrate the capabilities of an integrated circuit or electronic system. On my first tour, that supply cabinet was like a treasure trove overflowing with my favorite flavor of nerd candy: dev kits, of all kinds, representing countless technological possibilities for all the cool products I would help design. I couldn’t believe it. The feeling of empowerment was almost overwhelming. All that gear to get the job done, at the ready. At the time you might have found dev kits with a microcontroller or a digital signal processor, maybe sensors, and maybe some kind of wireless connectivity like WiFi, cellular, or Bluetooth. Today you might find an NVIDIA Jetson dev kit packed with 512 NVIDIA CUDA cores and 64 Tensor cores. Talk about candy! As the tour continued I was stuck on the supply cabinet. The raw excitement gave way to a humbling assurance: at Indesign, I would have what I need. The physical hardware was easy to recognize, but as time went by I found I was rarely wanting for tools of any kind, hardware or software. I had practically all the software tools I would ever need as well. And oh, we don’t have that? You need it? Let’s talk about getting it. How is this lavish, get-whatever-you-need mode of operation possible? It’s because of the needs of our employees are not their own. They reflect of the needs of our clients, and at Indesign, client satisfaction is our number one priority. It’s the reason for our past success and continued existence. Our primary objective is to give them what they want, and that means our toolbox is constantly stocked with almost anything necessary to make it possible. And you don’t need a sweet tooth to appreciate that. Contact Indesign at (877) 561-0274 to learn more today!
Read More