Monday 10 October 2016

Feature vs User Stories: A Connected Approach

If you have been working on software development using agile methods, then you must have come across the conflicting terminology that different teams seem to use, particularly around how they capture the requirements around a digital platform or product. and user stories. This conflict is epitomised in this discussion thread on this popular technical forum . As one can see from this thread, Features and User stories are bandied about as synonyms, sub-sets or super sets, chunks of functionality. 

In the following section we describe our product definition models and how various product discovery and conceptual design outputs, flow and connect with each other. These elements have been incorporated into Ness's Connected  methodology. Connected is an iterative, customer-centric approach and set of processes that brings together feature discovery, user experience design and software development in a harmonious union. Our interpretation is certainly not the definitive word on this topic but has proven successful in dozens of projects helping various stakeholders i.e.  business users, analysts and developers agree on common vocabulary and connecting the worlds of technology and business. The vocabulary used in Ness Connected is described below:
  • Personas: archetypes of users, their objectives and paint points
  • Features: this are important capabilities exposed by the application e.g. Contract dashboard
  • User Journey: the workflow and touch points of the personas with each of the features
  • User Story: are interactions of the personas at the journey touch points with the features exposed by the application. We can attach specific acceptance criteria to each story that will help validation of the feature in user acceptance testing.


These key elements are typically linked together in an experience workflow (a skeleton view is shown below) . Here we can see that the Persona (in this case a warehouse operator) can interact with the same system capability in a number of different ways to achieve different objectives. These are captured as user (persona) stories. Persona pain points are also stories and represent specific user needs requiring attention when designing and validating the system feature. Also, each persona may interact with the same feature in a slightly different manner and these will be captured as distinct user stories.







These definition of connected deliverables have proved extremely useful to delivering the promise of the Ness Connected method – ‘Design the Right Product’ and then ‘Build the Product Right’.  We would be interested in you sharing your own your experience and interpretation of features vs user stories and the flow that you use to connect various deliverables in product discovery and design.



Monday 3 October 2016

Basic Guide to the AWS Solution Architect Associate exam!

After much procrastination, I finally signed up and passed the SA associate exam, giving myself exactly 2 weeks to get ready. I must admit that I took the exam with much trepidation as I felt that I had not given myself enough time to prepare. Although, the exam turned out to be less tough than I expected, it is certainly not a cake walk. In the section below, I have tried to include some pointers that may aid you in smashing the exam:

Download the exam guide

  1. Read all the white papers especially the Security and S3 papers.
  2. Read all the faqs.
  3. Sign-up for an AWS free-tier account to get practical experience on all the AWS services. As you read each topic in the white papers, try to get hands-on the following areas in particular:
    1. setting up instances in a public and/or private subnet, route table, setting up a NAT instance to create a route to the internet for the private subnet, security groups, ACLs
    2. IAM: setting up users, group, roles, policies, MFA, Access key ID, secret access keys and learn about best practice to setup access to your AWS infrastructure.
    3. Setup an ELB which will point to your EC2 instance and then create a route53 zone which will point to your ELB.
  4. Specific topics that you can focus on:
    1. learn about route53 and different record types. Dabble with Route53 and load balancers, if you can although it may cost you a few pennies.
    2. learn about when and how to setup bastion hosts
    3. differences between SG and ACLs, allowing/disallowing SSH and RDP traffic 
    4. amazon directory service and how to use it with your current security infrstructure.
    5. launch configurations for auto-scaling groups
    6. ELB: cross-zone load balancing, can you load balance across regions?
    7. EBS and S3 encryption options
    8. know what services in which cases (DynamoDB, Elasticache, EFS, RDS) you can use to store application state, session stickiness
    9. IAM: learn how to setup users and roles, access keys 
    10. Billing: I think you can ignore the detailed billing examples from the FAQs; these may be more relevant to the professional exam. For the associate, I think it is mostly important to know when you are charged for Elastic IP, sport instance.
    11. Know the USP of each AWS service and key differentiator for between similar services e.g. DynamoDB vs RDS vs S3  
    12. Understand the zone and region limitation of services e.g. is it possible to attach EBS volume from another region (You can attach an EBS volumes to one of your instances that is in the same Availability Zone as the volume)
    13. Snapshotting of EBS
    14. EBS backed vs instance backed volumes, performance characteristics of EBS volume types.
  5. Do take a practice exam if only to get familiar with how to time yourself.
  6. Finally, there is no substitute to setting deploying your local web/database stack on EC2. It will clear-out any questions that you may have and also expose you to the flexibility/limitations of the platform.


 Also, there is a lot of well-meaning guidance out ther, especially answers to practice exams questions and you should definitely explore them. However, take care that any answers that not all answers may be correctly marked and you should form your own opinion about each question.

Good Luck!!! and if you do have any questions please feel free to contact me at wilbur.desouza@ness.com.