Software Shop

About Us

What process takes place in our software shop – Our development team recently had the exciting opportunity to develop the brand identity for a new product from scratch. When our client, Summitt Trucking, approached us with a system that desperately needed to be tended to, we were able to plan, and create a product that seamlessly worked into their current system called Transigo. We just knew that it would be a data processing and uploading processing platform (Think of the services that companies like google drive, dropbox, etc. which offer users the ability to upload multiple forms of data to one central location). however in this case the information was sensitive business data including payroll information. It was up to us to develop the name, slogan, logo, and accompanying style guide after we realized the impact that this software was able to have on Summitt Trucking. As a software development company, we are always eager to jump strait into the coding part of developing a piece of game changing software. While design and effectiveness is indeed the linchpin for a identity a company may have, often serving as the basis for the things to come duh as design. The color palette, typography, etc had to encapsulates the brand’s spirit and values. These are things that can’t be defined by the logo; rather, they must be defined first and then inform the design of the logo. To that end, our team followed what we felt was a logical, orderly process. First, we defined the brand with written Brand Statements. These statements then facilitated the process of coming up with a suitable name for the product. Together, the brand statements and name in turn informed the design of the logo. Finally, the logo then informed the other visual aspects of the brand identity–the color scheme, the font and typographic rules, and other guidelines. This project gave us a different creative vantage point when it comes to creating software. Throughout the process of making something that could complete a vital task for a given company. we were able to stretch our creative abilities, and create something singular, and useful across multiple companies.

For Triadic Software simplicity and design come together to form an experience for our clients. As we approach a task, or a project we ask ourselves how can we stride for innovation?

Great software systems will quickly reveal themselves to not only be efficient in speed, but also prove to be cost affective in the tasks that it is completing. Software, which we can identify as any computer based code put together to complete a specific task, falls under not only business use, but social use as well into things such as applications we find on mobile devices. The software which is developed for you must be reliable and efficient on ever level. Many people always approach us with questions regarding how they can make software great. One of the first important aspects to assuring the development of above and beyond software, are the foundation of which everything rests. In the software industry we cal things frameworks. The developers who are developing the software for you must be using the up to date back ends as well as industry best practices. These could be things such as MVC (model view controller) pattern, and Service Oriented Architecture and many more. Software that is developed on the most up to date platforms will yield more efficient results across the board.

Being on the look out for any opportunity to succeed is at the forefront of our mission when working through any of these four steps. Before any of our clients receive development plans, we first set in place a wire frame of their need. This plan includes every feature that will be included in the software that is in need from the ground up. This step is vital for both the customer, as well as the developer. It protects the customer from scope creep, which is defined as something that creeps into the project causing the time frame to be longer or the cost being different from that was originally discussed. With our ability to effectively wireframe projects with or clients, this gives assurance that clients have full transparency in the software coming their way from the very beginning.

Contrary to popular belief the life of your software does not end when it finally launches. In fact, its life has just begun. Software is always evolving and changing. It is never finished as long as it is used and enjoyed; in order to accommodate for the ever changing world we live in. The evolution of your software might be motivated by a variety of reasons; to keep the software up and running, to upgrade to the latest release, enhance features or to rework the system for future maintainability. No matter the motivation, software change is vital for the evolution and success of it. Therefore, software will have to undergo changes, and understanding the different types of changes your software can go through is important to realize that software maintenance is more than just bug fixing. It can be related to things such as adding on to what has been created. Many times, clients can realize that there are specific tasks and features that would allow further operations to run smoother, which leave way for including more aspects of the existing software. In fact, a study suggests that over 70% of software change is attributed to non bug related changes.

We can split this up into four categories:

  • Corrective
  • Adaptive
  • Perfective
  • Preventive

Corrective Change

Corrective change, which is commonly referred to as “bugs,” is the most typical change associated with maintenance work. Corrective changes address errors and faults in your software that could affect various areas of your software; design, logic or code. Most commonly, these changes are sprung by bug reports created by users when something may not be working properly. It is important to note that sometimes problem reports submitted by users are actually enhancements of the system not bugs.

Adaptive Change

Adaptive change is triggered by changes in the environment your software lives in. An adaptive change can be triggered by changes to the operating system, hardware, software dependencies and even organizational business rules and policies. Essentially, it includes any force outside of the system itself that could impact the systems ability to operate, leading to a need for adjustment These modifications to the environment can trigger changes within other parts of your software. For example, updating the server, compilers, etc or modifications to shipping carriers and payment processors can affect functionality in your software.

Perfective Change

Perfective changes refers to the long term change regarding the requirements and features in your existing system. As your software gets exposed to users they will think of different ways to expand as well as modify the system or suggest new features that they would like to see as part of the software, which in turn can become future enhancements to the system. Perfective changes also includes removing features from a system that are not effective and functional to the end goal of the system. Surprisingly, 50-55% of most maintenance work is attributed to perfective changes.

Preventive Change

Preventive changes refer to changes made to increase the understanding and maintainability of your software in the long run. Preventive changes are focused in decreasing the deterioration of your software in the long run. Restructuring, optimizing code and updating documentation are common preventive changes. Executing preventive changes reduces the amount of unpredictable effects a software can have in the long term and helps it become scalable, stable, understandable and maintainable.

Software Maintenance is a vital part of the software development and its life cycle. Maintenance on software goes beyond fixing “bugs”, which is one of the four types of software change listed above. Updating the environment of which the software is located, and enhancing features to satisfy user needs are all examples of maintenance work. With multiple years of experience as well as many different coding languages, we have developed a process that is seamless, and main stream for our clients.