All posts by Basource

Use Case document Template

Use Case Template:

Use Case ID:  
Use Case Name:  
Created By:   Last Updated By:  
Date Created:   Date Last Updated:  

 

Actor:  
Description:  
Preconditions:  
Postconditions:  
Priority:  
Frequency of Use:  
Normal Course of Events:  
Alternative Courses:  
Exceptions:  
Includes:  
Special Requirements:  
Assumptions:  
Notes and Issues:  

 

What is Agile

What is Agile?

Agile is a set of principles that encourage flexibility, adaptability, communication and a working software over plans and processes.

In Agile software development, team work together more efficiently and effectively in developing complex project. It basically follows iterative and incremental technique.

What are Agile Promises?

Agile is not only about applying the set practices in developing software. It also brings in a change in the Team’s mindset which drives them towards building better software, working together and eventually landing them a happy Customer.

Popular methodologies of Agile?

  • Scrum
  • Kanban
  • Extreme Programming

 

All these methodologies focus on lean software development and help in building better software effectively and efficiently.

 

What is Scrum

Scrum is a most popular framework of Agile, which help to develop software project.
The word scrum comes from the sports rugby, where the team players pushing to the opponent team. Each player has a defined role in their position and can play both offensive and defensive as per the demand of the situation.
Similarly scrum team believes in self-managed development team with self-motivated and clear defined roles.
To memories scrum, you can call it 3 – 3 – 5 framework. It means scrum project has 3 Roles, 3 artifacts and 5 Events.

These are listed below:-

Roles – Product Owner(PO), Scrum Master, Team(Developer, designer, tester)
Artifacts – Product increment, product backlogs, Sprint backlogs.
Events – Sprint, Sprint planning, Daily Scrum meeting, Sprint review and Sprint retrospective.

Scrum Characteristics and Roles

Characteristics of Scrum:-

  • Scrum team members are Self-organized and focused.
  • Scrum works on lean documentation i.e less document required. They have a very precise and to the point stories.
  • The teams work together as a single unit.
  • Has a definite timeline of maximum one month.
  • Scrum help to develop project in many small parts.
  • Resources capability and availability are considered before committing anything.

Above all a great scrum team consists a product owner who maximises value, a scrum master who help team to improve continuously and last but not the least a team who focus on delivering high quality product.

Now let’s discuss one by one

  1. Product Owner –

A product owner (PO) is responsible for:

  • Developing product vision and market strategy.
  • Maintain product backlogs and order them according to necessity.
  • Involving stakeholders and end users of product.
  1. Scrum Master –

Scrum master is ensuring that the scrum team is following scrum theory, practices and rules. The Scrum Master is a servant-leader for the Scrum Team.

Scrum master act as..

  • Servant-Leader, who take care of team member’s needs, achieving the result in line with organisation values, principle and business objective.
  • A good coach, coaching the individual with a focus on mind-set and behaviour, the team in continuous improvement and the organization in truly collaborating with the Scrum team.
  • Facilitator, by setting the stage and provide clear boundaries in which the team can collaborate.
  • Manager, responsible for managing team’s health, processes and managing team culture.
  • Mentor, that transfers agile knowledge and experience to the team.
  1. The Development Team –

Scrum Guide the Development Team consists of professionals who do the work of delivering a potentially releasable Increment of “Done” product at the end of each Sprint. Team Creates the increment of product. The resulting synergy optimizes the Development Team’s overall efficiency and effectiveness.

Development Teams have the following characteristics –

  • Self-organizing. They decide how to turn Product Backlog Items into working solutions.
  • No titles use in scrum, everyone is a developer.
  • Committed to achieving the Sprint Goal and delivering a high quality increment.

 

Daily Stand-up Meeting

As name has suggested, daily stand-up meetings is a daily status meeting among all the team members of agile. Meeting is not only focus on status update it also brings the problems of team members into focus so that it can be quickly addressed.

So what is Daily Stand-up?

  • It happens among agile team members where everyone has update their task status. It roughly held for 15 to 20 minutes.
  • Every Team members has to answer three questions.
    • What I did yesterday.
    • What I will do Today.
    • Any Problem I am facing or I am blocked due to.
  • Daily stand-up is only for status update not for discussion. For any discussion team need to schedule another meeting.
  • Members need to be attentive and stand instead of sitting so that meeting can quickly over.

Attendee of Stand-up-meeting:-

  • Scrum Master, Product owner and delivery team member are the active participants of the stand-up meeting.
  • Stakeholders and customers are also encourage to be a part of meeting but they can only observe the activity not supposed to participate.

Note – If any Scrum team members are sitting on different location they can connect through conference call.

Agile User Stories

Agile mythology follows lean documentation it doesn’t mean there is no documentation takes place. In Agile user story is main the document to narrate user requirement in simple fashion. User stories are basically used in agile software development. User stories are basically description of a software feature from an end user perspective. A user story describes the type of user, what they want and why.

A User stories template uses the following types of format.

 

 

 

So in simple words you can say it cater following elements.

  • Who it is for?
  • What it expects from the system?
  • Why it is important (optional?)?

Role – The user should be someone who interacts with the system.

  • Be specific

Feature – As name suggest it should be the list of features that use want to do. Behavior of the system should be written as action.

  • Usually unique for each user stories
  • Active voice should be used instead of passive voice(“Can be notified”)

