Functional Design Patterns: Why? - ΩJr. Software Articles and Products

This information lives on a web page hosted at the following web address: 'https://omegajunior.globat.com/code/'.

You need them for many reasons, outlined below. To sum up, they provide insight and education. For yourself, colleagues, and your clients.

A.E.Veltstra
18 Dec. 2012

Targeted Audience


Software Developers
Software-developing Companies


Benefits of maintaining a Functional Patterns Library


A library costs time and effort. Just like any other knowledge base, it requires resources you could otherwise devote to development, customer service, or sales. Why should your company invest in its own library of functional design patterns?

Read on for explanations.


Need help setting up your own library?

Set up an appointment now, for a free Skype consult



Benefits explained


1. Knowledge = Trust = Clients
When senior employees move on, you still have knowledge. Wouldn't you and your company look silly when all of a sudden you can no longer provide the same solutions quality? How trustworthy will your position seem, when your customers recognise that all your colleagues and employees are new to the field, and therefore will deliver products riddled with rookie mistakes?

Once you have charted what functionality you can offer normally, you will also know and be able to tell your customers which custom functionality you have to build just for them. You can increase your estimate to cover the risks of building something new, and be completely open about it, increasing your trustworthiness. You can reduce the time you spend on rethinking functionality you already have built.


2. Costs Insights = Fast and Reliable Estimations
Personal experience taught us the need to deliver cost estimation quotes quickly and reliably. When you lack a library, the functional knowledge is locked inside the minds of your senior software engineers. They will be asked to provide cost estimates. With no recorded figures nor a list of standard offerings, each estimate requires a great amount of thinking and consideration.

Unfortunately, no-one else (looking at sales and project management) will be privy to the required insights to understand the estimate, and thus will question or change it for marketing reasons, normally cutting the costs through discounts and cutting the time for glamorous dead-lines. As a result, your senior engineers will feel disgruntled.

However, if you do set up a functional library, you can add marketing and pricing information, add actual costs and development hours from previous projects, making costs and needed times visible and transparent to anyone, reducing both the time needed to create new cost estimates, and providing a clear indication to the non-technical staff where not to undersell.


3. Easy Comparing, Easy Hiring
And finally, once you have consolidated your true gold, you can more easily compare your offer to that of clients, reduce time needed to decide whether or not some third-party tool or module fits the architecture, more easily evaluate who to hire, and detect their knowledge level, and decide how to train them.


Round-up


If your company builds software, but has not yet documented what functionality is on offer and how it works from a functional perspective, you now have additional arguments to make a case for the set-up and maintenance of a functional patterns library. A product database, if you will, informing you and your customers about your proven technology.


Afterthoughts


Handling your software development process this way is no different from a store knowing what's in stock, and what requires custom manufacturing. Cost estimates should not be an art form. Ideally, one should pick a quote together in the same way you fill up a shopping cart.


Related articles planned for future release




So, stay tuned for more!

Need problem solving?

Talk to me. Let's meet for coffee or over lunch. Mail me at “omegajunior at protonmail dot com”.