Monday, May 26, 2014

Presentation on Scrum (most popular agile framework) for beginner

We hear a lot about agile, scrum, scrum master and also become regular requirement for jobs as well. Many organizations has moved to next level and talks about advance topics like scaled agile, Kanban with scrum, cumulative flow diagram, SAFE and engineering practices but there are many still planning to adopt agile. This articles is for those planning to test agile and want to know basic of agile and scrum. Actually I presented same topic last month to PMI North India Chapter members through an event sponsored by PMI North India chapter on 26th April 2014. 

Sunday, May 25, 2014

Implementing Agile on fixed price project

People often say agile is good for developing project where there is no pressure of fixed price, scope and deadline and not suitable for fixed price and deadline. Reasoning that we often hear is fixed price project always has clear scope and since there are hardly any scope changes so why to follow agile.
Before jumping on how agile can be useful for fixed price project let’s see what is agile. Agile project management follow below four values and every agile framework like Scrum, Kanban, Lean, DSDM and XP helps in achieving these values.
Individuals and interactions over Processes and tools
Working software over Comprehensive documentation
Customer collaboration over Contract negotiation
Responding to change over Following a plan
Now look at closely how these four values can be implemented successfully in fixed price project.

Individuals and interactions are essentials for high performing team and communication plan needed not only to share the project progress status but also to facilitate inspect and adapt cycles. These inspect and adapt cycles can range from every few minutes with pair programming, to every few hours with continuous integration, to every day with daily stand-up meeting, to every sprint review and retrospective. We do prepare communication plan even in waterfall model but usually only to share progress status and but agile communication focus more on inspect and adapt cycles.

Working software is main object of every project either using waterfall or agile but as agile manifesto stress delivering small pieces of working software to the customer at set intervals. All agile teams must establish the meaning of “working software” at the beginning that often called definition of done. Since scope is clearly defined in fixed price project so product owner should start converting scope is product backlog followed by prioritization of backlog. Team picks the items from product backlog for current sprint and deliver working software at the end of sprint. Frequent build gives customer an opportunity to review the progress and adjust priority instead of discussing progress based on percentage completion.

Customer collaboration is key for success of fixed price project. Team often works in onsite and offshore model to collaborate with customer but agile gives another level of collaboration where product owner (proxy of customers) is involved throughout project and keeps working on product backlog. Sprint review gives an opportunity to get early feedback from customer about deliverables. Having early review of working software gives an opportunity to adjust priority as well. Frequent reviews and feedbacks help in coming up with release plan and avoid critical defects during deployment.

Responding to change is one the four agile values. Since we have frequent reviews and feedbacks so changes are expected but how to respond is the key. Though fixed price project has defined scope, we still prefer to have change management system is place because we know some changes may come and sometime those are part of contract but usually we charge customers separately for changes those are not part of scope. We can follow the same change management system even in agile but only difference that these changes will come early instead of coming very late where team often ask to stretch.  

Wednesday, May 21, 2014

Certified Scrum Developer (CSD) - new certification by Scrum Alliance

Scrum Alliance has launched a new certification recently called CSD (certified scrum developer) and I was reading about same and wanted to highlight some of the important points about this certificate.

CSD is a 5 days program and there is no exam at the end of 5 days training whereas other certifications has examination process although it is not tough to clear those but in case of CSD there is no exam.

5 days training has 3 parts - 1st part is One day introduction to Scrum methodology (Content is same like CSM), 2nd is 3 days technical track that cover Agile Architecture and Design, TDD, Refactoring, Continuous Integration, Pair Programming and Collaboration and one day elective like ATDD, BDD or Distributed Scrum Team.

CSD is being offered through Registered Education Provider (REP) but trainers will get evaluated by Scrum Alliance so REP can't hire anybody to deliver training. CST (Certified Scrum Trainer) can also deliver CSD program but they have to become REP 1st. REP is going to evaluate participant towards the end of every topics and they will share feedback to Scrum Alliance before publishing participant name on Scrum Alliance website.

