Monday, August 15, 2016

Software testing is changing in agile world but what all is changing?


Agile Testing
What is testing? Checking software to ensure its meeting customer requirement or more? Who is supposed to test? Tester only? What qualification needed to become tester? Automation testing or manual? What is the role of tester is agile? Is there a room for manual testers and testing in agile? Confused?

Many questions but no concrete answer. Testing is important and not just what testers do but much more than that. Team spent more than 60% time on testing. Surprised? Think again - unit testing, functional testing, regression, security, load, integration, customer and acceptance testing etc.

I have scheduled 2 days FREE workshop on Agile Testing in Delhi on August 27-28 to explore all above as well to learn more about specification by examples, bdd, tdd, DevOps, CI and many more. This workshop is free but not venue so you have to pay INR 3000 for venue and food. You are most welcome if wanted to pay more.


More information with registration link - http://agilemania.com/event/agile-testing-training-new-delhi/

Reach out to me if looking for Agile Workshop for Developers and Testers. 

Wednesday, May 25, 2016

Dedicated Scrum Master or Full-time Scrum Master?

Scenario 1 - She is a full-time scrum master for a team and gives all her time to the team, and attends all scrum events.

Scenario 2 - A dedicated scrum master for a team, not full-time, may work as a developer.

Arguments in favor of full-time Scrum Master
  • If not full-time, what will happen to impediments to those needing immediate attention?
  • She has to attend all events to ensure people practice the proper scrum.

The argument in support of not having a full-time Scrum Master
  • But most of the time, impediments are not impediments but intra-team dependencies that the team has to manage, not scrum master.
  • Scrum master is not needed in all events, and she has to only ensure those are getting done by the team.


Tuesday, May 24, 2016

Done with Certified ScrumMaster (CSM) so what next? Agile Coach?

Nowadays everyone wanted to become agile coach after clearing Certified ScrumMaster (CSM). And why not there are already so many scrum masters and we have to stand out of the crowd. There is nothing wrong in this because we all have passion and desire to become something.

People consider CSP (certified scrum professional) as 1st step in order to become agile coach. I don’t know how true is that but I know people start collecting SEUs. This SEUs business is not bad either especially for community building because many started coming to conferences and meetup to collect SEUs.

But there is some challenges? Nowadays companies are looking for specific kind of coach like Process Coach, Flow Coach, Scrum Coach, Kanban Coach, Technical Coach and Developer Coach etc. This is creating another level of confusion for people wanting to become coach. In fact I am waiting to see if someone post LeSS Coach so I can apply :) In fact training business flourish when market create confusion and now I can see many people wanted to attend Scrum Developer workshop in order to become technical coach or developer coach etc.

Don’t know where this industry is heading but so far everything looks lucrative. Also all certification bodies like scrum alliance keep launching new certifications to tap market opportunity like enterprise coach, team coach and now leadership program so be ready to spend more in order to be in race.

I still believe Scrum Master is true coach provide he or she is good facilitator and servant leader. If Scrum Master has exposure on technical practices such TDD, ATDD, CI and Pair Programming etc then nothing like it. But this is what I believe. 

Friday, May 20, 2016

Everyone is developer in development team and not just a coder, a tester etc. Are you kidding?

Scrum is very simple framework to develop complex software product in complex environment but hard to practice. But why? I am not going in details of why but wanted to highlight one problem about development team as per my understanding.

Development team means cross-functional and self-organizing team of developers. But who is developer? Isn’t it everyone who contribute to develop software? A coder, tester, dba, UI designer, content writer or business analyst? Now look at your team. Is it cross-functional? Yes you have because you have technician for all skills but are those technician developers? May not be. There are just a coder, a tester, a dba, a ui designer and waiting for their skill related task. They are not working as developers with goal to develop software but they are just doing their task as per their skills.

Some of the key things that will help you to understand about development team. Think about L&D organizing few training is going to announce it.

1st announcement “we are planning to have workshop for Scrum Developer so send your nomination”. You will find that only coder has subscribed for this workshop.

