Tuesday, December 30, 2014

Certified Scrum Developer (CSD) Vs Certified Professional - Automated Agile Testing (CP-AAT)

Program Name Certified Scrum Developer (CSD) Automated Agile Testing (CP - AAT)
Certification Authority Scrum Alliance Agile Testing Alliance
Recognition All over world Very little and only in India and Malaysia
Website URL https://www.scrumalliance.org/certifications/
practitioners/csd-certification
http://agiletestingalliance.org/aat.html
Participant Level Developer, Tester, Scrum Master, Agile Coach Developer and Tester
Prerequisite No prerequisite CP-BAT (certified Professional - Basic Agile Testing)
Duration of Training 5 days 3 days
Course fee 39,000 INR 35,000 INR
Course outline Agile Values and Principles
Difference between Waterfall and Agile
Scrum Framework
Scrum Roles, Artifacts and Ceremonies
Agile Estimation and Planning
Writing user story and acceptance criteria
Test Driven Development using junit/nunit
Mocking
Refactoring, Patterns and Anti-Patterns
When and how to Refactor
Collaboration and Pair Programming
Continuous Integration
How to use TDD with Continuous Integration
Behavior Driven Development using Cucumber
How to use Selenium with Cucumber
Agile Values and Principles
Scrum Framework
Scrum Roles, Artifacts and Ceremonies
Test Driven Development using junit/nunit
Refactoring, Patterns and Anti-Patterns
Behavior Driven Development using Cucumber
Acceptance Test Driven Development using Fitnesse
How to use Selenium with Cucumber

How to start TDD (Test Driven Development)?

This is a most common question I here in my training as soon as I say TDD is based on test first approach and we should write test before writing code. If you are already writing unit test for your code after writing code then moving on TDD is easy for you but many developers don’t even write unit test. If they write then they write functional test instead of unit test.

How to differentiate between unit test and functional test?
Developers often write functional test as unit test and ask how is different between tests written by testers. Answer is testers write more negative test cases compare to developers as part of functional test. Basically developers write test NOT to check a unit of code but to check a slice of functionality. This is not unit test. Unit test is for one unit of code like one method, one code block, interface, class or function and functional test is for a piece of functionality after integrating all related code. 

How to switch from functional test to unit test?
Until developer understand what unit test is and how to write an independent unit test to check piece of code, moving to TDD will not be easy. Usually developer start coding either from UI then middle tier OR database then middle tier so if you ask them to write business layer or controller directly without UI or DB, they struggle. I do see few developers have started writing unit test using unit testing framework but for different purpose. Purpose is to meet some agreed condition related to code coverage but if you go and look at it closely then again those tests are not unit test but functional test. Developers need to explore or get trained on writing unit test and practice it under guidance of coach for some time to make it habit. This will only happen when you understand importance of unit test and can think what exactly your code is supposed to do. Nowadays developers has good unit testing framework like junit, testing, nunit and ftest as well as need for unit test. So only missing thing is how to write good unit test.

Shift from code first to test first
This is another big area where many developer say how someone can write/think or execute test until code is not there. Since we all know our expectation from our code, so it is only about writing those expectations and nothing more. Believe in this idea that if I don't know how to test piece of code I am writing then most likely those code is not needed. TDD is not a testing practice but a development practice. It helps you to design code piece by piece to meet end goal. 

How to start writing TDD?
Take any existing application and try adding new code in system but think about how you will test your code? Whatever you can think, add those as unit test one by one and then write minimum code that can satisfy your each test. I have seen many team members going through this route and adopting TDD and I am sure you can also do that.


Wednesday, December 17, 2014

Is Agile and Scrum same? What is Agile and what is Scrum?

Agile is a software development framework that has become popular is last 10-12 years. Agile software development helps in faster software delivery, continuous incremental delivery and faster feedback. 

In February 2001, 17 software professional met at the Snowbird resort in Utah to discuss lightweight development methods. They prepared and published Agile Manifesto for Software Development. As per manifesto any methodology that follow below 4 core values will be considered agile software development methodology.

We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:

Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan

That is, while there is value in the items on the right, we value the items on the left more.

17 people name who signed Agile Manifesto - Kent Beck, James Grenning, Robert C. Martin, Mike Beedle, Jim Highsmith, Steve Mellor, Arie van Bennekum, Andrew Hunt Ken Schwaber, Alistair Cockburn, Ron Jeffries, Jeff Sutherland, Ward Cunningham, Jon Kern, Dave Thomas, Martin Fowler, Brian Marick
Source: Wikipedia-Photo taken by Maree Reveley (aka Somerslea)
Scrum is most popular approach to achieve agility but Scrum is one the methodology. Other popular methodology is eXtreme Programming (XP), Lean, Kanban and DSDM etc. Beside Scrum, other also becoming popular over the period especially to fill the gap in Scrum process.

