Upgrade the web application and add new features
Your web application is working fine. Your clients are happy to use it. But, you are receiving new feature requests – similar to other web applications – for integration so that clients can start using the service more often. You should take some time and see if those requested features make sense in a web application. Otherwise, you should deny the requests. You are not making a duplicate web application, after all.
Not every feature should be part of your web application. You decided to create a unique solution using web application technology, and the development team did a good job. Your application is running flawlessly in the production environment. The application has a unique position in the domain space, and you have happy clients.
Now, the fun – and somewhat troublesome – phase started.
Clients are requesting to integrate some new features – similar to another website they were using. You are happy to receive those requests but also find them very ambiguous.
I receive emails from my existing clients for integrating new features, and they generously ask me my feedback: Should we allow integration of these features?
Interesting question.
As the development partner, I could not deny any integration requests. But as the software architect, I should convey if the requested features will improve or degrade the web application solution.
Duplicate request
You should review the requested feature and see if it matches any existing features. Sometimes, many clients do not see all the available features and initiate the integration request. In this case, you should send the proper navigation and any tutorial link so that client can find and use the existing feature.
The feature gets hidden behind the layer or below the navigation because of;
- A technical decision took place during workflow identification.
- The owner requested it.
- A user interface designer decided the wrong interface.
If you received a similar request multiple times, then you could take charge and ask the development team to change the User interface design.
Proxy to another feature
The proxy feature is a facade of another existing feature. The vocabulary differs, and the client may not understand it because of a different name.
You should understand the issue and get further clarification on the request. If the request is similar to the existing feature, then you could create a facade for it. Or you could ask to change the naming style. Alternatively, you could walk through the client as to how the existing feature works.
A feature similar to another product
This requested feature is indeed interesting. Your client has started comparing your product to another product, and he found the differences.
But, your client is expecting your product to behave similarly to another product. And you – as owner - don’t like the idea of similarity.
You have two choices, now;
- Integrate the requested feature: Review all of your technical documentation and application’s core idea and confirm if it is the best fit for the solution. Initially, you explored the domain space and couldn’t find the feature, and now it surfaced. You should call the development team and start collaborating and integrate the feature. Your product is evolving after all.
- Discard the feature: Once you review the application’s core idea and find that it is not adding value to the existing solution. Then you could explain your limitation to the client and discard the requested feature. You should not add all features anyway.
Web application upgrades are not welcome changes for its owner and development team. It is hard because of its software development nature – as it is fragile – and its complexity. And many development teams don’t follow the software development guidelines like; Testable software architecture, Maintainable code, Flexible design.
And therefore, you should take every precaution before jumping to integration. The integration may break the existing solution.
On positive note
I feel good whenever I receive a request for integrating new features. It allows my team to explore the design.
Software development is fragile, and a team can’t create a flexible design to accommodate unforeseen changes. But the design should be flexible enough to integrate the new feature. And that’s where we shine.
I have experienced the changes of web development technology – started with bare Ajax request to the latest React and Angular frameworks and now web assembly. Therefore My team and I could easily take care of your web application and your core idea.
Did you receive the feature requests? Or are you ready to upgrade your web application? Then you could hire our web development services. We follow the software development guidelines, and I ensure the integration without breaking the existing system.