Another announcement “we are organizing Agile Testing workshop so send your nomination”. This time only tester will subscribe.

What reflect above? Team is still divided in coder and tester. Tester feels everything related to testing is their domain and similarly coders feel all coding work is part of their work.

But reality is tester has to write code in order to test production code and coder has to write test to perform unit and integration test of code.

Another way of looking at it.

During sprint planning team prepared sprint backlog. Below is sprint backlog and now what it reflects? There are tasks but those tasks are skills based and not component. Isn’t it bad way of creating task? No? Then look below situation.
Assume there are 2 people Alex (coder) and Martha (tester) working on these 3 stories.

Alex done with coding part of story 1 after 2 days and Martha has started testing so what Alex will do next?

Most likely Alex will start working on coding part of story 2. Is it good? Why can’t Alex picks up other work from same story? Or why Martha was waiting for Alex to complete coding in order to start testing? Why can’t she pair with Alex to test in parallel or at least started testing APIs?

Many people asked me what’s wrong if Alex start working on coding part of story 2. Let’s see below situation.

Alex completed coding of 1st story and started coding 2nd story. Martha still testing 1st story found a bug so what she has to do? She reached out to Alex and wanted to discuss about bug but Alex is busy and asked her to come later on.

What do you think Martha will do next? Most likely she will open a bug tracking tool and log newly found bug over there. Is it good? No but why Not? I will write about bug logging challenges sometime later on but let's focus on other aspect of it for now.

After a day Alex is done with coding of Story 2 and started looking into bugs those were logged by Martha. He identified route cause of a bug that requires to change some framework level code. But that will also impact 2nd Story code that he has just completed.

What Alex will do? It is good if he go change whatever needed in order to fix at route but it will generate rework and will delay delivery. Other option is shortcut to fix bug (patch work) that will not have much impact on Story 2 code.

Majority of the time coder choose 2nd option because coders are very emotional about their code but result of shortcut will be “Technical Debt”.


What can be done in order to avoid such scenario? Yes. 1st don’t break story like above but try to divide in component. Best is not to divide but still dividing then divide in component. Work in pairing. Team should focus on finishing one that already in progress rather than starting new story.

Tuesday, May 17, 2016

I don’t want to be a developer

Is there something wrong with software developer designation? Because everyone wanted to become scrum master and agile coach but not a good software developer. May be scrum master sound really big because of MASTER keyword but if you see same word in other context like school master then again nobody wanted to become school master. This may also because scrum is very light height framework and described in just 16 pages so everyone feel they are master of those 16 pages.

Since I coach development team and facilitate scrum developer workshop so get to interact with coders and testers often. Sometime few participants give impression that they are no open position for scrum master in their company that’s why they are part of development team.

Although I having feeling that real master is development team not others. All other exist because of them so other can be termed as servant teams and that’s why we have scrum master as servant leader to lead our servant team.

Few interesting conversation when people call to enquire about scrum developer workshop.

“I wanted to learn agile engineering practices such BDD, ATDD, TDD and CI etc but not looking for certification. I am an agile coach and need these skills to facilitate my team but don’t want to be labeled as certified scrum developer.”

“I am a certified scrum master and looking to become certified scrum professional. I have gone through your blog and believe you can help me in getting remaining 20 SEUs but please don’t suggest to attend scrum developer workshop because I am looking for CSP but not CSD.”

“I am tester and following agile in our company. Looking for Certified Scrum Master training is there certificate for testers like the way we have scrum developer for developers.”

Above conversation reflects how much people understand about role of developers and development team.

I was reading Agile Testing book authored by Lisa Crispin and Janet Gregory and they have beautifully quoted “Everyone involved with delivering code is a developer, and is part of the development team.”

Scrum developer workshop is not for only programmer but for tester, architect, leads, manager, coaches and as well as for MASTERS.

Why I am so passionate about development team? Wrong this has nothing to do with my work but more about letting developers know how important they are and what they can do.

Friday, May 13, 2016

Something wrong with software engineer designation

Why we don't feel proud in saying "I am a software engineer"? We all want to move away from this designation as fast as possible but why or this is not true?
May be we don't get equal values what other stream engineers get like mechanical engineer, electrical engineer or automobile engineer?
I am saying based on my conversations with various people during my workshop. Since I facilitate Scrum Developer workshop so mainly developers (Software Engineers and QA Engineers) come to attend.  
1st conversation
Developers - I am a software developer with 5 years experience and looking for role of Tech Lead or Architect etc.
Me - But there is no such roles in Scrum and you will have tough time going forward if you opt for meaningless designation and roles.
Developers - That I have heard but I can't even get attention of my company as developer so what's the use of being called Software Developer.
2nd conversation
Tech Lead - I am planning to be Scrum Master and I am already leading a team of 6 developers. What do you suggest? Can I go for CSM workshop?
Me - If you are still technical and contributing as development team then why moving to Scrum Master role? How much you know about Scrum?
Tech Lead - I don't know about Scrum and that's the reason I am here but I don't want to become developer. Scrum Master sounds more commanding and anyway I should not looking backward because I was developer for 6 years before becoming Tech Lead this year. Now you are saying there is no role like Tech Lead in Scrum so better to try for Scrum Master than becoming developer again.
3rd conversation
Future Agile Coach - I saw your post about how to earn 70 SEUs and I am running short by 15 SEUs. Can you help my getting those and please don't suggest to attend Scrum Developer workshop. No offence because I am planning for Scrum Professional so there is no point to know what Developer do.
Me - Still thinking how to reply
We often see engineers from other stream carry engineer as title till retirement like Assistance Engineer, Executive Engineer or Chief Engineer whereas Software Engineers move to some confusing roles like Tech Lead, Project Lead, Sr. Project Lead and some time even "Senior Assistant Vice President".     
We should start respecting ourselves as Software Developer/Engineers rather than moving into a trap of rat race.

Friday, April 1, 2016

How to earn 70 SEUs for FREE to become CSP (Certified Scrum Professional) in shortest possible time

Here is details about free SEUs for CSP (Certified Scrum Professional)

Category ‘A’ – Category A has a maximum limit of 45 SEUs, you can earn these by attending Scrum Alliance events. These events can be Scrum Global Gathering, Regional Gathering, Scrum Alliance Sponsored event and User Group event.

Scrum Bangalore organize full day event in Bangalore every quarter and now have started in Gurgaon, Discuss Agile regularly organize meetup in all cities, PlayScrum also organize meetup in Pune, Chennai, Delhi and Bangalore.

Basically, if you plan well then you can earn 20-30 SEUs in 3 months easily. I believe that’s good enough for this category.

Category ‘B’ – You can earn unlimited SEUs in this Category. But those will be paid. In any case, you need at least on Certification from this category to apply for CSP. Certified Scrum Master (CSM) gives you 16 SEUs, Certified Scrum Product Owner (CSPO) gives you 16 as well and Certified Scrum Developer (CSD) gives you 40. Ideally if you complete all these 3 roles based certifications then you get 56 from this category itself and don’t need anything else. I strongly suggest everyone to attend all 3 workshops before becoming CSP. Because you are planning for next level so it does matter that you know every roles and respective responsibilities in details.

But I said free SEUs for CSP so assuming you will only have 16 SEUs from this category either for CSM/CSPO or CSD.   

Category ‘C’ – You can claim 15 SEUs under Category C by attending any agile/scrum program such as PMI-ACP, Kanban, SAFe Agilist, Advance Scrum Master, SAFe Scrum Master, DevOps, Test Driven Development, Behavior Driven Development, and Specification by Examples. Again these will not come for free. So look for either DevOps meetup in your city or meetup on product management or lean management. You should be able to earn 15 in 3 months easily. If need help then write to me.

Category ‘D’ – Through voluntary work you can earn 15 category ‘D’ SEUs. Help ME in organizing next meetup in your company and you can claim 15 for same. If that’s not possible then check with local user group community in your city and extend your help in spreading agile/scrum knowledge by working with community leader and you can claim 15 in next 3 months.

Category ‘E’ Read 3 books (my favorites) 1st – 5 dysfunctions of team, 2nd – The Phoenix Project and 3rd Scrum – A Pocket Guide and claim 15 SEUs for free in this category.

Category ‘F’ – Up to 15 SEUs may be earned through a variety of other collaborative learning activities engaged in with other Scrum practitioners. Best example attending webinar organized by us. Now every month we are facilitating 3 hours live online session on advance topic for free. Join our sessions for free to learn and earn SEUs.  

So here you are in 2 months:-

Category “A” – 14 (1 full day, 2 meetup)
Category “B” – 32/40 (Either CSM+CSPO or CSM+CSD)
Category “C”– 06 (2 meetup on DevOps/Docker/Lean)
Category “E” – 15 (Reading my 3 favorite books) 
Category “F” – 15 (Attend either Atlasssian hangout or join our online live session)

Total SEUs is 82-90 in next 2-3 months :)

Write to me on naveenhome@gmail.com in case you have any query.

Thursday, March 10, 2016

Impediments that get exposed when start practicing Scrum

Development Team often encounter with an impediments by shortening sprint length is lack of good technical practices. Organizations usually focus more on facilitate Scrum Master or Product Owner workshop as soon as they plan to adopt Scrum but very few organizations facilitate workshops for Development Team. Although it has increased a lot in last 2 years but still not anywhere near to Scrum Master or Product Owner workshop.

We just wonder why? There are more people working to develop software compare to Facilitators or Product Owner then why you are ignoring it? Ignorance can cause technical debts. When there is less time and team lack good technical practices then team may start cutting corner to deliver what they have committed. This leads to technical debts and it may slow you down in long run. You may feel Scrum is not helping you in building quality product and team motivation may go down.
   
We feel there could be 2 reasons. 1st – Organization just facilitating Scrum Master (or similar) Workshop for development team and 2nd - not aware about workshop available for Development Team. There is another one – Some technical workshop is happening in bit and pieces like junit, nunit, Jenkins or selenium etc. but mainly tools training but not practice workshop.

Same applied for new hire/ campus hire. People go through a series of training when they join but not very focused in the area of Test First, TDD, ATDD, BDD, CI, Pair Programming, Mob Programming, Continuous Integration or Collaboration practices. We believe that in order to be successful, members of Scrum Development Teams must have these skills and organization must focus on investing a lot on it.

Let us know if you need more information about development team workshops, which is more suitable for your team or your team is also struggling with similar impediment.

Leanpitch develop products and provides services for both product discovery and product delivery cycles of Software Product Development. We help organization in maximizing the work of the Development Team.


Reach out us in case looking for in-house workshops on Certified ScrumMaster (CSM), Certified Scrum Product Owner (CSPO) or Certified Scrum Developer(CSD). Our facilitators are known for quality and commitment.

Sunday, March 6, 2016

Are you investing enough to build cross-functional development team?

I do see people come to attend CSM (Certified Scrum Master) or CSPO (Certified Scrum Product Owner) training or many organizations ask us to facilitate in-house CSM and CSPO workshops. These 2 workshops are for Scrum Master and Product Owner and really needed in order to start practicing Scrum within organization. But what kind of workshop you are organizing for development team or what workshop you development team members are attending to gain knowledge related to development team's practices?

How you are helping to build a better cross-functional and self-organizing team? Hope you are not ignoring but are you having right workshops for them? What do you do for people working on Salesforce, Oracle ERP, Java Development, UX design, Database, .Net Development, Open Source Platform, Mainframe or Embedded Technologies either as Developer, Testers or Business Analyst?

I am raising this questions based on my interaction with development team while facilitating CSD ( Certified Scrum Developer) workshop for developers, testers and business analyst. What I usually hear that organization facilitates only Scrum Framework workshop and nothing specific to development team role. Some organizations also organize workshops on TDD, CI etc. but mainly tools training and not much focus on practices.

