10 Common Scrum Mistakes and How to Avoid Them

When most people think of Agile, they think of “Scrum”.  Scrum is the most widely used, and arguably, the most abused Agile framework.  Scrum is simple in concept but can be difficult to do really well.  Here are 10 common Scrum mistakes and how to avoid them:1. Expecting Transformation to Agile and Scrum to Be EasyAll too often, someone will pick up a book on Agile or Scrum, start chopping up requirements into user stories, begin daily stand-up meetings, develop software in 2-3 week sprints, and then call themselves Agile.  Easy, right?  They will likely see some improvement in their ability to respond to change, and may even provide working software faster – for a while.  It won’t be too long, though, until the promises of Agile become less evident, teams struggle to keep up the pace, software doesn’t always match user expectations, and then Agile is deemed a failure.  Agile transformation takes time and almost always starts out messy.  Real transformation exposes existing corporate and culture problems that must be dealt with – problems such as poor communication, lack of accountability, distrust, etc.  Effective Agile transformation is often a total culture change.  Give it time, and be ready to go through the pain and resistance to cultural changes.2. Doing the Practices Without the PrinciplesDoing the easy things like implementing Scrum meetings, filling the Scrum roles,  and using proper Scrum artifacts is good, but is only half (or less) of the battle.  The Agile principles are what make the practices work well, and make them sustainable in the long run.  Principles are much harder to incorporate than practices, which is why many companies fall short – they don’t do the hard parts.  Using techniques without understanding why you are doing them can lead to frustration.  Agile is about people, interactions, and culture, not processes, practices, and tools.3. Complicating the Agile/Scrum StartupDo everything you can to keep Agile startups simple.  Agile projects can be successful without the latest, coolest collaboration or lifecycle tool.  Stickies on a wall, tasks in a spreadsheet, and a manually generated burn-down chart will get the job done.  Spending valuable time getting a tool up and running instead of getting people working together is focusing on the wrong thing.  The Agile Manifesto places higher value on individuals and interactions than on processes and tools.4. Leading a Scrum Team Like a Project ManagerA “command and control” mentality is counter to the Agile framework.  A leader assigning tasks and dictating effort is an Agile anti-pattern.  Great Agile teams are self-organizing, the Scrum Master is a servant leader, and teams learn to become better at working together and delivering greater value more efficiently by regular inspection and adaption.  Often the lesson is learned better by experience (good or bad experience) than by just being told what to do.  Allow the Scrum team to figure things out for themselves, to make mistakes and learn from them, and to attain the satisfaction of becoming a productive team on their own.  Scrum Masters and Agile coaches guide more than they drive.5. An Un-Ready Product BacklogA product backlog that isn’t “ready” is one of the most common reasons for sprint failure and for unmotivated teams.  It is also a root cause for low delivery velocity and not delivering high value.  Most new Product Owners aren’t ready to be productive on their own.  They need instruction, coaching, and hand-holding for the first few sprints as they learn to develop and maintain a product backlog that has enough valuable features estimated at a high level, and prioritized by business value.  Preparing the backlog well ahead of the next sprint(s) is a must.  You never want the team to run out of work to do, and that work must be of highest value at that point in time as prioritized by the Product Owner.  Being a Product Owner can be time-consuming.  Set the right expectations, provide all the training, and help the Product Owner to keep the flow of value coming.6. Communicating “Through” the Scrum MasterSomething I see quite regularly on new Scrum teams is people using the Scrum Master to deliver their messages to others.  For example, a developer has a question about a user story; instead of going directly to the Product Owner, he/she emails the Scrum Master to obtain the information.  A key Agile principle is communicating face-to-face whenever possible.  The time it takes to compose the email would likely have been all that was needed to get the answer directly from the stakeholder.  But, for many technical people, face-to-face communication is a scary thing when they’re used to living in their cubicle world, without having to talk to people.  This is a cultural or personality issue that must be overcome.  It wastes time and, more importantly, increases the risk of miscommunication.7. A Product Owner Who is Not Available Or InvolvedThe Product Owner role can be very time-consuming.  Many who are new to the role are not ready for the commitment, or just don’t know that they need to be so involved.  Collaboration is critical in the Agile world.  Business people and developers need to work together to produce software that the business wants.  This happens by constant communication, collaboration and short feedback cycles to validate or make course corrections.  A practice I love to see is the Product Owner so involved in the day-to-day activity of the project team that the Sprint Review is purely a formality because the Product Owner has already seen several iterations of the features throughout the sprint and has guided the team to build exactly what the business wants.  That’s a beautiful thing.8. Lax Daily Stand-upsThe daily stand-up meeting is very important from several aspects.  It puts people face-to-face every day for 15 minutes, forces communication and collaboration, and provides visibility and transparency into the project.  For such a key meeting, it’s important to set the right expectations up front so the team takes it seriously.  This may sound militant, but attendance at the daily stand-up is never optional.  Start on time and finish on time.  Stick to the three questions (what did I accomplish for the project yesterday, what will I work on today, what obstacles are blocking me from completing my work on time).  Don’t allow side conversations, discussions, or problem-solving during the stand-up; those can all be done after the stand-up is finished.  This gets the team in the mode of respecting the team and people’s time, and they learn to communicate better by sticking to the objectives and being succinct.9. Not Raising Obstacles Early EnoughThe daily stand-up provides the opportunity every day to communicate impediments to getting our work done.  One of the primary functions of the Scrum Master is to remove obstacles so that the team can focus on delivering software; but if obstacles are not raised, the Scrum Master can’t help remove them.  Waiting to raise an obstacle until it’s too late to recover from it is unacceptable.  Until team members are accustomed to communicating obstacles in a timely manner, remind the team at the beginning of every stand-up to bring up even potential obstacles, or if there’s any chance something might delay their work or cause them to not live up to their sprint commitment.10. Not Conducting Retrospective Meetings After Every SprintOne of the twelve principles behind the Agile Manifesto is “At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly”.  Unfortunately the Sprint Retrospective is often treated like an add-on or a luxury, and performed only “if there’s time”.  The fact is, Agile is all about adjustments here and there, fine tuning and responding to change.  It’s really hard to adjust and fine tune if we don’t pause to find out where adjustments are needed.  The status quo is not Agile; continual improvement is.Related Refcard:Scrum Read more

