Tag Archives: Internet & Web-apps

Choosing the best web application development framework

I’ve discussed web frameworks before and how they can help in rapid development. In this post, I’m presenting some general guidelines around selecting the best web development framework, based on your requirements, in the the preferred language: Java, Ruby, PHP, Python. The main criterion is evaluating the non-functional requirements it provides out-of-thebox, which can greatly aid rapid development.

What to look at in a framework?

You should know how the design considerations mentioned below are addressed by the frameworks you are evaluating. Depending on the business needs, some might be redundant, but tend to provide a holistic view of the framework’s capability.

  • Scaffolding code: What is the ETD to get a web-form with basic CRUD running?
  • Does it offer the flexibility to choose between convention & configuration?
  • How is input data validation achieved?
  • Is the View layer simplified with a template engine?
  • Does it employ object-oriented design patterns? and demand OOP?
  • Does it follow MVC (Model-View-Controller) pattern? How is routing (URL management) achieved?
  • What ORM tools (object relation mapper) does it support?
  • Does it have built-in support for multi-tenancy?
  • Does it support I18n & L10n out-of-the-box? (Internationalization & Localization)
  • How is Authentication & Authorization managed: inbuilt, using a module or plug-in?
  • Does it allow rapid development/deployment in line with Agile principles?
  • Are there cases of proven success for enterprise class applications?
  • What is the performance benchmark vis-a-vis other frameworks?
  • Is there in-built support/plugins for caching, unit & scenario testing?
  • Is it easy to debug applications, and if possible with in-built support through an IDE?
  • Associated costs & TCO: to build developer & infrastructure expertise, hosting, licensing, support?
  • Does the licensing permit free use for all purposes and the right to modify code as necessary?
  • Does it have a clear product roadmap, sufficient documentation & an active community?

The decision

Don’t get carried away by flashy white-papers, classy developer events or generalized case studies. Your application is going to be different (a reason why you’re building that product in the first place) and while it is good to use guidelines, you need to see what fits your requirement best. Take a weighted approach to evaluating a framework based on the evaluation criteria above and make sure you have enough reason to be convinced.

This post is part of the SaaS Application Development series, extracted from my final dissertation submission at BITS, Pilani that closely looked at rapid-development of SaaS-based applications.

7 non-functional demands from B2B customers

Every Product Manager is a ninja when it comes to dealing with functional requirements. But it doesn’t end there in the B2B space. You may not be a technical product manager, but you still need to understand and address some non-functional requirements without which your product isn’t ready to sell – especially if its transactional in nature, holds sensitive data or requires integration with the client’s IT eco-system. By ‘address’, I don’t mean you need to plan these as features or get involved in the R&D – it’s just about getting answers to what has been done in this regard.

What makes non-functional requirements so important?

Good question! If your product touches any of the 3 aspects mentioned above, the client’s decision to buy the product is incomplete without involvement of the IT team. You might have the CXO’s approval, but even if a single IT executive deems your product unfit for the IT security standards the client is committed to – the sale is likely to fold. You need to make a compelling offer, not just to the functional decision makers, but also to these non-functional evaluators whose buying is equally important. And there is a fair reason to it. Imagine, if you’ve worked hard to keep a floor clean, and someone wants to walk in with their own shoes – no matter how clean they claim to be, would you let them in? IT doesn’t want to risk their network either. I really don’t see this coming in the way of B2C sales – a LinkedIn premium membership or even Online Banking for that matter.

What needs to be taken care of?

Here at at-least 7 areas for which you will need clear answers.

  1. Software requirements: With SaaS, customers have fallen in love with apps that railed on web browsers. But IT remains unsatisfied with the ‘my app runs in a browser’ response. They need to understand whether it runs ‘best’ on a particular browser or a specific version. As a product manager, you need to know the share of each browser version and build support accordingly. Dependency on components (e.g. FLASH) can cause the deal to hit a road-block.
  2. Data Security: Customers always question the security of their data while using hosted services. And this becomes all the more critical when you’re selling a multi-tenant application. If you’re able to help them get over the SaaS phobia, the next questions could be around data security & access control, data center certifications, third-party quality assurance reports, etc. Apart from this, customers solicit information about user authentication and authorization capabilities, user management from the application console and integration with existing user management solutions like LDAP. Don’t be surprised if a client demands a sandbox for a hands-on verification.
  3. Flexible application stack: Customers may explicitly specify software requirements such as the use of specific database engines or application servers. In some cases, they are even willing to pick the tab for additional license fees to ensure Continue reading 7 non-functional demands from B2B customers

Local perspective on Product Management in India

As discussed in my previous post about responsibilities of a product manager, product management continues to remain the less spoken about profiles in the  otherwise large Indian IT industry. With the growing number of products in the Indian webspace, the demand for experienced PMs is likely to peak in 2012-13. But there’s still time! For now, Product management in India is less concrete (in terms of the role), and holds huge potential as precisely summarized by Gopal Shenoy here. That post echoes the thoughts of quite a few Indian product managers. Here are my comments to few of the points:

@ #2:They manage products sold in the US

This seems quite obvious given the fact that a lot of product companies in India are either outsourced product development or developing enterprise products for global top companies and US/Europe are their biggest markets. Thus, most young PMs there will report to account managers or senior PMs posted on-site. Having said this, one cannot ignore the outburst of internet product companies catering to the local market, mainly into eCommerce & social.

@ #3: Too many titles for the same profile

Totally agree! Quite a few of us are left out of the product management mainstream because of varying titles conferred upon us: program managers, business analysts, software consultants, and what not. But no matter what how they’re referred to, they’re all doing the same thing – and some don’t even know they’re developing products (more on this, coming soon).

@ #4:Engineering & Proj Mgmt folks moving into Prod Mgmt

There’s more to it. Not just development folks, but there are freshers, folks from quality and even some from business who are keen to move in. Those who have understood the challenge & responsibility want to get at it on account of passion & enthusiasm, and not just a career ladder or salary booster.

@ #5: “They are confident, fearless and hungry

Courtesy: memorya-grinnes.blogspot.com/
Crayon Shin Chan

When I think of Gopal saying that to me, my reaction is not other than that of crayon Shin Chan when he says, ‘Don’t praise me so much’ (which sounds funnier in the Hindi dubbing when he says, ‘Itni taarif bhi mat karo!‘) But that goes without saying for all of us – we are all  way too passionate about our products!

Read the original post by Gopal Shenoy and some very interesting comments here: http://productmanagementtips.com/2011/02/09/india-product-management/