CSD holder can directly become CSP (Certified Scrum Professional) and no CSM or CSPO certification required for same if they fulfill criteria for CSP.

CSD is also available in 3 days format for CSM and they only have to go through 3 days technical track.

I believe CSD is better program compare to CSM because CSD already teach about Scrum Master role but also add lot many technical training those needed to improve quality and productivity.

Unlike CSM, CSD is not only for Scrum Master but for whole scrum team including developers, testers and business analysts.

I think costing is also going to be very high compare to CSM but all depends on REP, trainers and training quality.

Confusion related to right agile and Scrum certification for different roles

There are many confusions related to Agile or Scrum certification due to many providers in this field. There is no confusion when it’s come to project management because PMP is globally recognized certification program for same. Although there are other as well like Prince2 but still PMP is way ahead to others and PMP automatically become the first choice. When it’s come to Agile or Scrum then we have many providers as well as many certifications. Below is the brief about these certifications.

PMI-ACP (Agile Certified Practitioner) by Project Management Institute – PMI-ACP required understanding agile as whole. Participant should have working experience and formal training on Agile including Scrum, Lean, Kanban, TDD and XP etc. Participant should clear the exam as well and exam test participants not only on Scrum framework but other agile processes as well. Please click here for more details.

Scrum Alliance certifications program – Scrum Alliance is also a nonprofit organization similar to PMI that encourages and supports the widespread adoption and effective practice of Scrum. Scrum Alliance certification is Trainer focused and yes there is exam but haven’t seen anyone failing so far. Scrum Alliance has 3 certifications covering all 3 roles that Scrum framework recommend.
Certified Scrum Product Owner (CSPO) – CSPO is for people working as product owner or business analyst.
Certified ScrumMaster (CSM) – CSM is for scrum master or someone wants to become scrum master.
Certified Scrum Developer (CSD) – CSD is for whole team including team, scrum master and even for product owner. In fact CSD already cover most of the content of CSM course. CSD includes CSM plus other engineering practices like Agile Architecture & Design, Test Driven Development (TDD), Behavior Driven Development (BDD), Pair Programming and Distributed team etc. certification program – is also similar to Scrum Alliance and started by Ken Schwaber. Ken is one the founders of scrum. The route has a clearer examination/certification process, more advanced scrum courseware and as Schwaber states himself, correcting some oversights within Scrum Alliance. also has 3 certifications to cover all scrum roles.
Professional Scrum Product Owner (PSPO) – Similar to CSPO
Professional Scrum Master (PSM) – Similar to CSM
Professional Scrum Developer (PSD) – Similar to CSD

1st question is which certification is better for professional?
There are 2 broad categories PMI-ACP and Scrum certification. PMI-ACP is more suitable for professional those are managing/working on various different agile processes and team following different framework like Scrum for product/project development, lean for process improvement and Kanban for support activities. But scrum certifications for the professional as well beginner those want to learn and use scrum effectively in organization.
2nd question is which scrum organization certification?
I personally believe certification carries more values compare to Scrum Alliance because certification follows better examination process as well as course materials are standard and every trainer follows same course. Scrum Alliance training material depends on trainer and every trainers teach differently although being older than this is more popular. is becoming popular but will take time especially in India.
3rd question is which certification as per role CSPO/CSM or CSD?
If you are new to scrum or your organization is thinking about adopting scrum then I would suggest CSD is better because CSD covers everything that needed for scrum starting with Scrum Introduction to scrum engineering practices. Usually new entrance looks for dramatic result to start with so having right mix of Scrum discipline and scrum engineering practices can help meeting those expectations.
CSM is good to start a career as scrum master but in long run scrum master should also learn engineering practices to have high performing team and better quality product.
CSPO is different compare to CSM and CSD and this for product owner or business analyst playing role of proxy PO. CSD also have some practices that useful for PO like behavior driven development.