Scrum covers 3 roles, 4 ceremonies and 3 artifacts. Scrum doesn't suggest any engineering practices but over the period XP practices has been adopted as a common agile engineering practices. These agile engineering practices becoming more popular after scrum alliance launched Certified Scrum Developer course.

Scrum roles are Product Owner, Scrum Master and Development team. Scrum Ceremonies includes Sprint Planning, Daily Scrum, Sprint Review and Sprint Retrospective. Scrum Artifacts are Product Backlog, Sprint Backlog and Increment (Potentially Shippable Product).

Reach out to us if you want to know more about agile and Scrum on www.izenbridge.com



Tuesday, November 25, 2014

CSD – Agile Engineering Training Program in Bangalore, Delhi, Chennai, Hyderabad, Pune and Mumbai

Scrum is the most popular agile framework for completing complex projects. Teams that apply Scrum methods complete tasks faster and with higher quality. The CSD (Certified Scrum Developer) certification is given to those who have demonstrated through a combination of formal training and a technical skills assessment that they have a working understanding of Scrum principles and have mastered specialized Agile engineering skills.

We are conducting CSD workshop in Bangalore and Delhi every alternate month and now starting in Chennai, Hyderabad, Pune and Mumbai. This is an advance course by Scrum Alliance that covers Agile Engineering and Design, Pair Programming, Test Driven Development, Refactoring, Behavior Driven Development and Continuous Integration etc. 

Certified Scrum Developer (CSD) workshop is for everyone especially for development team member that includes Developer, Tester, Business Analyst and Scrum Master.   

This course helps you in designing ecosystem for continuous delivery of software product and IT operation. Focus of agile engineering is to minimize waste and improve productivity through best practices of Test First Approach, Continuous Integration and Delivery. 

If you are a CSM (Certified Scrum Master) then attend 3 days training to become Certified Scrum Developer (CSD) else 5 days training required for non-CSM. There is no exam after training but trainer will evaluate your performance during training and will share feedback with Scrum Alliance. 

If you are still not a CSM and want to do CSD, then you can register to our (CSM+CSD) dual certification or 5 days CSD training. 

Training cost:-

CSD (3 days) - 30,000 INR + Tax.
CSM - 26,000 INR + Tax.
CSM + CSD - 51,000 INR + Tax.
CSD (5 days) – 44,000 INR + Tax

Reach out to us on naveenhome@gmail.com or +91 9810547500

We also help in getting CSP (Certified Scrum Professional) through CSD training if you have 3 years working experience in Agile/Scrum. 

Thursday, September 18, 2014

CSM or CSD – What is better for beginner to scrum and why

CSM (Certified Scrum Master) is a very good introductory course on Scrum and good for anyone who wants to know about Scrum processes and how it is different than waterfall approach. Although program name is little confusing where people coming from traditional project approach think that master means something like management program. Attending CSM training program doesn’t mean participants are ready to play the role of scrum master and also scrum master is not equal to traditional project manager.

I think organization should look CSP credential holder for scrum master position rather than CSM because CSP means that person has spent 3 years in scrum environment and has done extra learning to get CSP.

CSD (Certified Scrum Developer) is another certification program that’s not only teach Scrum basic (CSM course content) but also includes 4 days agile engineering practices. Program name is also confusing like CSM because many thinks CSD is for developer and nobody wants to play a role of developer. Although CSD is for whole scrum team that includes cross-functional development team, scrum master and product owner. It is simply because CSD not only cover technical stuff but also cover how to achieve continuous delivery and collaboration and these can’t be achieve by individual unless whole team come together.

I am not going to talk about scrum master should have technical background or not but I recently saw a big discussion on this subject on LinkedIn. I have other objective and wanted to describe same. Scrum process adoption could be tuff looking at organization culture where scrumbut comes is picture but agile engineering can be adopted while following any project execution methodology. 

Monday, August 11, 2014

What is Certified Scrum Developer (CSD) and why it is important

