admin

/Marina

About Marina

Marina Garrison has been successfully delivering projects for over 15 years. She has worked on projects for small businesses, law firms, credit unions, technology startups, publicly traded companies, BC Hydro, Accenture and Interior Health Authority.

Scrum and Legacy Applications

While Scrum can be used in any environment, using it for development of a legacy system is particularly difficult.  While the development team may be open to transitioning to Scrum, the team will encounter problems at all stages of development – from requirements management through to testing.

First, the product owner is likely to have a list of product backlog items (PBIs) that cover all areas of the application.  When the product owner orders the PBIs by business value it will likely involve the development team working across all modules of the application, not just one.  This is not an issue in itself, however when coupled with a lack of documentation of the application and the code (something common for legacy systems), the team will waste time reverse-engineering what each feature does and how it was coded. After a module is understood, the team will make the single required change instead of maximizing their new-found knowledge by working on every PBI in the area. While this is inefficient for the developers, this inefficiency multiplies when it comes to testing of this module, as the whole module or workflow now needs to be regression tested […]

2019-04-25T21:16:54-07:00April 25th, 2019|Agile|0 Comments

What is Agile?

In today’s organizations, there is a belief all projects could benefit from being agile, and agility will bring the dual benefits of speed and lower costs.  This is often not the case.  Agile methodology has a lot of overhead including the various ceremonies that are required each day and each sprint. By the time you factor this in, agile/scrum will likely cost more than if the project had been completed using a waterfall methodology.

However, this is only the case on a project where the outcomes are known. Where the outcomes are unknown, the benefits of agile are greater. Agile allows the team to work when they don’t yet know the full or complete requirements of the product, or where external risks may cause the project to take twists and turns in its journey.  This is where agile truly shines.  The only certainty required is enough for a two-week sprint.

Having said this, even agile projects benefit from having more certainty than one sprint’s worth.  Without a vision for the product the team run the risk of needing to re-factor greatly each sprint as they discover what they have previously built […]

2019-04-25T21:17:05-07:00February 1st, 2019|Agile|0 Comments

Who owns technical debt?

What is technical debt?  Technical debt falls into a few main categories: coding something quick and dirty often to increase time to market; an outdated design; spaghetti code or bit rot where code has been added to repeatedly often by multiple developers.

In all cases the only solution is to refactor the code to both simplify and modernize it.  The problem is refactoring code does not introduce new features and so it can be difficult to convince a product owner or management of the importance of refactoring, as there is no obvious or immediate value. Hence it often is left unaddressed and carried forward as debt, that becomes difficult to “pay off” over time.

It is important for the whole team including the product owner to understand that this debt is owned by the whole team. Like any debt that must be paid, there are really only two ways to accomplish this: either by paying it down in small increments or paying it off all at once. The advantage to paying it off over time in small increments is that it hurts less in any given Sprint or Release. This is […]

2019-04-25T21:17:12-07:00August 14th, 2018|Agile|0 Comments

Agile is a Verb

What is agile?

Agile is often misunderstood. Agile (with a capital A) is a group of methodologies including Scrum, Kanban and XP. But can you still be “agile” (little “a”) without using a specific Agile methodology? The answer is yes and there is a just as much value in being “agile” as  doing “Agile”. So what does it mean to truly be agile?

On Being Agile

The agile manifesto lists 12 key principles (http://agilemanifesto.org/principles.html). Let’s examine these one by one.

  1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. An agile company remembers the end user is the reason for building the product in the first place. Early delivery allows for customer feedback. Customers often can’t articulate fully what they want, but they can sure tell you what they don’t want! Getting your product in front of the customer as early as possible is key to starting discussions about requirements. Development teams often think they understand requirements and what customers want but too many projects have delivered software only to find they missed the mark in what the customer wanted. This could have easily been avoided by showing the business users the product before […]
2017-06-19T20:47:30-07:00June 19th, 2017|Agile|0 Comments

Agile OK #9: Agile Retrospectives – Sept 8th 2014

Announcing AgileOK #9: Agile Retrospectives

Agile retrospectives provide the team with an opportunity to analyze the success of a sprint and examine what when wrong and how it might be improved next time.
Learn about the value of retrospectives, how to generate buy in and different ideas for conducting a retrospective that provides true insight into how well the team is working.
Sign up here: http://bit.ly/Wvchyo

2014-09-14T16:15:11-07:00September 5th, 2014|Agile|0 Comments