Since Scrum become a widely used framework for software development and majority of organizations already practicing Scrum or Scrum + Something so it has become vital to have your development team members go through role specific workshop to learn practices that can help them to be more efficient and effective.

Workshops should focus more on practices and importance of these practices rather than just tools. If they just go for junit, dbunit, jenkins or cucumber training then most likely teams will misuse these tools. Being a developer I understand one things that until I am not sure how these practices and tools useful for me, I will not use it. Maybe this is one the biggest reason that team ignore engineering practices and technical debts keeps increasing sprint by sprint.

Which is the best Agile and Scrum Certification Training Workshop?

Have you been asked questions related to agile and Scrum certifications? I get many questions on LinkedIn and Quora. Here is a list of frequently asked questions. 
  • What kind of Scrum and agile workshop is suitable for me?
  • Can I go for Scrum Master Training or Product Owner Training?
  • I am a tester and wanted to learn agile testing, but how?
  • Is there any certificate for Architect, Developer, Tester or Manual Tester?
  • Which agile and Scrum certificates carry more value in the job market?
  • I have a working knowledge of Agile and Scrum but looking for a certificate to change job ,so which certificate will help me more?
  • Which Certificate for Scrum Master more suitable? Which one to choose between CSM, PSM and PMI-ACP?
  • I am working in Scrum for long and now looking for a certificate, so please suggest. 
Many more similar questions, so writing about them in detail. Below is my personal suggestions based on interactions with organizations and their leaders.


There are only 2 major Certification Authorities available but don’t worry there are many fake ones as well. In fact, PMI also provides certification but they are confused with their own certificate.

Scrum Alliance is the first organization to start offering quality training and is now accepted across the world. Most popular in countries like USA, UK, Singapore and India. Attending training by an approved trainer is a must in order to earn a certificate and there are no exams for certification apart from CSM (Certified Scrum Master).

Be careful while choosing Scrum Alliance workshop because some of the trainers are not rated well. The below parameters can be applied while choosing.
  • What is the batch size? Not too small and not too big is OK. 
  • Teaching techniques – is it based on hands-on activities or PPT reading?
  • Ask questions like how this workshop is related to are where you operate?
  • The workshop is generic Scrum introduction or role-specific?
  • Ask for feedback if possible

Scrum.org is founded by Ken Schwaber (co-creator of Scrum) after moving out from Scrum Alliance. Very good courses and highly rated by practitioners. Scrum.org is becoming more popular nowadays because companies are asking for Scrum.org certificates exclusively. Training is not mandatory in order to write exams but is always suggestible for new people.

Which one to choose? Scrum Alliance or Scrum.org?

Personally, I like Scrum.org courses but if you look at the market demand then Scrum Alliance still is the most popular. I am Professional Scrum Trainer (PST) from Scrum.org so you can say I have a natural inclination towards Scrum.org but that's not true because I am also a Certified Scrum Developer Educator from Scrum Alliance and I love teaching Scrum Alliance courses. So why do I like Scrum.org courses? Because of control over the content and nothing more.    

Scrum Alliance courses are popular and you don’t need to explain to anyone about Certified ScrumMaster (CSM),  Certified Scrum Product Owner (CSPO) and Certified Scrum Developer (CSD). These are well-known certificates and even the recruitment team understand very well. Although In recent times, Scrum.Org courses like Professional Scrum Master (PSM-I), Professional Scrum Product Owner (PSPO-I) or Professional Scrum Developer (PSD-I) became popular and demand is growing due to the better quality (or maybe better marketing). 

Which Scrum Certificate is suitable more for me based on my role?

You are working as a Product Manager, Project Manager, Product Owner, Proxy Product Owner, Business owner, Functional Consultant, Senior Manager or you are responsible for P&L, Business growth, managing large products etc. then better to choose a Certified Scrum Product Owner(CSPO) or ProfessionalScrum Product Owner (PSPO-I). Attending a two-day workshop is enough to earn CSPO but you have to write the exam in case of PSPO and pass with 85% marks. PSPO is a standard course provided by Scrum.Org whereas CSPO content totally depends on the trainer. 