Reason – As name suggest, you need to write as a user why you want this feature. In other word what benefit a use will have with this feature.

  • Many user stories can share same reason or benefits.

Example of User stories –

  • As a [customer], I want [shopping cart feature] so that [I can purchase items online].
  • As a [customer], I want [to be able to view the items in my cart] so that [I know for sure what I’m purchasing].

 

 

Note point-

An agile story should be short, so that it can be fit in the sticky note or note card. User stories should be written in business language so that it can be easily understandable to business people as well as scrum team what customer wants and why they need particular feature.

 

 

Scrum-Sprint

Sprint is similar to 100 or 200m sprint. Depending upon length of the track we call it sprint or marathon. When there is a race, there will have length of the track and in agile sprint length measured in weeks.

Similar to race when the sprint starts whole team runs with its full capacity and capabilities till its completion. The smaller the sprint the faster you get the results.

Sprint is one time boxed iteration of a continuous development cycle. Within a Sprint, planned amount of work has to be completed by the team and made ready for review. Sprints are always short: normally about 2-4 weeks. Team collaboratively sets their target with Product Owner as “Sprint Goal” and plans their work in Sprint Backlog.

 

Each sprint follows a defined process –

Scrum–Product Backlog

Product backlog is basically a priorities feature list that needs to be done. In agile environment all task list broken down in to user stories or epic. The product owner is responsible for product backlog, including its content. Product Owner is the one who prioritize it based on the customer’s feedback or business value.

A typically product backlog consist following types of item –

  1. Features
  2. Bugs
  3. Technical work

Some people might asked why bugs? Because there’s really no difference between a bug and a new feature — each describes something different that a user wants. Bugs are also put on the Scrum product backlog.

Importance of Product Backlog –

  • Through product backlog estimation of features will be easy.
  • Product backlog help to priorities the work item that need to be develop first. Team ranks the feature item
  • It helps in planning and roadmap of the product.

Characteristic of Product Backlog –

  • Product backlog consist all wish list and product requirement of product.
  • Product owner need to make sure each product backlog consist detail user stories.
  • The product backlog acts as an input to the sprint backlog when comes to functionality.
  • There are also bugs/issues, epic, user stories and themes are included in the product backlog

Following are example of Product backlog. Every backlog contain detail requirement. As you can see if user will click on id, user story or detail requirement will open.

Business Analysis – An Introduction

What is Business Analysis?

According to BABOK®Guid, Business Analysis is the practice of enabling change in an organizational context, by defining needs and recommending solutions that deliver value to stakeholders.

In a simple word, it is a set of tasks and techniques which works as a bridge between stakeholders. These help them to understand organization’s structure, policies, and operations. They can also recommend solutions to help the business reach its goals or objective.

Basically Business Analysis is about understanding how your organisation function to full-fill their purposes. Business Analysis help organisation to improve their organisation process.

Who is a Business Analyst?

A Business Analyst is someone who analyse business domain and document them. Business Analyst (BA) is responsible for identifying the business needs of the customer (external or internal) and other stakeholders for determining solutions to business problems.

Typically a BA Identify, Analyse, develops and manages the requirements.

 

Roles and Responsibility of IT Business Analyst?

A business Analyst has following roles and responsibility.

  • Requirement gathering.
  • Analysing and documenting the requirements.
  • Communicate these requirements with stakeholders like designer, developer, business person and managers.
  • Identify the right solutions for the requirements
  • Validate the solution if requirements meet the expected Standards.

You can easily understand BA work cycle by following image.

Requirement Elicitation and Analysis

Requirement Elicitation:

Requirement Elicitation is a process of collection of requirements of any given system or product from users, customers and any other stakeholders.

This process step broadly involves the requirement inceptions, requirement identification, and requirement elicitation activities.

  • Requirement Inception relates to the use of context free questions to establish a basic understanding of the problems, the people who wants the solution, the overall nature of solutions expected and for gauging the effectiveness of the collaboration between customers and developers.
  • Requirement Identification involves enlisting and articulating the basic well known and fairly defined needs.
  • Requirement elicitation refers to finding out or the extracting from the client/users requirements which are unclear, vague or concealed and need explicit articulation for the understanding of developer team. This phase also covers aspect such as what the overall product/solution objectives are, which needs are to be supported on priority, how the product solution fits into the business needs and what kind of use will be made of the product/solutions on a day to day basis.

Requirement Analysis:

Requirement Analysis also called requirement engineering. Requirement analysis is the process to determining the user expectations for a new or modified product.

This process step broadly involves the Requirement Elaboration, Requirement Analysis and Requirements Negotiation activities.

  • Requirement Elaboration focuses on the development of a refined technical model of software function, user interactions, features and constraints based on the Requirement Elaboration information.
  • Requirement Analysis involves the prioritising the requirements, preparing the checklist for each requirement, highlighting and reviewing problems, arriving at a high level of abstract of products/solutions.
  • Requirement Negotiations involves checking requirements and resolving stakeholders/user conflicts, involving requirements categorization and organisation into subsets, establishing relationship among requirements, reviewing requirements for correctness, confirmation of requirement priority based on customer’s needs.

Requirement Elicitation and Analysis process: