Skip to main content.
You are here:  Home Page

How much flexibility do you really need?
by Avonelle
Publication Date: 11/27/2007

A business requirement I often hear when designing software is that the application must be flexible and easy to change without additional programming. This seems like a sensible idea - we all know that nothing stays the same, and flexibility can make the software continue its usefulness despite changing business conditions, regulations, and standards.

There are two challenges with this requirement. One challenge is that flexibility is a very vague term. For some users, flexibility means that they can customize the colors or menu text. For others, flexibility means the ability to create custom business rules or reports. And for some people, flexibility means all this and more - their lofty ideas of flexibility become a notion of an infinitely malleable system that can be changed any way at any time by anyone.

Which brings us directly into the second challenge: the resulting cost associated with flexibility. The obvious cost is in time and money. Creating a more flexible system will take more time to build, and hence will also ultimately cost you more. There are also hidden costs. Building flexibility into a system can affect system performance. It will also make things more complex, making changes more costly to design, program, test, and fix.

When thinking about system flexibility, you should:

  • Consider carefully what you mean by flexibility. Identify those things which are likely to change vs. things that are less likely to change.
  • Weigh the consequences. Consult your developer or some other system professional. Take the time to prototype some options, checking the performance when you add a significant quantity of data.
  • Be realistic. It might be nice for users to be able to define reports on the fly, but you might learn after consulting with them that most of them really want the same thing anyway, and it doesn't really change. Flexibility might not really be the required feature you think it is.

testimonials

Avonelle is an incredibly talented software developer. She works fast, is economical, and offers great insights into the project at hand. She is also not afraid to speak up when she has concerns about a decision or approach. We’ve utilized her talents on many of our software development projects over the years.
 -- Carrie Rocha, Chief Operating Officer @ HousingLink

downloads / resources

Agreement Tips.PDF
Software Agreement Tips: What your custom software agreement should cover

Selecting A Programmer.pdf
Hiring a Programmer: How to pick the right developer to build your application

Popular Items

How much flexibility do you really need?

The Power of One - Top 5 Reasons to Use a Freelancer

Can you hear me now?