You are working as Scrum Master, Process Consultant or inspired to become any of these 2 then join Certified Scrum Master (CSM) or ProfessionalScrum Master (PSM-I). A 2-day workshop is mandatory followed by an exam for CSM. I have not seen anyone failing in an exam so don’t worry. Training is not mandatory for PSM-1 but passing the PSM-1 assessment with 85% is not easy so advisable to attend a workshop. Attending PSM training has a lot more advantages over CSM and no renewal is required for PSM. 

If you don’t belong to any of the above categories then most likely you are either developer, tester, consultant, team lead, test lead, architect, Salesforce developer, embedded programmer, oracle ERP consultant, BI developer, DBA or Data Warehousing developer and if Yes then go for Certified Scrum Developer (CSD) or Professional Scrum Developer (PSD-I). CSD is a 2-day workshop and there is no assessment. PSD is assessment-based and you have to pass with 85% marks. Training is not essential for PSD but recommended.

Oh, you are looking for leadership, organization change, agile coach or change agent then better to look for Large-Scale Scrum (LeSS) or Nexus Framework.

You wanted to demonstrate scrum knowledge and experience then you may think of becoming Certified Scrum Professional (CSP) or PSM-II as well. No workshop but some processes with pre-requisite.


Note: – I have not mentioned anything about Scrum Study, Scaled Agile Framework (SAFe) or Discipline Agile Delivery (DA) because I am not yet sure about it or don’t have much information about these. This is a personal view and it may differ from an individual.

Write to me or call me if you wanted to know more about the above certification training. 

Saturday, February 20, 2016

Yes, empirical process control helps but what is empirical process control?

I was talking to my friend last night about a meetup that she hosted yesterday. I asked what was expected outcome from there? Her reply was not clear to me so I was worried and tried to dig it deeper and found meaning of DONE is not clearly defined. Meaning process as well outcome is not transparent enough to see through what's going on. Is it OK to say that setting expectation from each and everything what we do is not good? I believe NO because if we don't set expectation and measure result then may not be motivated to do it again or improve it further.

Transparency is key for empirical process control and defining DONE helps in making outcome transparent. Since DONE is not defined so it will also become difficult to inspect outcome. If we cannot inspect then will not change plan and adapt it. 

If we are doing something then we should know why we are doing? What is expected outcome? Can I measure outcome? If not then is it worth doing? What is opportunity cost? Good to struggle with these questions rather than just executing something that can't be measured.

Last year we sponsored an event and we were expecting to have 300 people attending but there was only 50 people so we decided to stop sponsoring such events in future and figure out other way of promoting it. Spent same amount this year to host an event rather than sponsoring. Result is better than last year but still have to review as team to identify improvement areas or may be totally new things.

Yes it is very much important to set DONE criteria for what we do in order to improve ourselves. Things will not improve until we review and retrospect. Hoping it will improve automatically over the period sound very adventurous but talk to people those are on adventurous journey, they review outcome much frequent than others. 

Sunday, January 3, 2016

What is Timeboxing and why Timeboxing?

What is Timeboxing?

It’s a fixed span of time and is called as SPRINT in Scrum. A typical duration of Sprint is 1-4 weeks and below is some the characteristics of Sprint.

Fixed Length – Duration can’t change once agreed even if all works those were forecasted not complete within fixed length. Sprint will expire on set end date and time.

Fixed Team – Team members who start sprint remain united till end of the sprint. There should not be any change in team composition within sprint.

Fixed Goal – Team set goal at the beginning of the sprint and remain unchanged till sprint expire. If goal become meaningless then better to terminate sprint and start new with new goal rather than changing goal in between sprint.

A product increment at the end of Sprint – Team produces a shippable feature or functionality at the end of sprint and new feature/functionality is an increment on top of the existing product.

Why Timeboxing?

Help the team to stay focused on the goal

