All Posts

Software Development is a Collaborative Process

Many companies want their own app in the store. Today, a small business owner can create an app as a business, no storefront needed, and achieve great success. While this new paradigm provides great power to the small business, it also pushes business owners into a new role. This role is “conceiving and managing a software company.”

With many years and a great deal of experience making mobile applications, Susco understands that mobile apps can be much more complicated to plan and execute than web applications. Mobile apps must be efficient, space conscious (screen and memory), cross hardware platform compatible, slick, fast and consumer ready.

As we continue to engage with more non-technical clients, we must account for the risk of not having a clear path or expectation set, when they decide to build a mobile application with a custom software development company like Susco. Without consistent client involvement at multiple stages of the process, the client runs the risk of incurring significant cost overruns, or worse, receiving a product that does not meet their needs.

The first thing that a client should understand is that software development is a complicated and technical process, and a keen development firm will help them understand what their responsibilities are to the success of the project.

One could argue that a client’s engagement is most required at the beginning stages of the development process. It involves fully defining the system which is to be built and validating that the developers’ projected build will meet the needs of the client. It is the responsibility of both parties to ensure that everyone understands what is necessary and possible before we attempt to approve a concept.

There is always the risk in differences between a client’s and the developers’ intentions, an analyst works to make this gap as small as possible. Detailed analysis is performed to determine a very tight and exact cost estimate. This estimate is based on a strict scope-of-work which defines the functional requirements of the system. If a feature is not specifically spelled out in the developers’ analysis and requirements definition, then it cannot be accounted for in the estimate. While Susco strives to never process change orders in order to meet the initial requirements, there is always the possibility there is a difference from what the client intends and what the developer understands, and additional budget may be necessary to accomplish the client’s needs. For this reason, the client must be highly engaged and interesting in vetting the development firm’s analysis and requirements definitions.

Client engagement in the initial discovery and validation of requirements is paramount to the success of the project. If a client is not engaged, it will lead to problems during the development cycle. When a client does not understand a requirement or why a feature is not as they anticipated, it will lead to either the developer doing work that is deemed outside the original scope or the client paying more for what they thought was already included. Neither of which is desirable. The software developer should not have to make assumptions on behalf of the client. We often find, that when they do, they are wrong.

However, the responsibility of the client does not end at the with the requirements definition. It is highly important that the client actively participates in testing the application as soon as possible and on an ongoing basis as new features are added. This process helps the development team find issues and bugs, but also helps the client make sure that the look, feel and function of the application is as anticipated. While adequate testing relies on the client, the development team still need to guide this process as many new clients may be non-technical. This is where a strong Test Plan helps both the developers and the client.

Software development isn’t easy. When taking a concept and turning it into a working real-world application, a partially described system is not enough. Clients will often feel they can disregard a rare or ‘edge case’ scenario, saying “this doesn’t happen very much”. However, from a development standpoint, what happens once may as well happen hundreds of times.

A seasoned software company with talented analysts can guide the client through the development process. If everything is defined correctly at the beginning of the project and the client is engaged throughout, the entire process will flow more smoothly, with fewer cost overruns and an overall superior end-product. It is the software firm’s responsibility to educate the client on what they are undertaking. And it’s the Clients’ responsibility to make sure the software (requirements) meets their needs. Web and Mobile applications are becoming more prevalent every day, so more non-technical clients are going to be involved in building software. This will lead to more people understanding how software is successfully developed, which can only be positive for all involved.

Recent Posts

My Personal Development Toolkit & History

I was just on the This Life without Limits podcast: audio here and video here! Purpose of this Post I wanted to compile a master list of concepts I’ve learned to drive personal transformation and how those concepts can be applied to one’s business / professional life. There is more content to come, but there’s […]

The Role of Technology in Scaling IA Firms

Embracing AI, mobile apps, and modern claims management systems as a growth lever can mean all the difference for your business. Insurance adjusting is a competitive industry, and client demands constantly change. Firms seeking to scale their business must apply foresight, strategy, and the right technology. It’s the only guarantee they’ll process claims efficiently while […]

The 4 Stages of Growth of an IA Firm

Challenges abound throughout an IA firm’s lifecycle. Strategic planning, adaptation, and technology partnerships can ensure success. The lifecycle of an independent adjusting (IA) firm comprises different stages, each with unique challenges and opportunities. Early on, there’s a high growth potential, but limited resources and a lack of an established track record hold the company back. […]

Reducing Costs through Innovative Claims Management Solutions

Eliminate manual processes and automate claims processing with innovative Susco solutions. This will cut costs and streamline workflows. Key takeaways: The inefficiencies inherent in traditional manual claims processing take a heavy toll on insurers: stacks of paperwork inundate employees’ desks, data is scattered across disparate locations, stakeholders are in the dark about the status of […]