Judge voids VirnetX's $625.6 million Apple verdict; VirnetX plunges

A federal judge has thrown out a verdict requiring Apple Inc (AAPL.O) to pay VirnetX Holding Corp (VHC.A) $625.6 million for infringing four patents relating to Internet security technology, causing VirnetX's share price to plunge.VirnetX shares were down $1.93, or 44.6 percent, at $2.40 in Monday morning trading, after earlier falling to $2.14.In a decision late Friday, U.S. District Judge Robert Schroeder in Tyler, Texas said it was unfair to Apple that two VirnetX lawsuits had been combined into a single trial.He said jurors may have been confused by more than 50 references to the earlier case, though it contained "incredibly similar" issues, and deferred improperly to the prior jury's findings when it found Apple's liable for willful infringement."The repeated references to the prior jury verdict in the consolidated case resulted in an unfair trial," Schroeder wrote. He ordered that both cases be retried separately, with the first trial beginning on Sept. 26.VirnetX is a Zephyr Cove, Nevada-based company that derives most of its revenue from licensing patents.It accused Cupertino, California-based Apple of infringing patents used in products including FaceTime and iMessage. The $625.6 million verdict announced in February was one of the highest in a U.S. patent case."We are disappointed," VirnetX Chief Executive Kendall Larsen said in a statement on Monday. "We are reviewing all our options and will follow the court's direction as we start preparing for these retrials."Apple did not immediately respond to a request for comment. Many patent cases are handled in the Texas court, which has a reputation for awarding favorable verdicts to plaintiffs alleging infringement.VirnetX had been assigned the four patents by Science Applications International Corp in 2006, court papers show.The case are VirnetX Inc v. Apple Inc, U.S. District Court, Eastern District of Texas, Nos. 10-00417 and 12-00855. (Reporting by Andrew Chung and Jonathan Stempel in New York; Editing by Bernadette Baum) Read more

Fine Tune Your Polling and Batching in Mule ESB

