{"id":499,"date":"2013-02-20T13:35:58","date_gmt":"2013-02-20T18:35:58","guid":{"rendered":"http:\/\/blog.agilityfeat.com\/?p=499"},"modified":"2013-02-20T13:35:58","modified_gmt":"2013-02-20T18:35:58","slug":"7-tips-when-the-going-gets-tough","status":"publish","type":"post","link":"https:\/\/agilityfeatpanama.com\/en\/blog\/2013\/02\/7-tips-when-the-going-gets-tough\/","title":{"rendered":"7 tips for when the going gets tough"},"content":{"rendered":"<p><a href=\"https:\/\/agilityfeat.com\/wp-content\/uploads\/2013\/02\/ArenalVolcano.jpg\"><img loading=\"lazy\" class=\"alignleft size-medium wp-image-500\" alt=\"Arenal Volcano, from manueb on flickr http:\/\/www.flickr.com\/photos\/manueb\/7159742363\/sizes\/z\/in\/photostream\/\" src=\"https:\/\/agilityfeat.com\/wp-content\/uploads\/2013\/02\/ArenalVolcano-300x225.jpg\" width=\"300\" height=\"225\" \/><\/a><strong>Not every project is going to run smoothly, even in the best of teams.<\/strong> We have a great team here at AgilityFeat, and we\u2019re very selective when choosing our customers, so our projects tend to be very successful.<\/p>\n<p>But <strong>every team is going to hit bumps in the road<\/strong> sometimes, and we\u2019re not immune to it. Recently we\u2019ve had two projects with very important deadlines and ambitious agendas. One in particular also has a tight budget. As if that wasn\u2019t enough, these important deadlines on separate projects ended up being right next to each other.<\/p>\n<p>Sound like a recipe for disaster? It was definitely fraught with danger, and I\u2019m not boasting when I say that many lesser teams would have failed in spectacular fashion. At this point, we\u2019ve navigated the dangers and both projects are doing well.<\/p>\n<p>No matter how good your team, process, or customers are, you\u2019ll hit turbulence too. <strong>Here are seven tips we have learned:<\/strong><\/p>\n<h2>1. Keep communication clear and open<\/h2>\n<p><strong>When things start to turn ugly, development teams have a tendency to clam up.<\/strong> They invite the product owner over to their desk less often, the mood at standups gets more sarcastic or somber, and the whole team is ignoring the elephant in the room: \u201cWe\u2019re going to be late, and we all know it. I just don\u2019t want to talk about it yet.\u201d<\/p>\n<p>Team leads should be in constant communication with stakeholders, and<strong> you can\u2019t spare them the bad news.<\/strong> You don\u2019t have to rush to them in a panicked tone every time something goes wrong, but you also need to remember that <strong>bad news does not get better with time.<\/strong><\/p>\n<p>Keep the communication open amongst your team and with your stakeholders. <strong>Keep the tone unemotional, rational, and make sure everyone is well informed<\/strong>. At least everyone will see the bad news coming, which allows stakeholders to quietly plan for it.<\/p>\n<h2>2. Align team incentives<\/h2>\n<p>What are the constraints on your project? Is it features, a budget, or a timeline? Whatever it is, <strong>make sure the whole team understands the constraints and align their incentives with that.<\/strong><\/p>\n<p>I recently had a developer tell me that \u201cOh, I didn\u2019t realize this project was fixed price. I would have handled that differently.\u201d He didn\u2019t realize the project was fixed price because he is paid hourly. It\u2019s not that he is wasting time or anything, but his incentive is to build the best software he can, regardless of how long it takes. But our client was judging us against a fixed budget, and the team was not aligned to that.<\/p>\n<p><strong>Ideally the team gets compensated when and how the business gets compensated<\/strong>, be that fixed price or hourly or whatever. That\u2019s not always feasible though, but I have learned that the full team still needs to understand what will make this project successful and profitable for the business as a whole.<\/p>\n<h2>3. Reassess priorities and constraints regularly<\/h2>\n<p><strong>At the beginning of every project, I ask clients what is their most important constraint. Budget, schedule, or features?<\/strong> They only get to give one answer, and we plan around that. I also ask what their most important priorities are for the project \u2013 what features or goals will make this successful?<\/p>\n<p>It\u2019s important to remember that <strong>all of those are subject to change.<\/strong> As the original deadline nears, don\u2019t assume that everything is still the same as when you started this project months ago.<\/p>\n<p>Because you\u2019re keeping open lines of communication with the customer, and sharing the good as well as the bad news,<strong> your customer may change their priorities.<\/strong> Continually revisit priorities with them, and ask questions like \u201cSo our top goals for the deadline next month are still X,Y, and Z, in that order, right?\u201d<\/p>\n<p><strong>At the risk of being annoying, you should confirm those priorities regularly<\/strong>, and then make sure you actually<strong> complete those features in priority order before moving to the next one.<\/strong> Don\u2019t work on X, Y and Z all at once. If you\u2019re late and none of them are done, then you are guaranteed to have an upset customer.<\/p>\n<p>But if you can at least get X and Y done, and you are only late on Z, the customer is much more likely to be forgiving. They might even ease one of the project constraints, like budget.<\/p>\n<h2>4. Communicate impact, but stay flexible<\/h2>\n<p>If you\u2019re working in an agile fashion, then you have a process that encourages the customer to constantly add new work to the backlog and suggest revisions and improvements. That\u2019s great, and you should encourage that because it makes for happy customers and better software.<\/p>\n<p>But those frequent changes can be stressful when you are nearing the all important deadline or budget cap. As it approaches, <strong>you will need to communicate the impact of those changes with the customer and constantly ask for feedback on priorities.<\/strong><\/p>\n<p>A good customer won\u2019t mind a discussion like this: \u201cI realize that you would like to add more stuff to feature X, and I\u2019m fine with that, but is it okay if we make that a lower priority? Since X works as it is now, we can finish up Y and maybe Z first, and then we\u2019ll come back and make the additional improvements to X.\u201d<br \/>\n<strong>By communicating the impact clearly to your customer, providing them with options, and empowering them with a choice, you are setting up a collaborative tone where you can negotiate as the deadline draws near.<\/strong><\/p>\n<h2>5. Deal with contracts diplomatically<\/h2>\n<p>If your stakeholders are internal to your company, then this might not apply to you. But if you\u2019re a service provider like AgilityFeat, then<strong> contracts are a necessary evil and will guide the relationship with your customer.<\/strong><\/p>\n<p>Take a moment and think about how your contract model is affecting the dynamics of your relationship with the customer.<\/p>\n<p>A <strong>fixed price and fixed scope<\/strong> contract seems to favor the customer on the surface by removing perceived risk of budget creep. But it also creates a <strong>confrontational dynamic<\/strong> where both sides have an incentive to jockey for power over the other.<\/p>\n<p>A <strong>Time &amp; Materials<\/strong> contract seems to favor the service provider on the surface because they get paid fairly no matter how long the project takes. But it also creates <strong>fear and doubt in the customer\u2019s mind<\/strong>. Can they trust you to get it done on time, or is this going to cost me a lot more than you estimated?<\/p>\n<p>Regardless of the contract model you are using, remember that it will have a big impact on how you and the customer deal with each other during the most stressful phases of a project. Be diplomatic when dealing with the topic, and <strong>don\u2019t rush to say things like \u201cBut that\u2019s scope creep and not in the requirements!\u201d<\/strong><\/p>\n<p><strong>Be open about your concerns, but try to deal with them in a flexible manner<\/strong> that creates a win-win for everyone. The customer gets most of what they want and you don\u2019t go broke doing it.<\/p>\n<h2>6. Assume best intentions<\/h2>\n<p>Contracts are a good lead in to this next bit of advice. No matter how tough the going gets, do your best to maintain a level composure with the team and the client. Getting angry is a valuable communication tool, but it can only be used sparingly.<\/p>\n<p><strong>Assume that everyone has the best intentions, even if you disagree with decisions they\u2019ve made.<\/strong><\/p>\n<p>Even if you don\u2019t actually believe it to be true, pretend <strong>everyone wants this project to succeed.<\/strong> They almost certainly do, and you\u2019ll remember that too if you take a deep breath. In stressful times, we may not all behave exactly the way we want, but try to look past that and recognize that everyone is doing the best they can to be successful in a difficult situation.<\/p>\n<p>That bad decision someone made is probably not because they are trying to deep-six the project. They probably just don\u2019t understand the big picture, and as a leader you can communicate with them better to make sure they know what is expected of them and when.<\/p>\n<h2>7. Agile teams need leadership too<\/h2>\n<p>Self-organization is one of the key principles of agile. <strong>Good agile teams are made up of people you can trust to do professional work and to make good decisions<\/strong>. If someone is only comfortable when being told exactly what to do, they are not a good fit for an agile team.<\/p>\n<p>When you build a team of highly skilled commandos, like we have at AgilityFeat, then it\u2019s easy to forget that <strong>they still need leadership.<\/strong> Agile teams still need a <strong>visionary leader<\/strong> who can set the tone and the goals for the project. Sometimes <strong>they also still need the strong leader who can redirect them<\/strong> when they go astray, or even give them a loving kick in the butt when standards are not being met.<\/p>\n<h2>When the going gets less tough\u2026<\/h2>\n<p>If you keep these 7 tips in mind when things are rough, then <strong>eventually you\u2019re going to make it to the other shore<\/strong> and things will improve. At this point, don\u2019t forget to take a moment to breathe and lick your wounds.<\/p>\n<p>Last week after getting through a tough phase on multiple projects, we bought massages for everyone on the team. It was a small gesture to show our commandos how much we appreciated them. They rallied together during a tough phase, and <strong>in the end, we became a stronger team and created happy customers.<\/strong><\/p>\n<p>There\u2019s still a lot more work to do, but it\u2019s nice to see the sunlight again and know that you are a little wiser for the experience you just went through. <strong>That\u2019s how a great team deals with adversity.<\/strong><\/p>","protected":false},"excerpt":{"rendered":"<p>Not every project is going to run smoothly, even in the best of teams. We have a great team here at AgilityFeat, and we\u2019re very selective when choosing our customers, so our projects tend to be very successful. But every team is going to hit bumps in the road sometimes, and we\u2019re not immune to [&hellip;]<\/p>","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":""},"categories":[4,47],"tags":[5,46,55,33,48],"jetpack_featured_media_url":"","yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v15.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>7 tips for when the going gets tough - AgilityFeat Panama Software Test Center<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/agilityfeatpanama.com\/en\/blog\/2013\/02\/7-tips-when-the-going-gets-tough\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"7 tips for when the going gets tough - AgilityFeat Panama Software Test Center\" \/>\n<meta property=\"og:description\" content=\"Not every project is going to run smoothly, even in the best of teams. We have a great team here at AgilityFeat, and we\u2019re very selective when choosing our customers, so our projects tend to be very successful. But every team is going to hit bumps in the road sometimes, and we\u2019re not immune to [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/agilityfeatpanama.com\/en\/blog\/2013\/02\/7-tips-when-the-going-gets-tough\/\" \/>\n<meta property=\"og:site_name\" content=\"AgilityFeat Panama Software Test Center\" \/>\n<meta property=\"article:published_time\" content=\"2013-02-20T18:35:58+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/agilityfeat.com\/wp-content\/uploads\/2013\/02\/ArenalVolcano-300x225.jpg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\">\n\t<meta name=\"twitter:data1\" content=\"8 minutes\">\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https:\/\/34.200.113.64\/#website\",\"url\":\"https:\/\/34.200.113.64\/\",\"name\":\"AgilityFeat Panama Software Test Center\",\"description\":\"AgilityFeat Panama offers customized, multilevel web and mobile software testing for a variety of industries.\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":\"https:\/\/34.200.113.64\/?s={search_term_string}\",\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/agilityfeatpanama.com\/en\/blog\/2013\/02\/7-tips-when-the-going-gets-tough\/#primaryimage\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/agilityfeat.com\/wp-content\/uploads\/2013\/02\/ArenalVolcano-300x225.jpg\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/agilityfeatpanama.com\/en\/blog\/2013\/02\/7-tips-when-the-going-gets-tough\/#webpage\",\"url\":\"https:\/\/agilityfeatpanama.com\/en\/blog\/2013\/02\/7-tips-when-the-going-gets-tough\/\",\"name\":\"7 tips for when the going gets tough - AgilityFeat Panama Software Test Center\",\"isPartOf\":{\"@id\":\"https:\/\/34.200.113.64\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/agilityfeatpanama.com\/en\/blog\/2013\/02\/7-tips-when-the-going-gets-tough\/#primaryimage\"},\"datePublished\":\"2013-02-20T18:35:58+00:00\",\"dateModified\":\"2013-02-20T18:35:58+00:00\",\"author\":{\"@id\":\"https:\/\/34.200.113.64\/#\/schema\/person\/c8d60d597071526db386b2b8a4afac64\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/agilityfeatpanama.com\/en\/blog\/2013\/02\/7-tips-when-the-going-gets-tough\/\"]}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/34.200.113.64\/#\/schema\/person\/c8d60d597071526db386b2b8a4afac64\",\"name\":\"arin\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/34.200.113.64\/#personlogo\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/cc498e210512c707ed769986dd745896?s=96&d=mm&r=g\",\"caption\":\"arin\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","_links":{"self":[{"href":"https:\/\/agilityfeatpanama.com\/en\/wp-json\/wp\/v2\/posts\/499"}],"collection":[{"href":"https:\/\/agilityfeatpanama.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/agilityfeatpanama.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/agilityfeatpanama.com\/en\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/agilityfeatpanama.com\/en\/wp-json\/wp\/v2\/comments?post=499"}],"version-history":[{"count":0,"href":"https:\/\/agilityfeatpanama.com\/en\/wp-json\/wp\/v2\/posts\/499\/revisions"}],"wp:attachment":[{"href":"https:\/\/agilityfeatpanama.com\/en\/wp-json\/wp\/v2\/media?parent=499"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/agilityfeatpanama.com\/en\/wp-json\/wp\/v2\/categories?post=499"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/agilityfeatpanama.com\/en\/wp-json\/wp\/v2\/tags?post=499"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}