Category Archives: Product Management

The Top 5 Deterents to Agile

The beauty of Agile is the fact that its just about a few principles. – which we also summarized in a few words. Everything else is under your control. And on your way from classic waterfall practices to adopting those principles, you are likely to encounter some serious blockers. I’m attempting to list out the top 5 along with the Agile principles that they block.

1. Large teams

Blocks: Velocity, Working together

Scales of Agile (Courtesy: ebizq.net)
Scales of Agile (Courtesy: ebizq.net)

It is uncommon to have a cross-functional team of teams with 30-50 folks working on the same product. While the Agile deliverable is a few days of work, large teams working on a single release will generate a huge deliverable that is more coupled, has wider impact and demands extensive testing.

2. Fixed-scope planning

Blocks: Working software, Simplicity, Accepting change

Courtesy: 352inc.com

Teams that have a fixed-scope mental block start off by committing a scope for the next release, and then estimate a future release date. Since estimates are often incorrect, the release is delayed to deliver the committed scope – which is just not Agile. Forget about changing requirements, folks won’t even drop a few stories or acceptance criteria at the very end, to meet the committed date (time-box) – at the cost of Continue reading The Top 5 Deterents to Agile

Our interpretation of the Agile manifesto

As part of a recent Agile training, we were asked to summarize the basic tenets of Agile in 3-4 words. Our group,  with Mahesh, Yuti, Apeksha, Shahdab, Dhwani, Jay, came up with the following:

1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.

Deliver value to satisfy

2. Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.

Accept changes willingly

3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.

Prioritize, Breakdown, Deliver frequently

4. Business people and developers must work together daily throughout the project.

Close collaboration, daily

5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.

Continue reading Our interpretation of the Agile manifesto

Don’t be desperate to crash time

Everyone in the software industry, has at some point of the other, been part of a delayed project. The result is often a war room where all the big shots put their heads together to save face. Imagine one such meeting where everyone is focussed on crashing time. Management is willing to compromise margins and the project manager has been given the authority to do anything it takes to deliver the project sooner.

All eyes are on the development team to see what they can do to expedite. Desperate, the project manager thinks he has an offer the Dev manager can’t refuse. He takes pride in offering to add more resources to the project. The Dev manager, however sane otherwise, goes ballistic on hearing this and yells out: ‘9 Women Can’t Make a Baby in a Month’. There is a moment of silence. Then, the noobs giggle, the big shots calm down and the PM walks out of the room.

9 mothers can't make a baby in a month
Courtesy: piedtype.files.wordpress.com

This is Brooks’s law, and every software engineer gets exposed to this mantra/joke – whichever way you take it – in the very first years on the job. If Pressman was as bold as Fred Brooks, he would’ve added it to his Software engineering bible. This is 100% true Continue reading Don’t be desperate to crash time

What went into our lovely wedsite

Aditi had done her bit of making our wedding cool by getting me to do a pre-wed photo shoot – that turned out awesome thanks to Frames of Mind. It was my turn and I had to prove to the lady (who had agreed to risk her life with me) that as a Product Manager I was creative enough, and thought of surprising her with our own “wedsite”. When the question of build-or-buy came up, I couldn’t find anything that matched my needs and the flexibility I needed to fiddle with it. So without much thought, I created a sub-domain, grabbed a copy of Bootstrap and got glued to NetBeans. I released the first cut online in less than 8 hours of work, and improved it over the next couple of weeks part-time (24 hours in all I guess). And yes, it really cost me $0, because I had already purchased hosting space and the prasadgupte.com domain.

It was AditiWeds.PrasadGupte.com for the guests…

With domain & hosting available, this was just 24 hours of work @ $0
With domain & hosting available, this was just 24 hours of work @ $0

The pre-wed shoot had given us quite a few fun pictures, and together with the nimbu-mirchi trick Continue reading What went into our lovely wedsite

BitStore: the simplest app to store & access bits of information

Full-text search & inline display of information are key differentiators
Full-text search & inline display of information are key differentiators

In the last couple of years that I’ve owned an Anrdoid, I’ve tried everything from ColorNotes to Any.Do to store small bits of information. Trivial stuff such as

  • daily medicine dosage
  • recipe of my favorite sub (which my wife needs me to text every time)
  • frequent flyer / loyalty membership numbers
  • utility / bank account numbers, etc.

Such information that needs to be handy is usually lost under complex navigation menus. I’ve seen folks saving this information as draft messages (SMS) or even using memos which does not allow tags & full-text search. And that’s precisely the problem I tried to solve with Bitstore.

Download BitStore*

My hands were yearning to write some code and this couldn’t have been a better time to try out mobile app development with PhoneGap. Before this, I did try installing the Android SDK but the learning curve seemed quite steep, and after all, my purpose wasn’t to develop coding skills. PhoneGap with jQuery mobile & Jasmine for unit testing Continue reading BitStore: the simplest app to store & access bits of information

Top 3 configurability needs in B2B apps

What is configurability?

Configurability is the ability to change application behavior (functionaility) and the interface by changing application parameters, without the need to rewrite code. This can either be done in the front-end by users, or through back-end configuration. On the other hand, customization requires making change to the application code to modify existing or support additional requirements. Sophisticated application design (e.g. web hooks) can permit customization by externalizing the new functionality. But modifying existing functionality in a multi-tenant application is really not advised.