Certified Scrum Developer (CSD) is certification program by Scrum Alliance for scrum team. CSD is not only for developer as its name suggest (Similarly Certified Scrum Master (CSM) is not to make you master and in fact CSM is just introductory course) but CSD is for everyone working in scrum team including scrum master, product owner, developer, tester, and business analyst. Ideally build and release manager and functional managers should also attend this training. Agile engineering helps in improving quality and productivity of scrum team. 
CSD certification is divided in 3 important topics
1st topic is basic of scrum that is equivalent to what someone learn in certified scrum master course that’s the reason CSM holder should attend only 3 days training to become CSD.
2nd and most important topic is agile engineering, this topic covers all possible tools and engineering practices that can help team to achieve better quality product, early release of product and way to collaborate with stakeholders. Agile engineering is useful not only for agile team but also for any other SDLC methodologies like waterfall or iterative. Most important take away from this training includes better coding practices, automated acceptance testing and continuous delivery.
3rd topic is elective and can be customized based on organization need but within the Scrum Alliance guideline.
So what is better CSM or CSD?
CSM is introductory course and covers scrum framework that includes roles, ceremonies and artifacts. CSD is advance course that covers content of CSM as well as agile engineering. Both has their own advantages. CSM training more about processes and cultural changes whereas CSD focuses more on engineering excellence. If you are completely new and wanted to experiment scrum then attend CSM to start with then go an attend CSD to maximize the benefit. If you are already practicing scrum and looking for certification then better to go directly for CSD. If you are not following scrum but having better and stable processes and looking for faster release cycle and continuous delivery then CSD will be right fit for you.
Certified Scrum Developer training is available through REP across the globe. iZenBridge deliver Certified Scrum Developer (CSD) training in Delhi, Bangalore, Hyderabad and Pune. 

Sunday, July 13, 2014

Agile and Scrum Workshop in Gurgaon

1 day promotional Agile and Scrum Training in Gurgaon (Scrum Alliance approved program)

Date - 09/08/2014 Time 9:30 am - 5:30 pm


Wondering about what is Agile and Scrum is all about? Want to learn Agile and Scrum or get some agile certification. This program will be starting point for you and it will make you proficient in scrum fundamentals. This is an approved program by Scrum Alliance under extended education program. This program offers 8 category “B” SEUs (Scrum Educational Units) and one year scrum alliance membership. This is suitable for everyone looking to know more about agile and scrum. These SEUs can be utilized for becoming CSP (Certified Scrum Professional) by CSM/CSPO/CSD.

Deliverables
·         8 SEUs (Scrum Educational Units)
·         1 year free Scrum alliance membership (Scrum Alliance charges $50)
·         Dedicated forum access to discuss Scrum related queries
·         Support in getting all Scrum Alliance Certification
·         8 PDUs for PMP/PMI-ACP/PgMP certificate holders


See more details about this course, upcoming courses and trainer on Scrum Alliance website –
Naveen Kumar Singh is a Scrum Alliance approved trainer for Certified Scrum Developer (CSD) certification that most suited for scrum team including developers, testers and business analysts. Training also includes agile engineering tools like Cucumber, Specflow, Fitnesse, Selenium, jUnit, nUnit and CI etc.

Sunday, June 22, 2014

Difference between PMI-ACP and CSP



CSP is a next level of certification by Scrum Alliance that helps professional in demonstrating their experience and knowledge in the art of Scrum. If you are CSM, CSPO or CSD and practicing Scrum then you are right fit for CSP. It’s elevate your career even further and helps in getting next level of job like agile coach or trainer. CSP is also needed when you are aiming for CST or CSC.
PMI-ACP® is a certificate program by PMI that covers most of the agile processes. The PMI-ACP certificate recognizes an individual expertise in using agile practices and help them to demonstrate their knowledge of agile tools and techniques. The PMI-ACP® certificate carries a higher level of professional credibility as it requires a combination of agile training, working experience and followed by examination on agile principles, tools and techniques.

Looking at above both looks similar beside than one is provided by Scrum Alliance and other is by PMI but look at below table to check what is better for you and why?


