Author: Rob Broadhead

  • Are There Industry Requirements Or Regulations

    Are There Industry Requirements Or Regulations

    We can have an incredible vision for a product and then fall short due to additional requirements. Industry requirements or regulations burden our solution and can even make it unviable. Likewise, these are often constraints on our solution that cannot be avoided or ignored. They might add to the cost and force the design to be done in a way that would not be our first choice. Therefore, we need to list any such requirements from the start and provide the correct context for our solution.

    Plan For Requirements Or Regulations

    One of the costly mistakes we can make is getting started on a project and then changing course. While those costs can sometimes be avoided, that is not possible if there are regulations or compliance factors for our solution. Thus, this is an area where the mistake is completely avoidable. All it takes is asking the question. Once we know the industry or corporate requirements or regulations, we can determine how they impact our solution.

    Common Compliance Requirements

    There are many ways a system can be required to be in compliance with regulations. They are not all game-changing needs. However, several common constraints are best addressed from the start. We want to ensure these detailed questions have been thoroughly answered before proceeding with our design.

    • Are there particular security constraints? This can range from complex password requirements to encryption levels and remote access. For example, that can include steps to ensure we know who a user is and that they are a valid customer (geographic, age, or other restrictions)
    • Do we need any additional requirements for our data? There might be a limit to what data is shown (PII/PHI and account numbers) or where it can be stored. We might be required to encrypt all data, store it separately from an account identifying number, or be allowed to transfer data across boundaries.
    • Do we need to utilize data updates? This need can be as simple as grabbing the latest valid zip codes or ICD10 values or something much more complex like current tax calculations.
    • Do we need multilingual support and unique access? These sorts of requirements can range from allowing users to use the application in their native language to access for blind or other impaired users that take advantage of screen readers and other technology.

    Data and Reporting Requirements

    • Part 1: Are there additional reporting requirements? This may seem like a minor addition. However, we cannot report on data we do not have. Thus, we may need to store more data than we intended. That can include audit information and complex data change logging.
    • Part 2: Are there additional reporting requirements? For example, we might need to integrate with systems to report tax, sales, or other data.
    • Are there disaster recovery or backup specifications to be met? Not all software has a life-or-death level problem it address. However, industry requirements exist for our systems’ availability or at least some confidence that the data will not be lost.
    • Do we need to keep records for a certain length of time? Data can pile up quickly, and sometimes it is easiest to purge old data from a system regularly. Unfortunately, that is not always possible. There are reporting requirements that can go back five or more years.

    Need To Know

    The difference with industry requirements or regulations is that we can not get around them. Some restrictions can make it very difficult to retrofit our design to support them. When we plan with these in mind, it is very helpful. It might even be a critical factor in our success. Likewise, no one likes to be deep into a project and hear, “oh, did I forget to mention this requirement?”

    Signing Off On This Question

    This question may be as simple as a “no” answer or require a document. HIPPA and other compliance requirements can be lengthy and require an expert to help you navigate how to build a compliant product. A project can start without a complete answer to this question. However, the sooner you have a full response, the better. That minimizes the chances that the design needs to be reworked down the road.

    Improve Software Success

    We have an e-book that can help you explore all the steps in building software, including a few templates. However, we ask that you share an e-mail address so we can send you a copy. We add you to our monthly newsletter, but you can unsubscribe anytime. Your data is not shared with anyone else. Learn more about our book here.

  • How Soon Do You Need It? – Quick Solutions

    How Soon Do You Need It? – Quick Solutions

    Monetary cost is a crucial ingredient to any project plan. However, time is also essential. Quick solutions almost always cost more and have lower quality due to constraints on building them. The three-legged stool is time-money-resources, and that last one pulls less weight. There is often a limit to the impact resources can make. You can not get nine women to make a baby in one month. While this holds for all three of those constraints, time may be the most valuable to have in abundance.

    Quick Solutions vs. Better Ones

    Sometimes, a project or product can be done quickly and still be of high quality. Unfortunately, that is rarely the case. Instead, we must put in the hours and work to think through the problem and adequately craft an answer. Thus, the more time you have to work on the product or application, the more freedom you have to adjust for finances, resources, and quality. That makes it tempting to get a product built and shipped or installed, but its usefulness will be questionable. You would not want a doctor to rush through surgery. Likewise, rushed software is terrible software. That is one of the reasons projects so often fail.

    Setting Your Time Limits

    Timing is a difficult question to answer. Of course, we always want something sooner rather than later. However, there are hard limits to your schedule that come from various factors.

    • A commercial product launch window
    • Financial or Calendar year
    • Business and compliance deadlines
    • Seasonal or cyclical needs
    • Synchronize with business plans
    • Return on investment
    • Quality

    These are essential constraints that can help you answer the timing question and might push you towards or away from quick solutions.

    A Launch Window

    Even the best solutions have a lifespan and window of opportunity. We must meet those market deadlines for our product to be viable. Sometimes, that is a wide window, and sometimes, a tight fit. You might be forced to adjust features to squeeze it in this constraint. For example, you might know you can be first to market if you ship by a specific date and need that advantage. You can research the IDE tools released in the early ’90s when Java hit the scene to see how those things can play out. There were a few lower quality tools that aimed for first to market.

    Annual and Cyclical Targets

    Launch windows can be tough to determine. Others are hard deadlines and easy to factor in. A good example is when you are releasing a solution or features that will impact accounting. Whether it is monthly reports or payroll, there are times when mistakes during product release can be devastating. This is why many companies have quiet periods around the busy sales months.

    Synchronizing the Release

    There are other tasks related to product releases that are not technical. These include sales and marketing materials, training, packaging, and more. These related tasks can add time constraints that we need to include. On the other hand, these same tasks can sometimes give us more time than we expected. For example, when we miss a cyclical target, we can add weeks or more to our release window to achieve our objectives before the next cycle.

    ROI and Quality

    We all have seen products just shoved out the door to make a quick return. While that is a viable business model, it is rarely sustainable. If you have quick solutions of low quality, then you need to make your ROI quickly before everyone sees you have an inferior product. A high-quality product can increase your ROI and shift your focus towards a better product later rather than lower quality sooner. These business decisions are essential to decide when you start your project.

    Signing Off On This Question

    This question can be answered in a few ways. There is the desired time frame or deadlines, and then there are alternatives. You may not have an alternative. There are cases where you must have a product available by a specific date or timeframe to make it viable. Other times allow for multiple time windows, and you should have plans that consider those. That might also point to a phased release with an MVP for the first deadline and enhancements to follow. In any case, know what you are working with before you begin.

    Improve Software Success

    We have an e-book that can help you explore all the steps in building software, including a few templates. We ask that you share an e-mail address so we can send you a copy. We add you to our monthly newsletter, but you can unsubscribe anytime. Your data is not shared with anyone else. Learn more about our book here.

  • What Is Your Budget? Setting Constraints For Your Solution

    What Is Your Budget? Setting Constraints For Your Solution

    This question is one of the primary ones to answer for any project or endeavor. Your budget is a crucial constraint and a guide to building the perfect solution for you. Of course, we all want a good deal and are happy to have our needs met for a lower cost than we expect. However, we also go into a project with an idea of what the solution is worth. That means we would be better off spending our budget on a complete solution than less money on a sub-par solution.

    Your Budget Provides a Target

    Think about any large project. For our purposes, we can use building a house. The budget is a critical part of the limitations to design. The architect cannot properly design your home without having the budget in mind. You might only be able to afford a small one-bedroom with one bath, or maybe, you want dozens of those and high-end interior design. Whether they undershoot or overshoot your budget by a lot, you are likely to be disappointed at the very least.

    Match Vision To Reality

    The challenge in matching your budget and vision is knowing what various features will cost. For example, you might want an extra bathroom for your house but need to know the cost of that over another closet. Software is the same in that fashion. Your project will be more likely to match your vision when you clearly understand the features available and their respective costs. That includes time as well as money. The maintenance costs may also be a factor in your decision, so a long-term budget is helpful.

    Factors To Consider

    Yes, we brought up the “M” word. There are costs for your solution that go beyond the initial costs. Those can include items we easily miss.

    • Recurring license fees
    • Hosting and Backups
    • Updates and Security
    • User Support and Administration
    • Data and Integration Updates
    • Bug Fixes Beyond the Initial Contract

    If any of these are confusing to you, make sure they are part of the discussions with your provider. You can also reach out to us for more details on what these recurring costs can look like. On the other hand, we have many similar areas where we need to be aware of options that can dramatically impact a solution. Those are a longer and more granular list.

    • Support for multiple users
    • Security considerations (external attacks)
    • Compliance requirements (HIPPA, Sarbanes-Oxley, GDPR, etc.)
    • Administration screens and tools
    • Training and Documentation
    • Online Help
    • Internal Security and Permissions
    • Data backups and Disaster Recovery
    • Platforms supported (web application, mobile support, desktop application, etc.)
    • Multi-lingual support
    • Remote Access
    • Functionality While Disconnected (i.e., no Internet)
    • The list goes on…

    Many factors can impact the cost and, thus, your budget. While you do not need to understand all of the above cost factors, you need to know how flexible your budget and vision are. There will be trade-offs. Thus, the more you have a general idea about the available features, the more you can adjust your vision. Of course, if you have an unlimited budget, it simplifies some of these questions.

    Making the Trade-Offs

    The other questions we have to answer for our project to be successful will help us adjust or conform to our budget. Decisions require us to eliminate paths or options. Therefore, we must be sure of our objectives to avoid choosing an approach that makes a goal impossible. There is also a cost associated with refactoring and change requests that we can avoid when we do a better job of scoping things out from the start. Finally, when our budget is tight, we need to aim for a more straightforward or less complete solution to avoid spending too much on one feature at the cost of another. The simple solution may be the only one we can afford. All of this again points to finding a partner who understands software development, your business, and your vision and can give you the details needed to make informed decisions.

    Signing Off On This Question

    You can think of this question as a box you are filling up. The objective is to decide on the size of the box. Then, you get to start filling it with features and determine if you want breathing space or are ok with a box about to burst. The important part about this is to realize that what you can fit in the box will vary, and you want to know the size and shape of the box when you start. When you decide to go with a different box somewhere down the road, you will need to unpack the one and then repack it to fit the new package. Do not be afraid to share your budget with your vendors or partners, as it gives them a lot of insight into what is possible for you.

    Improve Software Success

    We have an e-book that can help you explore all the steps in building software, including a few templates. All we ask is that you share an e-mail address so we can send you a copy. We add you to our monthly newsletter, but you can unsubscribe anytime. Your data is not shared with anyone else. Learn more about our book here.