Top 3 / All-time favorite requirements

  1. Web forms / Custom fields: Customers may require the flexibility to add additional fields to a particular document/record (object). Moreover, there would be a need to validate the input to the field based on data-type, or a script. For example, tenant A may require tax-ID as an additional integer field on the customer information object, and also make it a mandatory input. This has grown to be complex enough to support attachment fields, link to master data, controlling access to specific roles/user, etc.
  2. UI customization: Customizing the user interface involves matching the look-and-feel with the customer’s branding: corporate color scheme and adding their logo. Allowing users to customize their own data views (record lists, reports) is just assumed to be there. Sometimes controlling data elements could also be a requirement. (E.g. End-users wont know certain information, so a section needs to be hidden for them. But the next user in the workflow Continue reading Top 3 configurability needs in B2B apps

Why PMs should consider product configurability early on

I am sure that the way I have configured my mail client or tablet’s home screen is different from yours. The reason we love modern-day apps and operating systems is because they let us configure the product to match our specific needs. Configuration is not a new concept – even old radio transformers allowed listeners to tune into the station of their choice without having to open any screws. Configurability isn’t a feature; its a vision. And it doesn’t come free; too much of it will also backfire. There are at least 3 compelling reasons why product managers need to plan configurability around every feature:

1. Customization

No product is designed for a single customer. And it would be rare that 2 customers had similar business processes. To adapt to the difference, without having to create customer-specific code bases, an application needs to be customizable. Gone are the days when customers would 200% of license fees on getting the product customized to match their business needs. In today’s scenario, solution providers need to cover the cost of customiztion through one-time implementation fees.

2. Rapid Implementation

Besides, customers are not looking at multi-year transformation projects with huge budgets. Project managers need to create compelling business cases and promise hard dollar recovery through the proposed solution. Every project is like a turn-key project and a vendor has no chance unless they can promise rapid implementaiton and unlock the RoI in stipulated time. Continue reading Why PMs should consider product configurability early on

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

Ideas for a trip/vacation planner app – Part II

In the last 2 posts, I detailed the market needs, and the itinerary planner user story. Continuing with more features around maintaining content, creating a transactional marketplace for revenue generation, and finally some integration ideas to piggy-back on the success of others.

Content

  • Search public itineraries based on destination
  • System should suggest ‘hot’ holiday options – not in a salesy way – but genuine, recent itineraries that are verified for feasibility, cost estimate, etc.
  • Suggestions/searches should be based searches based on demographic information: age, gender, marital status, profession, origin city
  • Rate, review itineraries
  • Maintain places with linked information: map, entrance fees, best-time-of-day, visit duration
  • Maintain cities, categories, modes of transport, currencies, exchange rates
  • When creating my itinerary, similar itineraries from other users should be suggested – verified, promoted, voted itineraries on top

Marketplace

  • Directly contact agents on public itineraries
  • Agents can view & receive alerts for shared itineraries in their service area
  • Agents can submit bids that be reviewed compared side-by-side with included places/meals & merge itineraries or individual items [versioning]
  • Collaborate/negotiate with agents on a bid, and finally award
  • Allow agents to attach confirmations, visas, etc. – that remain private even when the itinerary is shared

Integration

  • Accommodation: get best prices from top 3 websites for the selected date location
  • Transport: get best prices to the destination, with “flexible dates” option, and suggest best transits worth a stop-over
  • Rentals: for road journeys, suggest available rental options
  • Traffic: use traffic information to estimate journey times between places
  • Fares: get entrance fees and estimated taxi fares
  • City cards: analyze entrance fees and suggest savings from city cards (e.g. iVenture card)

Strengths:

  • Solves a real problem for backpackers
  • Integration & market-place: lot of stickiness for a content + transaction website

Challenges:

  • It might be a while before there is enough content – itineraries
  • Ensuring simple design to handle required interactivity on all browser

Ideas for a trip/vacation planner app

Being a product manager is about not being content with what is around. I looked all around the place for a complete vacation planner app and finally created a wish list of what such an app would constitute. Continuing from the previous post on the topic, here is a high-level user story for each of my needs:

Itinerary Planner

  • Start with a destination of my choice and add places to it [content]
  • Each place can be placed on an interactive itinerary map
  • Add category, description, images, comments, expenses (entrance fees, meals), attachments (bookings, etc.), hyperlinks, mark them as optional
  • View ratings [integration]
  • Auto-insert the place on the interactive calendar based on best-time-of-day information [content] and allow me to adjust
  • Plan the journey between places by specifying mode of transport, journey time & estimate cost [content, integration]
  • Add meals to places & journey with preferred joint & cost estimate
  • Validate if too much is planned for a day based on visit duration [content] and highlight optional places from the ‘Going to’ bucket that can be moved to a ‘May be’ bucket
  • When moving places around, system should remind to update the journey between places
  • Total itinerary cost should be constantly updated and displayed in local currency so I can budget; highlight places & journeys without estimates
  • Filter places on the by category, expense
  • Share my itinerary with others on the website; email the web link
  • Collaborate with co-travellers on the itinerary [roadmap]

Travel

  • Print/Email the itinerary with selected elements
  • Allow including embassy information, emergency numbers, weather, etc.
  • Mobile site to rate places, enter actual cost & time, add public & private notes
  • Update current location, upload photos & add notes that loved ones can view on a shared link
  • Mobile app [roadmap], share location on social media [integration]

In Part 2 of this post, we talk about more features ideas and concept’s strengths and challenges.