CSP
PMI-ACP®
Prequalification criteria
CSM, CSPO or CSD valid credential holders
2000 hours (12 months) working on project teams in last 5 years
Working experience required?
36 months of demonstrable agile/Scrum work experience in last 5 years
1500 hours (8 months) working on project teams using Agile methodologies in last 3 years
Formal training required?
No. Formal training requirement get covered in CSD, CSM or CSPO training.
Yes. 21 hours of training needed. PMI REP provides this training across the globe
Any Other requirement
70 SEUs (Scrum Education Units), Usually 1 hour of learning is 1 SEU. Scrum alliance has provided 6 category through which you can get these SEUs. Check here to know more about SEUs.
21 PDUs (Professional Development Units) that you will get after attending training program by PMI REP
Examination process
No examination but you must submit application and mentioned how you have earned 70 SEUs, show your work experience. Scrum Alliance will not allow you to fill application if you are not a valid member or your certificate has been expired
Fill application form showing your experience and training. Pay exam fee and write an exam of 120 questions in 3 hours.
Certification fee
Total $250 including 2 years membership fee. $100 during submission of application and $150 after application approved. If you add CSM/CSD/CSPO training cost (approx. $500) then total cost for CSP is $750
$495 for non-member and $435 for member but membership is $139 per year. If you add 2 years membership fee and exam fee then total cost for ACP $703
Audit Process
Yes for everyone. Scrum Alliance validate every application
Yes but randomly. If your application get picked than PMI will ask you to send a copy of educational degree certificate, 21 hours training certificate and proof for experience
Certification validation period
2 years
3 years
Renewal Process
Earn 45 SEUs in 2 years
Earn 30 PDUs in single cycle period (3 years)
Renewal Fee
$250 that includes renewal of low-level certifications, such as CSD, CSM and CSPO
$60 for member and $150 for non-member
Suitable for
Professional working in Scrum environment, looking for next role like Scrum master, coach or trainer.
Scrum Master, traditional project manager, DevOps manager, IT Infra team manager and members

We deliver training on Test Driven Development (TDD), Behavior Driven Development (BDD), Cucumber, Selenium, Jira Agile, Scrum, Jenkins, Scrum Master, Scrum Developer, Product owner, agile estimation and planning, writing user stories etc. 

Scrum Team Roles, Tools and Engineering Practices

Scrum Team

There are 3 roles in scrum team Product Owner, Development Team and Scrum Master. As we know that scrum team is self-organizing and cross-functional team and empowered to take decision how to develop software. Below is detailed about each role and where engineering practices fits in. Scrum team should be flexible, creative and productive. Adopting right engineering practices makes team more flexible and productive.



Product owner
Only one product owner within a scrum team who manages product backlog, describe acceptance criteria, accept or reject work, prioritizing backlog item and ultimate responsible for maximizing the value of the product and the work of development team.
Some tools and technologies needed for product owner to deliver above tasks effectively. A tool to manage product backlog and preferred tool can be JIRA or TFS but someone can even work with Excel sheet. Next important tool is implementation of BDD either through Cucumber, SpeckFlow, NBehave, Fitnesse, BEHAT, or JBehave. BDD tool is very useful in automating acceptance criteria and validating same.

Development Team
Development team is cross functional team of developers, business analyst, testers, DBA or simply say a group of people responsible to deliver a potentially shippable release at the end of every sprint.
Most important for development team to have tooling for configuration, auto build and deployment of build but at the same time coding through TDD is very much needed to have less defect and better organized code. Using TFS or Jenkins with SVN can solve configuration and continuous delivery issues and NUnit, JUnit, TestNG or Test Center can help is producing better code and lesser defect.


Scrum Master
A servant-leader for the scrum team. Primarily responsible to remove impediments to the development team’s progress. Secondary responsibility to coach scrum team member to become self-governing and cross-functional, also work with product owner for effective product backlog management.  Basically overall goal for scrum master is to ensuring scrum is understood and enacted throughout. 

Scrum Master need a tool for tracking impediments, reporting progress and working with team and product owner. Ideally any agile project management tool like JIRA and TFS should be good enough for SM but SM must learn other tools depending on comfort level either in product owner’s tools like Cucumber, SpeckFlow or Behat or may be development team’s tools like CI and TDD.  

Thursday, June 12, 2014

Certified Scrum Professional (CSP) – What, why and How?

What is Certified Scrum Professional (CSP)?

CSP is a next level of certification by Scrum Alliance that helps professional in demonstrating their experience and knowledge in the art of Scrum. If you are CSM, CSPO or CSD and practicing Scrum then you are right fit for CSP. It’s elevate your career even further and helps in getting next level of job like agile coach or trainer. CSP is also needed when you are aiming for CST or CSC. 

Advantage of CSP
  • CSP validates that you are practicing Scrum
  • CSP increase your market value and gives an edge in competing job market 
  • Attract more recruiter with real job in Scrum either as agile consultant or coach 
  • CSP helps in continuous improvement through community 
  • Establish a gateway and milestone towards becoming CST or CSC 
  • You will gain access to online social networks and specially designed logo to highlight your credentials
How to become CSP

There is no exam for CSP and that’s the beauty of this credential. But no exam means more learning. You must satisfy below eligibility criteria to earn CSP credentials. 
  • You must be current holder of either CSD, CSM or CSPO 
  • You must have 36 months of demonstrable agile/Scrum work experience in last 5 years 
  • Collect 70 SEUs (Scrum Education Units) from past 3 years
If you have all above then fill online form and submit along with $100 for review. Once your application approved then pay $150 to get credential that will valid for next 2 years.

