António Campos's avatar image.

I am never satisfied...

My name is António Campos, High-tech junkie with a knack for computers and the wilderness.

Anonymous profile image
  • How do you adapt to timeframes when it comes to different types of software?

    How hard is it to develop an adequate framework for a prospective software product yet hold to a set timeframe during development?

    António Campos's avatar image.

    You don't develop a framework for a single software product, or at least you shouldn't. It would drastically increase your development time without bringing much benefit.Software frameworks are meant to improve the software development process by increasing the abstraction levels and providing tools that can help developers to be more productive. Therefore it only makes sense to develop a framework for a family of software products, a domain.

    The development of a framework takes time and it consumes many resources, plus the best way to evolve a framework is by using it, only making it viable when a framework is being used a lot.

    For example, my company has been developing a framework to improve the application development process, and it does improve it because it provides components and tools that allow development teams to implement their software in an easier and faster way, but it only makes sense because my company has more than 20 applications that share a common base. If my company only had 1 or 2 applications, developing a framework would only increase the development time and time-to-market, making the framework not viable. Since we have a lot of applications, our framework makes sense because it implements a lot of repeated code that, otherwise, would have had to be implemented by developers. Think of it has having just a team wasting time developing software that repeats itself in order to avoid 3 or 4 other teams do it.Just to give you an idea, I have been working on this framework for almost 2 years. Currently, we are starting to provide it to other development teams and we still have a lot of work to do.

    In conclusion, you should only develop a framework if you have a lot of applications that will benefit from it, otherwise you'll just waste resources (in this case it's better to just use whatever existing frameworks better suit your problem). Frameworks are valuable tools that can help you develop a software product within a given timeframe and you should use frameworks whenever it is possible, but you should only develop a framework if you really need to.

    (I don't know if I replied you question correctly, if I didn't please explain better what you need and I'll try to help you.)

    António Campos's avatar image.

    Also, I forgot, my master thesis is available on my LinkedIn page and it gives and insight on how framweorks can be useful. You can check it out if you want.