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.