How to earn 70 SEUs for CSP

Scrum alliance has 6 different categories through which you can earn SEUs and these categories also have some limitation.

Category “A”/Scrum Alliance Scrum Gathering – You can earn maximum 45 SEUs in this category. One SEU per hour of participation in scrum alliance global, regional or user group scrum gatherings as well as Scrum alliance affiliated user group.
You can earn these SEUs either through presenting, coaching and attending sessions. For example you can earn SEUs through attending Regional Scrum Gathering India event or event through user group like Play Scrum and Agile Software Developers Network.  

Scrum Alliance Guideline - 
Attended Global Scrum Alliance Gathering
Attended Regional Scrum Alliance Gathering
Attended Scrum Alliance User Group Activity
Attended Scrum Alliance-Sponsored Event
Attended Scrum Coaching Retreat 
Attended Scrum Coaching Retreat Pre-Workshop

Category “B”/Scrum Alliance Course – There is no limit for this category. CSM and CSPO certification is eligible for 16 SEUs, CSD is eligible for 24 SEUs. You can also earn through attending training course provided by REP or CST. Training by Scrum Alliance CST and REP must follow below guidelines.

If you are CSM or CSPO then attend 3 days CSD engineering training to get additional 24 SEUs. You not only get 24 additional SEUs but also additional certificate - CSD

You can also earn additional SEUs through attending various training deliver by CST and REP like Leanpitch. These training includes TDD, BDD, Writing USer Stories, Scaling Scrum and Continuous Integration.

Scrum Alliance Guideline - 
Received CSM Training
Received CSPO Training
Received CSD Training
Received Training from a CST (including video training)
Received Training from a REP (only approved courses and trainers)
Received Coaching by a CSC

Category “C”/Outside Events – Up to 15 SEUs in this category through attending Scrum conferences like AgileNCR or training on agile topics provided by someone who is not a REP or CST. Attending 2 days PMI-ACP training will help you in getting 15 SEUs.

Category “D”/Volunteer Service - Up to 15 SEUs may be earned by providing non-compensated, Scrum professional services to an organization or group other than your employer. You can earn these SEUs even through helping REP or CST in organizing and delivering seminars.

Category “E”/Asynchronous Learning – Up to 15 SEUs may be earned through various independent learning activities, such as preparing presentations, authoring relevant books or reading some books deeply and then describe benefits.

Category “F”/ Synchronous Learning – Up to 15 SEUs may be earned through a variety of other learning activities that doesn't fit in above category like working as co-trainer with more experience trainer.

How to earn SEU for CSP. How to become CSP.


Reach to me on naveenhome@gmail.com or +91 9810547500 for corporate training.

We deliver training on Test Driven Development (TDD), Behavior Driven Development (BDD), Cucumber, Selenium, Jira Agile, Scrum, Jenkins, Scrum Master, Scrum Developer, Product owner, agile estimation and planning, writing user stories et

Wednesday, June 11, 2014

Agile estimation in a nutshell

What is estimation?
Estimation is basically approximation of time needed to complete an activity and activity can be anything. Activity may be driving from New Delhi to Mumbai or cooking food for 50 people or reading a 300 pages book.



Similarly estimation can be developing a data entry form or designing a search page for flight between cities.


Below are few important practices of agile estimation
  • Estimates are shared and not done by individual
  • Single estimate by whole team
  • Top down estimate where team estimates requirement starting from Theme, epic then stories
  • Ideal time is the time, which is spent only on project work without any interruptions.
  • Elapsed time is the total time taken to finish the work.


It’s about relative terms
Agile estimate is relative terms and estimates has no direct link with man days or hours. Relative terms establishing a relation between multiple similar works then comparing which is big story, medium story or short story etc. Like designing a registration page can be a medium story but it may become big story if registration page required integration with CRM application.

Story Point Estimate
Story points are a unit of measure for expressing the overall size of a user story. We start with assigning a numeric estimate value to a user story. The raw value doesn't matter what matters is the relative values based on size (bigness and complexity). Team can use any unit to estimate like very big, big, medium, small, very small etc. Most appropriate is to use Fibonacci Series where story can be estimated like 1,2,3,5,8,13 points. Similarly Epic can be estimated like 20, 40, and 100.

Planning Poker
Planning poker is a game that team play using deck of cards and every cards has number written on it. Every team member picks up a card against story and if all team member doesn't have same number then team discuss internally to understand each other logic about why someone estimated very high or very low. If story is not clear then team approach to product owner to get clarity about story. Team keeps playing this game till everyone agrees for approximately for same number.