This talk has been presented at Angular Meetup, Dhaka 2017 at MonsterLab.
Software developers have a reputation for being somewhat careless when answering the question “are you done with this feature”? In most cases the answer comes “Yes, Done” then the developer meant to say “Programming is done but…” and the interest point of the answer the world wants to hear is the state of “Production readiness” including testing, bug fixing and so on. Here comes the “Definition of Done” that needs to be agreed among the involved persons within a Product development process.
Definition of Done aka DoD works different way for several Agile teams, but serves the same ultimate goal for everyone. It should be a satisfaction checklist for software development teams to handover a shippable feature at production. In Agile practices, a shippable feature can be an independent unit of deliverable that is done according to Definition of Done.
In context of a developer, I strongly believe everyone should have his or her very own written form of “Definition of Done” for particular projects, even you are doing freelance or teaming up with others. Before digging into personal DoD, lets learn what others have as their DoD.
In our company at Vantage Labs, we are practicing Scrum since last five consecutive years successfully and each self organizing team settled their own “Definition of Done” at first place.
Here are two samples of “Definition of Done” collected from two diverse teams of products.
The first team deals with Web and Mobile based CRM, they have a decent set as the followings:
- Code was implemented.
- If required, Unit tests were written and pass.
- Committed to source control.
- Peer review is conducted; necessary improvements are made.
- Deployed on stating server and ready for acceptance test.
- QA Scripts developed or manual test scripts documented.
- Functional QA was completed; conditions of satisfaction were met.
- Bugs from QA resolved.
The second team works with English Grammar Engine and they have their very own set of procedures to meet the Doneness which are as followings:
A unit of work aka. Story is done when:
- Code is implemented.
- Code is checked into source control.
- Code rebuilds from source control both on Windows and Linux.
- The tests for defined benchmark sentences have precision over 80% and recall over 60%.
- Results are documented on Wiki (benchmark sentences, performance).
The sprint (2 weeks of work for different feature completion) is done (it means that all the sprint stories can be deployed to production) when:
- Pass the load test.
- Regression tests are successful.
- Pass the 5-essay evaluation by the editors.
The first team works with web development and has a classic set of Definition of Done that can be validated against most of their general purpose features while the second team works with backend component and has measurement oriented list in their definition. The first Definition of Done is the most widely used set around.
This context specific simple list of criteria can ensure software quality in a greater extent, as at the end of day the stakeholders will be using your delivered feature. This particular practice of Agile can be adopted separately in generic case as well by a single person. Note that better delivery is a choice.
So, What is your Definition of Done?
Here at BD, Scrum Master certification training is not available and the number of Scrum practitioner company is very limited. However, as an Scrum practitioner over years, I decided to complete the certification and at the same time I had some tour plans going on at the neighbor countries :). I knew that the certification requires 16 hours or 2 days training prior to the online exam with Scrum Alliance (SA), so I was planning to make it in some place at India from where I can easily fly for my desired tourist destinations, obviously it is New Delhi. The SA course finder helped me to find CSM trainings that going to be held within New Delhi.
I have registered to my desired CSM course at SA website and was unable to pay online due to their local payment system at suggested event site allows only cards with Indian Currency (INR). I had contacted with their designated person regarding the fee and they happily allowed me to deposit the fee at the venue. The course has been organized by Unicom and the trainer was Andreas Wintersteiger, (I call him!) the mastermind agile coach. I had gone through other trainers profile at SA website and found him the suitable person to get trained by.
What you need to do to come so far?
– Apply for the VISA of the country you wanted to do your course, in my case it was India.
– After VISA confirmation, use SA course finder to find CSM trainings and register yourself there, make your flight schedule accordingly, atleast reach a day before your class and I believe you can manage your hotel by Goggling.
– CSM course fee varies among providers and might be around 410USD (approx), the fee includes online exam and 2 years SA membership, you will find the course fee along with the training details at SA website. There are early birds discounts as well in most of the training packages.
– The trainer aka. Certified Scrum Coach/Trainer (CSC/CST) shall conduct the course and enroll you for the exam. The enrollment for the exam should be within 90 days from the course taken, in my case it was the second week (meanwhile I was in home ), my trainer registered me at SA for exam. The trainer will provide you with all sort of exam details and pre-exam study materials, no worries 🙂
– Once you login to SA you will have the exam ready to start, you have two chances within 90 days from the course completion date, but no one needs the second chance here. Trust me, the exam is just a formality and the certification is 35 MCQ questions away. I had 34 out of 35 questions corrected and passed with 97.14%, checkout my score:
– Exam MCQ questions are very very simple and apply your commons sense type i.e. What is the role of Scrum Master (check one), Who estimates stories etc. You will be given more than sufficient time to complete the exam.
– The CSM Exam is online, can be given from home in pajamas 🙂
The certification from Scrum Alliance (SA) should add good values into anyone’s profile.
– Last, but not the least, practicing Scrum earlier in real life should be a BIG plus for you to understand the whole picture.
One thing, learning something and getting certification are different things. Actually, you don’t need certification to use & adopt Scrum and get benefited from it. Good luck with your CSM 🙂
For those who are thinking to give it a shot, checkout the following study materials:
“Do Better Scrum”
– by Peter Hundermark, a CSC and CST in Africa and Brazil. Provides a set of tips and insights into how to do Scrum well. (Also available in Spanish.)
“The Scrum Primer”
– by Pete Deemer, Gabrielle Benefield, Craig Larman, and Bas Vodde. An early description of Scrum, written in 2006 by a respected group of CST practitioners. Offers an in-depth introduction to the theory and practice of Scrum.
“The Scrum Papers”
– compiled by Jeff Sutherland, one of the co-creators of Scrum. A collection of papers relating to the practice of scrum that covers the basics all the way up to advanced topics such as how to scale Scrum.
“Scrum topic pages”
– by CST Mike Cohn. An online overview of many of the Scrum basics.
– by Tobias Mayer. A domain-independent overview of the Scrum framework.
your processor architecture, you can determine it by entering the command “
uname -p” in a terminal, You should see something like this:
To find out your CentOS version just run, you should see something like this:
Kernel \r on an \m
To print a file in reverse order, Just a reverse of
wall hello everyone
Allows root or other users allowed to issue commands as root to send a message to everyones terminal.
To output the first part of files to the terminal, just a reverse of
Reloads bash_profile / profile without starting a new shell session.