{"id":474,"date":"2020-08-24T20:14:00","date_gmt":"2020-08-24T20:14:00","guid":{"rendered":"https:\/\/dev.railscarma.com\/?page_id=474"},"modified":"2022-09-01T14:28:37","modified_gmt":"2022-09-01T14:28:37","slug":"agile-rails-methodology","status":"publish","type":"page","link":"https:\/\/www.railscarma.com\/it\/agile-rails-methodology\/","title":{"rendered":"Metodologia delle rotaie agili"},"content":{"rendered":"<div data-elementor-type=\"wp-page\" data-elementor-id=\"474\" class=\"elementor elementor-474\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-13df5573 elementor-section-stretched elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"13df5573\" data-element_type=\"section\" data-settings=\"{&quot;stretch_section&quot;:&quot;section-stretched&quot;,&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t\t<div class=\"elementor-background-overlay\"><\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-6ac44957\" data-id=\"6ac44957\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-095727b elementor-widget elementor-widget-heading\" data-id=\"095727b\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Agile Development Methodology for <br>Building Rails App<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-1cad7d8\" data-id=\"1cad7d8\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap\">\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-d913c5c elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"d913c5c\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-1e9c281\" data-id=\"1e9c281\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-a5d8dcc uael-timeline--left uael-timeline-arrow-top elementor-widget elementor-widget-uael-timeline\" data-id=\"a5d8dcc\" data-element_type=\"widget\" data-widget_type=\"uael-timeline.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"uael-timeline-wrapper uael-timeline-node\">\n\t\n\t<div class=\"uael-timeline-main\">\n\t\t<div class=\"uael-days\">\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-repeater-item-de653ec uael-timeline-field animate-border out-view\">\n\t\t\t\t\t\t<div class=\"uael-timeline-widget uael-timeline-right\">\n\t\t\t\t\t\t\t<div class=\"uael-timeline-marker\">\n\t\t\t\t\t\t\t\t<span class=\"timeline-icon-new out-view-timeline-icon\">\n\t\t\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"far fa-lightbulb\"><\/i>\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t\t\t<div class=\"uael-day-new uael-day-right\">\n\t\t\t\t\t\t\t\t<div class=\"uael-events-new\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"uael-events-inner-new\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"uael-content\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"uael-timeline-heading-text\">\n\t\t\t\t\t\t\t\t\t\t\t\t<h3 class=\"uael-timeline-heading\">We write down a list of goals, roles, and features<\/h3> \t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"uael-timeline-desc-content\"><div class=\"et_pb_row et_pb_row_1 pad-t-r et_pb_row_1-4_3-4\"><div class=\"et_pb_column et_pb_column_3_4 et_pb_column_2    et_pb_css_mix_blend_mode_passthrough\"><div class=\"et_pb_module et_pb_text et_pb_text_1 et_pb_bg_layout_light  et_pb_text_align_left\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_text et_pb_bg_layout_light et_pb_text_align_left\"><ul class=\"ulform\"><li>Goals \u2013 what the goals of the whole project are \u2013 business and otherwise. This will help you decide what features are important<\/li><li>Roles \u2013 who is going to use the site \u2013 visitors, logged in members, admins? Do different people have different views of the same information on the site?<\/li><li>Features \u2013 what are the basic categories of interaction on the site? For example: Users: registration, using the forums, and blogging; Admins: moderating the user content<\/li><\/ul><\/div><\/div><\/div><\/div><\/div><div class=\"et_pb_row et_pb_row_2 empty-block\"><div class=\"et_pb_column et_pb_column_4_4 et_pb_column_3    et_pb_css_mix_blend_mode_passthrough et-last-child\">\u00a0<\/div><\/div><\/div> \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"uael-timeline-arrow\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-repeater-item-3167c49 uael-timeline-field animate-border out-view\">\n\t\t\t\t\t\t<div class=\"uael-timeline-widget uael-timeline-left\">\n\t\t\t\t\t\t\t<div class=\"uael-timeline-marker\">\n\t\t\t\t\t\t\t\t<span class=\"timeline-icon-new out-view-timeline-icon\">\n\t\t\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-search\"><\/i>\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t\t\t<div class=\"uael-day-new uael-day-left\">\n\t\t\t\t\t\t\t\t<div class=\"uael-events-new\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"uael-events-inner-new\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"uael-content\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"uael-timeline-heading-text\">\n\t\t\t\t\t\t\t\t\t\t\t\t<h3 class=\"uael-timeline-heading\">We write a list of stories<\/h3> \t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"uael-timeline-desc-content\"><ul class=\"ulform\"><li>A story is different than a feature because it represents a single thread of interaction from a particular user\u2019s perspective.<\/li><li>It\u2019s common to express stories in form \u201cAs a ____ I want to ____ so that I can _____.\u201d This forces you answer three important questions \u2013 Who is this for? What do they want to do? Why do they want to do it?<\/li><li>If you can\u2019t complete a story in this form, it\u2019s likely that you don\u2019t have an answer to one of these three questions yet, so you\u2019ll need to do some thinking to get the answers before the story is actionable.<\/li><li>Ex: \u201cAs an admin, I want to ban users from the forum, So that I can improve the quality of user-submitted content on the site.<\/li><li>Scrivi queste storie su dei bigliettini. Questo ti aiuter\u00e0 nella stima e nella definizione delle priorit\u00e0.<\/li><\/ul><\/div> \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"uael-timeline-arrow\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-repeater-item-61210d1 uael-timeline-field animate-border out-view\">\n\t\t\t\t\t\t<div class=\"uael-timeline-widget uael-timeline-right\">\n\t\t\t\t\t\t\t<div class=\"uael-timeline-marker\">\n\t\t\t\t\t\t\t\t<span class=\"timeline-icon-new out-view-timeline-icon\">\n\t\t\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-paint-brush\"><\/i>\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t\t\t<div class=\"uael-day-new uael-day-right\">\n\t\t\t\t\t\t\t\t<div class=\"uael-events-new\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"uael-events-inner-new\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"uael-content\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"uael-timeline-heading-text\">\n\t\t\t\t\t\t\t\t\t\t\t\t<h3 class=\"uael-timeline-heading\">We estimate the stories<\/h3> \t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"uael-timeline-desc-content\"><ul class=\"ulform\"><li>La stima \u00e8 un argomento vasto di per s\u00e9, ma l\u2019idea di base \u00e8 associare un particolare livello di impegno a ciascuna storia.<\/li><li>The most common scales are 0\/1\/2\/3\/4, 0\/1\/2\/4\/8. I don\u2019t think this is incredibly important, but pick something and stick with it.<\/li><li>Don\u2019t get too hung up on the exactness of the estimates. Lots of things affect how long it takes you to finish a story, so small differences in story complexity tend to get lost in the noise.<\/li><li>Your goal here is to differentiate things that are low in effort, like stories that will result in you creating a simple model with a REST controller, from stories that are high in effort, like interfacing your application with a challenging third-party API, or a story that will require you to use a technology you aren\u2019t very familiar with.<\/li><li>Scrivi il preventivo su ogni carta.<\/li><\/ul><\/div> \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"uael-timeline-arrow\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-repeater-item-dfd2f71 uael-timeline-field animate-border out-view\">\n\t\t\t\t\t\t<div class=\"uael-timeline-widget uael-timeline-left\">\n\t\t\t\t\t\t\t<div class=\"uael-timeline-marker\">\n\t\t\t\t\t\t\t\t<span class=\"timeline-icon-new out-view-timeline-icon\">\n\t\t\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-code\"><\/i>\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t\t\t<div class=\"uael-day-new uael-day-left\">\n\t\t\t\t\t\t\t\t<div class=\"uael-events-new\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"uael-events-inner-new\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"uael-content\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"uael-timeline-heading-text\">\n\t\t\t\t\t\t\t\t\t\t\t\t<h3 class=\"uael-timeline-heading\">We prioritize the stories<\/h3> \t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"uael-timeline-desc-content\"><div class=\"et_pb_row et_pb_row_7 pad-t-r et_pb_row_1-4_3-4\"><div class=\"et_pb_column et_pb_column_3_4 et_pb_column_11    et_pb_css_mix_blend_mode_passthrough\"><div class=\"et_pb_module et_pb_text et_pb_text_4 et_pb_bg_layout_light  et_pb_text_align_left\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_text et_pb_bg_layout_light et_pb_text_align_left\"><ul class=\"ulform\"><li>Rearrange the cards in the order that you\u2019d like to tackle the stories.<\/li><li>Only the product owner can really make this decision. There are a lot of things that go into prioritization \u2013 deadlines, user testing, business value, etc. Estimation may have a lot to do with prioritization, because it illuminates opportunity cost. Maybe the product owner really wants that detailed Admin Dashboard, but if all the stories to make that work total 40 points, is it worth it to spend a month on just this feature. Maybe the product owner still wants the story<\/li><li>Are there any stories that don\u2019t fit into the very minimum viable product to launch? If so, you should move them down. Try to complete a functioning app as quickly as possible so you can put it in front of users.<\/li><li>A questo punto, di solito sposto le mie carte in Pivotal Tracker, ma conosco molte persone che preferiscono carta e penna.<\/li><\/ul><\/div><\/div><\/div><\/div><\/div><div class=\"et_pb_row et_pb_row_8 empty-block\"><div class=\"et_pb_column et_pb_column_4_4 et_pb_column_12    et_pb_css_mix_blend_mode_passthrough et-last-child\">\u00a0<\/div><\/div><\/div> \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"uael-timeline-arrow\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-repeater-item-f1253e9 uael-timeline-field animate-border out-view\">\n\t\t\t\t\t\t<div class=\"uael-timeline-widget uael-timeline-right\">\n\t\t\t\t\t\t\t<div class=\"uael-timeline-marker\">\n\t\t\t\t\t\t\t\t<span class=\"timeline-icon-new out-view-timeline-icon\">\n\t\t\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-desktop\"><\/i>\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t\t\t<div class=\"uael-day-new uael-day-right\">\n\t\t\t\t\t\t\t\t<div class=\"uael-events-new\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"uael-events-inner-new\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"uael-content\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"uael-timeline-heading-text\">\n\t\t\t\t\t\t\t\t\t\t\t\t<h3 class=\"uael-timeline-heading\">We test-drive the first story to completion<\/h3> \t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"uael-timeline-desc-content\"><ul class=\"ulform\"><li>Begin with Cucumber Write a Cucumber feature that covers the user\u2019s interaction with the site from beginning to end. Define the undefined steps as you come to them, and when you hit your first failure, you know that there\u2019s a behavior that you desire that your app doesn\u2019t have (This will happen very quickly at first, because your blank app doesn\u2019t have much behavior).<\/li><li>Se ho interazioni Javascript che sono una parte fondamentale dell&#039;interazione dell&#039;utente, provo a farle testare a Cucumber utilizzando il tag @javascript.<\/li><li>Continue to Rspec Write the test for the behavior you wish you had.<\/li><li>Write your code Write the code to make the spec pass. This is going to take you throughout your application from routing to UI, to models, to the database schema, to the controller. You will tackle these pieces of code in the order your tests direct you to.<\/li><li>Repeat until the Cucumber passes, and you\u2019re done with the story.<\/li><li>Now is a good time to fix up the CSS styling assuming you have the design done. If I\u2019m working alone or without a designer, I like to try to wireframe the UI either on paper or in something like Balsamiq Mockups before I even start coding the story.<\/li><\/ul><\/div> \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"uael-timeline-arrow\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-repeater-item-ab8d01f uael-timeline-field animate-border out-view\">\n\t\t\t\t\t\t<div class=\"uael-timeline-widget uael-timeline-left\">\n\t\t\t\t\t\t\t<div class=\"uael-timeline-marker\">\n\t\t\t\t\t\t\t\t<span class=\"timeline-icon-new out-view-timeline-icon\">\n\t\t\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-arrow-up\"><\/i>\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t\t\t<div class=\"uael-day-new uael-day-left\">\n\t\t\t\t\t\t\t\t<div class=\"uael-events-new\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"uael-events-inner-new\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"uael-content\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"uael-timeline-heading-text\">\n\t\t\t\t\t\t\t\t\t\t\t\t<h3 class=\"uael-timeline-heading\">We accept the story<\/h3> \t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"uael-timeline-desc-content\"><ul class=\"ulform\"><li>La storia \u00e8 accettabile? Fa quello che volevi? In caso contrario, devi tornare indietro e farlo funzionare come avrebbe dovuto. Scrivere in anticipo i test sul cetriolo aiuta a evitare che ci\u00f2 accada.<\/li><li>Do all your tests pass? You didn\u2019t break the build, did you? If so, you need to fix what you broke.<\/li><li>If you\u2019re working alone, it may be helpful to have someone else do acceptance for you, as it may be hard to see your own work with objective eyes.<\/li><\/ul><\/div> \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"uael-timeline-arrow\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-repeater-item-b753b26 uael-timeline-field animate-border out-view\">\n\t\t\t\t\t\t<div class=\"uael-timeline-widget uael-timeline-right\">\n\t\t\t\t\t\t\t<div class=\"uael-timeline-marker\">\n\t\t\t\t\t\t\t\t<span class=\"timeline-icon-new out-view-timeline-icon\">\n\t\t\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"far fa-edit\"><\/i>\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t\t\t<div class=\"uael-day-new uael-day-right\">\n\t\t\t\t\t\t\t\t<div class=\"uael-events-new\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"uael-events-inner-new\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"uael-content\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"uael-timeline-heading-text\">\n\t\t\t\t\t\t\t\t\t\t\t\t<h3 class=\"uael-timeline-heading\">We repeat until done  <\/h3> \t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"uael-timeline-desc-content\"><ul class=\"ulform differentLi\"><li><p class=\"seventh-para\">This is how I do things. It\u2019s by no means the only way to do things, but it is a very common way to do things in Rails. I think there\u2019s a good debate to be had around the value of agile estimation, or of particular technologies like Cucumber vs. Steak or RSpec vs Test::Unit, but most Rails developers will agree that the proper workflow is to:<\/p><\/li><\/ul><p>1) Identify a single story<\/p><p>2) Write tests for it<\/p><p>3) Complete it.<\/p><\/div> \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"uael-timeline-arrow\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t<\/div>\t\t\n\t\t<div class=\"uael-timeline__line\">\n\t\t\t<div class=\"uael-timeline__line__inner\"><\/div>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-1e7fa2e0 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"1e7fa2e0\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t\t<div class=\"elementor-background-overlay\"><\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-2063f212\" data-id=\"2063f212\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-4b8ec194 elementor-widget elementor-widget-heading\" data-id=\"4b8ec194\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Aiutiamo a modernizzare il tuo<br> Portafoglio di applicazioni<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-29b4160c elementor-align-center elementor-widget elementor-widget-button\" data-id=\"29b4160c\" data-element_type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-md\" href=\"\/it\/estimate-project\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t<span class=\"elementor-button-icon\">\n\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-angle-double-right\"><\/i>\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">STIMA IL TUO PROGETTO<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-42359ade elementor-section-full_width elementor-section-height-default elementor-section-height-default\" data-id=\"42359ade\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-280ce1ce\" data-id=\"280ce1ce\" data-element_type=\"column\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-364f7e64 elementor-widget elementor-widget-heading\" data-id=\"364f7e64\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Scopri come far muovere il tuo business in modo pi\u00f9 fluido e veloce<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-63877149 elementor-align-center elementor-widget elementor-widget-button\" data-id=\"63877149\" data-element_type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-md\" href=\"\/it\/contattaci\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t<span class=\"elementor-button-icon\">\n\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-angle-double-right\"><\/i>\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">CONSULTA I NOSTRI ESPERTI<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-17e89646\" data-id=\"17e89646\" data-element_type=\"column\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-35511de4 elementor-widget elementor-widget-heading\" data-id=\"35511de4\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Interessato ai servizi RailsCarma<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-273c4ceb elementor-align-center elementor-widget elementor-widget-button\" data-id=\"273c4ceb\" data-element_type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-md\" href=\"\/it\/contattaci\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t<span class=\"elementor-button-icon\">\n\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-angle-double-right\"><\/i>\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">CONTATTACI<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>","protected":false},"excerpt":{"rendered":"<p>Agile Development Methodology for Building Rails App We write down a list of goals, roles, and features Goals \u2013 what the goals of the whole project are \u2013 business and otherwise. This will help you decide what features are important Roles \u2013 who is going to use the site \u2013 visitors, logged in members, admins? &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"https:\/\/www.railscarma.com\/it\/agile-rails-methodology\/\"> <span class=\"screen-reader-text\">Metodologia delle rotaie agili<\/span> Leggi altro \"<\/a><\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-474","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Agile Development Methodology for Building Rails App - RailsCarma<\/title>\n<meta name=\"description\" content=\"RailsCarma uses Agile Development methodologies to build Rails Application. Agile Development with Rails encourages rapid and flexible response to change. Also helps Businesses respond to unpredictability.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.railscarma.com\/it\/agile-rails-methodology\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Agile Development Methodology for Building Rails App - RailsCarma\" \/>\n<meta property=\"og:description\" content=\"RailsCarma uses Agile Development methodologies to build Rails Application. Agile Development with Rails encourages rapid and flexible response to change. Also helps Businesses respond to unpredictability.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.railscarma.com\/it\/agile-rails-methodology\/\" \/>\n<meta property=\"og:site_name\" content=\"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/RailsCarma\/\" \/>\n<meta property=\"article:modified_time\" content=\"2022-09-01T14:28:37+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/09\/Ruby-on-Rails-Development-Company.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@railscarma\" \/>\n<meta name=\"twitter:label1\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data1\" content=\"5 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.railscarma.com\/agile-rails-methodology\/\",\"url\":\"https:\/\/www.railscarma.com\/agile-rails-methodology\/\",\"name\":\"Agile Development Methodology for Building Rails App - RailsCarma\",\"isPartOf\":{\"@id\":\"https:\/\/www.railscarma.com\/#website\"},\"datePublished\":\"2020-08-24T20:14:00+00:00\",\"dateModified\":\"2022-09-01T14:28:37+00:00\",\"description\":\"RailsCarma uses Agile Development methodologies to build Rails Application. Agile Development with Rails encourages rapid and flexible response to change. Also helps Businesses respond to unpredictability.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.railscarma.com\/agile-rails-methodology\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.railscarma.com\/agile-rails-methodology\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.railscarma.com\/agile-rails-methodology\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.railscarma.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Agile Rails Methodology\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.railscarma.com\/#website\",\"url\":\"https:\/\/www.railscarma.com\/\",\"name\":\"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development\",\"description\":\"RailsCarma is a Ruby on Rails Development Company in Bangalore. We specialize in Offshore Ruby on Rails Development based out in USA and India. Hire experienced Ruby on Rails developers for the ultimate Web Experience.\",\"publisher\":{\"@id\":\"https:\/\/www.railscarma.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.railscarma.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.railscarma.com\/#organization\",\"name\":\"RailsCarma\",\"url\":\"https:\/\/www.railscarma.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png\",\"contentUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png\",\"width\":200,\"height\":46,\"caption\":\"RailsCarma\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/RailsCarma\/\",\"https:\/\/x.com\/railscarma\",\"https:\/\/www.linkedin.com\/company\/railscarma\/\",\"https:\/\/myspace.com\/railscarma\",\"https:\/\/in.pinterest.com\/railscarma\/\",\"https:\/\/www.youtube.com\/channel\/UCx3Wil-aAnDARuatTEyMdpg\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Agile Development Methodology for Building Rails App - RailsCarma","description":"RailsCarma uses Agile Development methodologies to build Rails Application. Agile Development with Rails encourages rapid and flexible response to change. Also helps Businesses respond to unpredictability.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.railscarma.com\/it\/agile-rails-methodology\/","og_locale":"it_IT","og_type":"article","og_title":"Agile Development Methodology for Building Rails App - RailsCarma","og_description":"RailsCarma uses Agile Development methodologies to build Rails Application. Agile Development with Rails encourages rapid and flexible response to change. Also helps Businesses respond to unpredictability.","og_url":"https:\/\/www.railscarma.com\/it\/agile-rails-methodology\/","og_site_name":"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development","article_publisher":"https:\/\/www.facebook.com\/RailsCarma\/","article_modified_time":"2022-09-01T14:28:37+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/09\/Ruby-on-Rails-Development-Company.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_site":"@railscarma","twitter_misc":{"Tempo di lettura stimato":"5 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.railscarma.com\/agile-rails-methodology\/","url":"https:\/\/www.railscarma.com\/agile-rails-methodology\/","name":"Agile Development Methodology for Building Rails App - RailsCarma","isPartOf":{"@id":"https:\/\/www.railscarma.com\/#website"},"datePublished":"2020-08-24T20:14:00+00:00","dateModified":"2022-09-01T14:28:37+00:00","description":"RailsCarma uses Agile Development methodologies to build Rails Application. Agile Development with Rails encourages rapid and flexible response to change. Also helps Businesses respond to unpredictability.","breadcrumb":{"@id":"https:\/\/www.railscarma.com\/agile-rails-methodology\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.railscarma.com\/agile-rails-methodology\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.railscarma.com\/agile-rails-methodology\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.railscarma.com\/"},{"@type":"ListItem","position":2,"name":"Agile Rails Methodology"}]},{"@type":"WebSite","@id":"https:\/\/www.railscarma.com\/#website","url":"https:\/\/www.railscarma.com\/","name":"RailsCarma - Societ\u00e0 di sviluppo Ruby on Rails specializzata nello sviluppo offshore","description":"RailsCarma \u00e8 una societ\u00e0 di sviluppo Ruby on Rails a Bangalore. Siamo specializzati nello sviluppo offshore di Ruby on Rails con sede negli Stati Uniti e in India. Assumi sviluppatori esperti di Ruby on Rails per la migliore esperienza Web.","publisher":{"@id":"https:\/\/www.railscarma.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.railscarma.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Organization","@id":"https:\/\/www.railscarma.com\/#organization","name":"RailsCarma","url":"https:\/\/www.railscarma.com\/","logo":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png","contentUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png","width":200,"height":46,"caption":"RailsCarma"},"image":{"@id":"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/RailsCarma\/","https:\/\/x.com\/railscarma","https:\/\/www.linkedin.com\/company\/railscarma\/","https:\/\/myspace.com\/railscarma","https:\/\/in.pinterest.com\/railscarma\/","https:\/\/www.youtube.com\/channel\/UCx3Wil-aAnDARuatTEyMdpg"]}]}},"amp_enabled":false,"_links":{"self":[{"href":"https:\/\/www.railscarma.com\/it\/wp-json\/wp\/v2\/pages\/474","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.railscarma.com\/it\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.railscarma.com\/it\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/it\/wp-json\/wp\/v2\/comments?post=474"}],"version-history":[{"count":0,"href":"https:\/\/www.railscarma.com\/it\/wp-json\/wp\/v2\/pages\/474\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.railscarma.com\/it\/wp-json\/wp\/v2\/media?parent=474"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}