By Eliminating Procrastination – People usually prefer to do more pleasurable work at beginning than less pleasurable even if more pleasurable work is not urgent. Timeboxing helps team to stay focus and complete all the work in given timeframe even if it is not very pleasurable in rodder to meet Definition of Done (DoD).

A very useful quote about Procrastination - “I am very busy doing things that I don’t need to do in order to avoid doing anything I am actually supposed to be doing.

By Providing Frequent Opportunity to get Customer Feedback – Since team produces shippable product at the end of every sprint so it’s become very handy to get feedback at the end of sprint from customer. Feedback helps team in further planning.



Leanpitch provides the best scrum and agile training. We are leading provider of Certified Scrum Master (CSM), Certified Scrum Product Owner (CSPO), Certified Scrum Developer (CSD), Kanban, Test Driven Development (TDD), Behavior Driven Development (BDD) in Bangalore, Chennai, Mumbai, Pune, Delhi and Hyderabad. Visit our website to know more about Leanpitch Offering.

Can BDD help in slicing complex story?

What is Behavior Driven Development?

Behavior Driven Development (BDD) is well known practice for collaboration and many organizations practice it to bridge gap between in product management and software development team.

BDD help in describing requirement in the form of feature file and scenarios. Scenarios further get describe in format of Given, When and Then. The language that mainly used in writing feature file is called is Gherkin. Gherkin language can be used to write feature file in more than 40 languages. Some of the important keywords of Gherkin mentioned below that will help in describing features and scenarios:-


Feature, Scenario, Given, When, Then, And, But, Background, Scenario Outline and Examples

How to write Feature file?
You can write feature file in notepad as well so basically there is no need to know any particular tools and below is format.

Feature: Search Flight
As a flyer I want to search available flight between Bangalore and Chennai So that I can book to travel on given date.
#above story/description is optional
Scenario: Search all available flight based on date, origin and destination
Given flyer enter travel date as “12/12/2016” and origin as “Bangalore and Destination as “Chennai”
When Click on Search button
Then search page should show all available flight
And option to book flight

When to write feature file?
If you are practicing Scrum then better to have it during product backlog refinement session else make it mandatory for requirement gathering.

What is complex story/requirement?
Take above example of flight search, this looks very simple but can it be deliver in 2 weeks of sprint? May not possible if you have to complete all work that has been mentioned in Definition of Done (DoD)? So how to slice it to have shippable product at the end of sprint?

Use BDD scenario like below to slice it. Now change scenario to search flights only for one airlines at time because connecting multiple sources may not be possible in one sprint and modify it like below.

Scenario: Search only Indigo flight based on date, origin and destination
Given flyer enter travel date as “12/12/2016” and origin as “Bangalore and Destination as “Chennai”
When Click on Search button
Then search page should show all available flight
And option to book flight
Scenario: Search only Spicejet flight based on date, origin and destination
Given flyer enter travel date as “12/12/2016” and origin as “Bangalore and Destination as “Chennai”
When Click on Search button
Then search page should show all available flight
And option to book flight
Scenario: Search only Jet Airways flight based on date, origin and destination
Given flyer enter travel date as “12/12/2016” and origin as “Bangalore and Destination as “Chennai”
When Click on Search button
Then search page should show all available flight
And option to book flight

Now team can decide to build only those scenario that can be delivered within one sprint and rest scenarios in upcoming sprints.

Above scenarios can also be further sliced like below if needed.

Scenario: One way flight of Indigo
Scenario: Return flight of Indigo
Scenario: Multiple location search for Indigo etc.

Hope it is useful and if you have further query then reach out to me on naveen.singh@leanpitch.com

Leanpitch provides the best scrum and agile training. We are leading provider of Certified Scrum Master (CSM), Certified Scrum Product Owner (CSPO), Certified Scrum Developer (CSD), Kanban , Test Driven Development (TDD), Behavior Driven Development (BDD) in Bangalore, Chennai, Mumbai, Pune, Delhi and Hyderabad. Visit our website to know more about Leanpitch Offering.