Showing posts with label Agile. Show all posts
Showing posts with label Agile. Show all posts

Friday, 21 November 2014

Agile Development Methodologies- Scrum

Agile Development Methodologies- Scrum


Scrum is an agile project management methodology that provides a frame work for team members to collaborate and implement a project in smaller pieces which enables users to provide feedback and respond to changing required. Each smaller cycle is called the sprint. Each sprint consists of a set of requirements (user stories) also called the sprint backlog that are implemented and results in a working software at end of each spring. In the next sprint other set of requirements are added to the software. The three main actors in an scrum methodology are the product owners, development team, and scrum master.














Important points of scrum are:
  • Focus more on project management.
  • Based on short daily meeting known as scrums will all team members
  • Iterations are called as sprint 
  • Sprint is a fixed development period with set of work items to implement 
  • Planning occurs between sprints 
  • Product Owners determine what needs to be built in the sprint
  • Development Teams build the actual product and consists of developers, testers, etc.
  • Scrum Masters responsible for the scrum process to carry on as smoothly as possible, and continually help improve the scrum process.

Implementing Agile Scrum Projects Involves:

1) Selecting tasks for each iteration & balance the amount of work (user stories to be included) in each iteration ? (based on customer priorities, tasks that developers can
complete, task redistribution, and sprint duration).

2) Be co-located to engage in constant communication and holding regular scrum meeting to discuss blockers, and daily plan for the project. Scrum meeting are usually held daily.

3) Monitor the project tasks using tools such as charts and graphs.

4) Manage risk, user feedback, scope, quality and change through out the project

See also:
http://dwbitechguru.blogspot.ca/2014/07/difference-between-waterfall-and-agile.html

Monday, 21 July 2014

Data WareHouse and Business Intelligence Project Activities in Waterfall/Agile Methodology



Initiation phase


Requirement Analysis


Design


Activities:

  • Cost benefit analysis and ROI calculation

  • Project feasibility analysis

  • Business case study

  • Project cost estimation

  • Resource identification and allocation, other project management tasks

  • Vendor identification

  • Proof of concepts


Activities:

  • Risk Assessment

  • Info Security Assessment

  • Data Dictionary

  • Capture Business requirements

  • Source Data Analysis

  • Defining source system format

  • Capture Non Functional requirements

Deliverables:

  • Business requirement document, Functional specification document ,

  • Data dictionary, etc


Activities:

  • High Level Architecture Design- Architecture Design artifacts , Project Technical review

  • Detailed design- Application Design (ETL/Report Design), Database Design

  • Data profiling, Data Quality analysis

  • Proof of concepts

  • Source Data Analysis

  • Source Target mapping

  • Logical/Physical Data Modeling

  • Design of workflows and schedule

  • Design walkthrough, review and sign offs


Deliverables: Design documents, data models, data mapping documents, etc






Testing


Implementation


Activities:

  • Prepare test strategy, test plan and test cases

  • Test document review and sign off

  • Test data set up

  • Test scripts creation

  • System integration/functional testing

  • Data validation

  • Performance testing

  • Defect logging and tracking

  • QA testing sign off

  • User acceptance testing and sign off



Deliverables: Testing documents, Defect summary, etc



Activities:

  • Prepare Implementation plan or deployment guides

  • Raise change management/implementation tickets and get necessary approvals

  • Prepare runbooks

  • Support implementation group during implementation

  • Knowledge transfer

  • Provide post production support during warranty period


Deliverables: Production implemented code, run books, support manuals, change tickets, etc





Thursday, 10 July 2014

Difference between Waterfall vs Agile Methodology

Difference between Waterfall vs Agile Methodology


Waterfall is a more sequential SDLC methodology where requirement gathering, coding, testing, UAT , implementation phases happen one after another. Each phase has to complete before another phase starts.

Agile methodology is focused on delivery of smaller incremental release of working software that is more responsive to changes, and allows users to use the software earlier than waterfall model.



Agile development methodologies:


Each methodology interprets the agile principles slightly differently

List of methodologies:
   a) Extreme Programming (XP)
   b) Scrum
   c) Lean and Kanban

   d) Feature Drive Development
   e) Adaptive System Development
   f) Agile Unified Process and Essential Unified Process
   h) Crystal and Dynamic Systems Development Method

Factors influencing success of agile:

a) Team collaboration and willingness to adapt to change.
b)  Push by the management to train and help the employess adapt. Having a trained agile consultant could help.
c)  Bringing the business users on aboard with this methodology and involving them early on.
d) Type of project and criticality also play a role.
e) Smaller teams and co located teams are better for agile methodologies since it is easier to cordinate.

See also:
Scrum :

http://dwbitechguru.blogspot.ca/2014/11/agile-development-methodologies-scrum.html 


http://dwbitechguru.blogspot.ca/2014/07/data-warehouse-and-business.html