Thursday, March 26, 2015

Android Material Design Apps

One of the big improvement with Android Lollipop is the introduction of material design concept.
Here is the community forum where people are showcasing apps designed around material design concept..
https://plus.google.com/communities/108905768919281054977


Friday, March 20, 2015

Scrum meetings - By developers or user stories?

What is effective in Scrum meetings? Going over by user stories (assigned for that Sprint) or going over by developer?

In the case of user stories, you go over the all the user stores assigned for that Sprint, check the status with the developers & QA assigned to that user story and identify any blocking issues.

Another option is to just go from one developer to another and ask him what he is working on.

I feel doing scrum meetings by user stores is more effective as it helps to track the story better and identify blocking issues. Just going over what developers are doing one by one doesn't convey the whole picture.. 

Sprint Planning

As a Product Manager, Sprint planning is a balancing act. It is finding a right mix of items from,

Feature Backlog - Maintaining a active list of feature backlog is critical. The input to this list could come from variety of sources - Customer feedback, Competitive Gaps, Product Roadmap, Engineering feedback etc. Prioritizating the feedback in terms its impact and cost will be helpful prior to sprint planning.

Backlog Bugs - Active bug list is just the nature of software development process, again it is important to keep the bug list prioritized so that it can be appropriately assigned to a sprint.

R&D - A sprint activity cannot be just development of new features and fixing bugs. Certain activities require investigation and may not end with something that is shippable in the sprint.

Out-of-scopes - These are unplanned feature requests or changes that have solid business justification. Again this is the nature of software development process to have change requests come in during the middle of development.

Now let us look at allocation for the above. The allocation may vary from kind of products, but this is the model that I follow,

Feature Backlog - 50%
Backlog Bugs     - 10%
R&D                   - 10%
Out-of-scopes     - 30%

The next step is looking the team capacity. This is simply number of  developers & QA available for the Sprint cycle. As an example, if you 10 developers and 5 QA available and the Sprint cycle is 2 weeks, the total available capacity is 30 man-weeks.  Now spread this capacity as per the allocation model above,
Feature Backlog - 15 man-weeks
Backlog Bugs     - 3 man-weeks
R&D                   - 3 man-weeks
Out-of-scopes      - 9 man-weeks

Now go back and estimate the cost (man-weeks) of the prioritized feature backlog. Then it becomes easy to decide which features can fit because we've already estimated the allocation for new features.



Thursday, March 5, 2015

Mobile security - A comparision

There is a nice article in InfoWorld comparing security aspects among the mobile OSs.
http://www.infoworld.com/article/2889365/mobile-security/mobile-security-ios-vs-android-vs-blackberry-vs-windows-phone.html?nsdr=true


  • IOS gaining in enterprise corporate apps
  • Google recently released Android for Work. 
    • Requires Andorid Lollipop OS. Older OS versions require Android for Work app installed
    • Partially addresses malware problem among Android apps
    • IT admins can prevent users from installing unapproved apps in the business workspace. IOS uses rigid sandboxing to keep apps from acessing other apps.
    • Encryption is not mandatory on Android devices, where as IOS devices have been encrypted by default for a while.

 Exchange ActiveSync (EAS) policy support compared




AppleGoogleSamsungBlackBerryMicrosoft
PolicyiOS 7, 8Android 4, 5Android 4 + SAFEBlackBerry 10Windows Phone 8, 8.1
Allow device encryptionYesYesYesYesYes
Require device encryptionYesYes***MDMYesYes
Encrypt storage cardNAYesYesNoYes
Minimum password lengthYesYesYesYesYes
Minimum number of complex characters (password)YesYesYesYesYes
Password historyYesYesYesYesYes
Device wipe thresholdYesYesYesYesYes
Disable removable storageMDMNoMDMNo*No
Disable cameraYesYesYesNo*No
Disable SMS text messagingNoNoNoNoNo
Disable Wi-FiMDMNoMDMNoYes**
Disable BluetoothMDMNoMDMNo*No
Disable IrDANANoNoNoNo
Require manual sync while roamingYesNoYesNo*No
Allow Internet sharing from deviceMDMNoMDMNo*MDM
Allow desktop sharing from deviceMDMNoMDMNoNo
Disable email attachment accessYesMDMYesNoYes
Disable POP3/IMAP4 emailMDMNoNoYesNo
Allow consumer emailNoNoNoNoNo
Allow browserYesMDMMDMNoMDM
Configure message formats (HTML or plain text)NoNoNoNoNo
Include past email items (days)YesNoNoYesYes
Email body truncation size (KB)NoNoNoNoYes**
HTML email body truncation size (KB)NoNoNoNoYes**
Include past calendar items (days)NoNoNoYesNo
Require signed S/MIME messagesYesNoNoNoYes**
Require encrypted S/MIME messagesYesNoNoNoYes**
Require signed S/MIME algorithmYesNoNoNoYes**
Require encrypted S/MIME algorithmYesNoNoNoYes**
Allow S/MIME encrypted algorithm negotiationYesNoNoNoYes**
Allow S/MIME soft certsNoNoNoNoYes**

Tuesday, March 3, 2015

Google makes full-disk encryption optional for Android devices

Earlier Google had announced that devices shipping with Lollipop pre-installed would have encryption as "out of the box" option.Nexus 6 smartphone and Nexus 9 tablet are shipping with encryption activated. However recently announced Lollipop devices such as Mot E and Samsung Galaxy S6 aren't being fully encrypted automatically. There have been performance concerns regarding enabling full-disk encryption as noted in reviews of  Nexus 5 devices.

Android Pay - Google's Payments platform

Google has launched mobile payments framework called Android pay. It enables developers to integrate mobile payments in to their apps using an API layer. The credit card data will be stores locally so that no data connection is needed for making payments. To prevent fraud, Android pay will use "tokenized" card numbers - which means that a one-time credit cad number will be generated for each transaction.