They say it's best to learn from others. With that in mind, let's dive into a use case I recently ran into. We were dealing with a number of legacy systems when our company decided to shift to a cloud-based solution. Of course, we had to prepare for the move — and all the complications that came with it.Use CaseWe have a legacy system built with Oracle DB using Oracle forms to create applications and lots and lots of stored procedures in the database. It's also been in use for over 17 years now with no major upgrades or changes. Of course, there have been a lot of development changes over these 17 years that taken the system close to the breaking point and almost impossible to implement something new. So, the company decided to move to CRM (Salesforce) and we needed to transfer data to SF from our legacy database. However, we couldn't create or make any triggers on our database to send real-time data to SF during the transition period.SolutionSo we decided to use Mule Poll to poll our database and get the records in bulk, then send them to SF using the Salesforce Mule connector.I am assuming that we all are clear about polling in general. If not, please refer to references at the end. Also, if you are not clear with Mule polling implementation there are few references at the bottom, too. Sounds simple enough doesn't it? But wait, there are few things to consider.What is the optimum timing of the poll frequency of your polls?How many threads of each poll you want to have? How many active or inactive threads do you want to keep?.How many polls can we write before we break the object store and queue store used by Mule to maintain your polling?What is the impact on server file system if you use watermark values of the object store?How many records can we fetch in one query from the database?How many records can we actually send in bulk to Salesforce using SFDC?These are few, if not all the considerations you have to do before implementation. The major part of polling is the WATERMARK of polling and how Mule implements the watermark in the server.Polling for Updates Using WatermarksRather than polling a resource for all its data with every call, you may want to acquire only the data that has been newly created or updated since the last call. To acquire only new or updated data, you need to keep a persistent record of either the item that was last processed, or the time at which your flow last polled the resource. In the context of Mule flows, this persistent record is called a watermark.To achieve the persistency of watermark, Mule ESB will store the watermarks in the object store of the runtime directory of a project in the ESB server. Depending on the type of object store you have implemented, you may have a SimpleMemoryObjectStore or TextFileObjectStore, which can be configured like below: Below is a simple memory object store sample: Below is text file object store sample: For any kind of object store, Mule ESB creates files in-server, and if the frequency of your polls are not carefully configured, then you may run into file storage issues on your server. For example, if you are running your poll every 10 seconds with multiple threads, and your flow takes more than 10 seconds to send data to SF, then a new object store entry is made to persist the watermark value for each flow trigger, and we will end up with too many files in the server object store.To set these values, we have consider how many records we are fetching from the database, as SF has limit of 200 records that you can send in one bulk. So, if you are fetching 2,000 records, then one batch will call SF 10 times to transfer  these 2,000 records. If your flow takes five seconds to process 200 records, including the network transfer to send data to SF and come back, then your complete poll will take around 50 seconds to transfer 2,000 records.If our polling frequency is 10 seconds, it means we are piling up the object store.Another issue that will arise is the queue store. Because the frequency and execution time have big gaps, the queue store's will also keep queuing. Again, you have to deal with too many files.To resolve this, it’s always a good idea to fine-tune your execution time of the flow and frequency to keep the gap small. To manage the threads, you can use Mule's batch flow threading function to control how many threads you want to run and how many you want to keep active.I hope few of the details may help you set up your polling in a better way.There are few more things we have to consider. What happens when error occurs while sending data? What happens when SF gives you error and can't process your data? What about the types of errors SF will send you? How do you rerun your batch with the watermark value if it failed? What about logging and recovery? I will try to cover these issues in a second blog post.Refrences:https://docs.mulesoft.com/mule-user-guide/v/3.6/poll-reference#polling-for-updates-using-watermarkshttps://docs.mulesoft.com/mule-user-guide/v/3.7/poll-referencehttps://docs.mulesoft.com/mule-user-guide/v/3.7/poll-schedulers#fixed-frequency-schedulerhttps://en.wikipedia.org/wiki/Polling_(computer_science) Read more

Yahoo revenue rises as Internet business improves

Yahoo Inc (YHOO.O) reported a 5.2 percent rise in total quarterly revenue, a sign of improvement in its troubled core Internet business it is auctioning off.Yahoo is in the process of auctioning off its search and advertising business, and reports suggested that a final bidder would be picked on July 18.Verizon Communications Inc (VZ.N) and AT&T Inc (T.N) are said to be in the running, as well as private equity firm TPG Capital and a consortium lead by Quicken Loans founder Dan Gilbert and backed by billionaire Warren Buffett.Yahoo's fortunes have waned under Chief Executive Marissa Mayer, who has made little progress in her attempts to gain ground against newer, bigger Internet players such Facebook Inc (FB.O) and Alphabet Inc's (GOOGL.O) Google.The tepid progress in turning around the business attracted pressure from activist investors who pushed Yahoo to launch an auction of its core business in February. Yahoo has also said it could spin off the business. Revenue in the company's emerging businesses, which Mayer calls Mavens - mobile, video, native and social advertising - rose 25.7 percent to $504 million in the second quarter ended June 30.Total revenue rose to $1.31 billion from $1.24 billion a year earlier. After deducting fees paid to partner websites, revenue fell to $841.2 million from $1.04 billion. Net loss attributable to Yahoo was $439.9 million, or 46 cents per share, in the latest reported quarter, compared with a loss of $21.6 million, or 2 cents per share, a year earlier.Yahoo recorded a non-cash goodwill impairment charge of $395 million related to its Tumblr unit. On an adjusted basis, the company earned 9 cents per share, while analysts were expecting earnings of 10 cents on average, according to Thomson Reuters I/B/E/S.Yahoo's shares were little changed at $37.92 in trading after the bell. (Reporting by Supantha Mukherjee in Bengaluru; Editing by Saumyadeb Chakrabarty) Read more

Solar plane leaves Seville on penultimate leg of round-the-world flight

SEVILLE, Spain An airplane powered solely by energy from the sun took off from southern Spain early on Monday on the penultimate leg of the first ever fuel-free round-the-world flight.The single-seat Solar Impulse 2 lifted off from Seville at 0420 GMT (12:20 a.m. EDT) en route for Cairo, a trip expected to take 50 hours and 30 minutes.The plane has more than 17,0000 solar cells built in to its wings and travels at a cruising speed of around 70 km per hour (43 mph). On its journey, which began in Abu Dhabi and is due to end there, it has been piloted in turns by Swiss aviators Andre Borschberg and Bertrand Piccard. Borschberg is taking this run, the 16th leg, over the Mediterranean Sea, crossing through the airspace of Tunisia, Algeria, Malta, Italy and Greece before ending in Egypt. (Reporting by Marcelo Pozo; Writing by Paul Day; editing by John Stonestreet) Read more

Older Post