Viewing Posts by Christian Bisson
Debunking 4 Misconceptions About Story Points
by Christian Bisson, PMP
For the sake of my examples below, I assume teams use the Fibonacci sequence.
The Traps of Textbook Scrum
By Christian Bisson, PMP, PSM
The Agile methodology is quickly becoming the standard for IT projects. More specifically, most organizations are using the Scrum framework to bring their software development to the next level.
But it’s implementation often remains a challenge and that’s because Scrum is not one-size-fits-all, and if you follow the manifesto too rigidly you can fall into a few traps.
Here’s a look at two:
1. Lack of Team Experience
If you’re coaching a team new on Scrum, take baby steps. Imagine if you’re teaching someone to play basketball for the first time. You will most likely teach them how to dribble before you teach them how to dunk a ball.
It’s the same with Scrum. If you throw everything in the Agile Manifesto or Scrum Guide at your team at once, chances are the results will be poor, the team will be confused and ultimately they will not enjoy the methodology.
For example, when assigning complexity, start with T-shirt sizes (small, medium, large) instead of the Fibonacci scale. When the team grasps this concept well, adapt accordingly.
2. Potential Waste of Effort
An active sprint is considered sacred for a team. Its scope must not be modified, and any new requests/requirements should be factored into future sprints.
Be that as it may, sometimes there are extreme circumstances where the sprint must be stopped or modified due to new requirements.
For instance, say an amazing opportunity presents itself three days into the sprint, making the current scope of the sprint obsolete. Fixating on the fact that a sprint cannot change and having the team work for the remainder of the sprint on something confirmed to be useless would be a waste.
If this sudden change creates downtime for the team while the new requirements are written and refined, the team could focus on testing new technologies, or working on a proof of concept that could help with the new requirements.
Or sometimes a project faces issues and due to the importance of the client, those issues must be prioritized. People may be pulled out from one team to help another. That will mean that an active sprint’s committed scope may have to be reduced, which is when you have to put aside the textbook for the sake of the organization, and to help out colleagues in need.
Have you ever had to steer away from initial expectations for a project or team’s benefit? Share your story!
by Christian Bisson, PMP
Project success is typically defined as being completed within budget, schedule, and scope, and that has been imprinted so much in project managers’ mind that it blinds them to other important aspects that defines a project’s success.
This aspect of project success seem to be more and more popular, and with reason, if clients are not happy, they will shutdown the projects, or proceed with another organization. If your project is on budget, delivered on time, and does exactly what it should be doing, but the client is so unhappy that they ceases to work with the organization, can you consider the project a success?
For example, if you focus so much on being on budget/schedule/scope, that you decline everything the client asks for without a second thought, chances are the client will not want to work with you long term. On the opposite side, giving everything the client wants and ending up late or 200% above budget is not an acceptable alternative. You or the team will often need to be creative to find ways to balance things out, and properly managing the client’s expectations is also key top this.
Another very important aspect of project success is the value it’s adding. A project that is doing what was planned, but ends up being useless, is not a success.
For example, if you create a great website, the client loves the design, the development phase had only few minor issues that were fixed rapidly so the team is happy, the project is delivered on time, on budget, and does what it’s supposed to do, however, users that go on the website are completely incapable of finding the information they need, and they end up always calling customer service instead, then is that really a success?
It’s important to identify right from the start what metrics will be used to calculate the project’s success, and tie those metrics to features of the website as you go to make sure a feature is not useless or solves an issue that has nothing to do with the project’s objectives..
The organization that has provided the services needed to make the project happen is also a key aspect to look at to define the project success, and unfortunately often due to lack of transparency from management, can be a challenge.
For example, there are projects that the organization’s management know they will lose money on, but for them it is considered a long-term investment to bring more business. If that’s not communicated, the project manager will see the project as a failure because it’s over budget.
It’s important to have visibility on the organization’s goals and expectations around the project in question.
What are your thoughts on the matter? Do you use other aspects to define project success?
By Christian Bisson, PMP
Machine learning is one of today’s hottest tech topics.
It’s essentially a type of artificial intelligence (AI) in which you give your software the ability to “learn” based on data. For example, you probably notice how YouTube, Netflix, Amazon and many other companies suggests videos or products you should check out. These suggestions are based on your previous online actions, or those of other people deemed “similar” to you.
For some time now I’ve been working on projects that involve this technology. We often have clients who want machine learning even though they do not know if it’s even relevant to them. Since “everyone is doing it,” they want to do it too.
Calibrating a project sponsor’s expectations is often a good idea. While the automated services generated through machine learning may seem magical, getting to that point involves challenges—and a lot of work.
The machine will learn using the data it has being given—that data is the crucial starting point. The data that’s available is what drives how the machine will evolve and what added value machine learning can bring to your project/product. For example, if you are trying to teach the machine to recognize vehicles on images it scans, and all you can teach it with are images of small cars, you are not set up for success. You need a better variety of images.
The machine’s ability to learn is directly tied to the quality of the data it encounters.
Once you have quality data, you need it in high quantities. If you can only provide the machine with the website behaviors of, say, hundreds of users per month, don’t expect it to have enough information to be able to recommend the best products based on user trends. Its sample will be too little to be able to be accurate.
Once you have the necessary data, the journey is not over. The machine may learn on its own, but it’s learning based on how it was built and with the data it’s being fed. There is always room for improvement.
As amazing as machine learning is, it is not cheap. So keep an eye on your project’s budget. Machine learning experts can command high salaries, and there is a lot of effort involved with researching the best approach—creating the models, training them, testing them, etc. Make sure the ROI is worth it.
Have you had a chance to work on a project involving machine learning? What challenges have you faced?
By Christian Bisson, PMP
As most of you know, scrum works in iterations called “sprints” that can vary in duration depending on the product. However, there is some debate about what people call a “Sprint 0”: a sprint used for planning or prework deliverables that will help launch Sprint 1.
There are no one-size-fits-all ways to work, but personally I believe Sprint 0 is necessary in many cases. Here’s why:
One big difference between waterfall and agile is how planning works. Waterfall tends to focus a lot (sometimes too much) on planning, while agile tends to be the opposite. For most projects with lots of unknowns, planning too much will be a waste of time because the project will evolve and most of the work done in advance will be wasted. That’s why you plan as you go in agile.
However, when you start a product from scratch (e.g., a website, software, etc.), there are many decisions that will affect the entire product development — some of which can block developers from coding on day one. For example, what is the best programming language/framework to use? Teams need development environments amongst several other tools. This setup can use up a lot of time and prevents work from gettting done if nothing is available. Sprint 0 becomes crucial to give the team time to prepare so they can code properly from the start.
Sprint 0 helps with that by providing a first iteration that allows the team to plan enough for Sprint 1, whether with analysis, wireframes, designs, etc.
Chances are, the team has never worked together before. The Sprint 0 approach can help the team set up and get to know each other, which will help them at the sprint planning of Sprint 1.
Other factors to consider are estimating tasks, timing of ceremonies, understanding everyone’s role and so on — all important elements that make or break a team’s efficiency.
It’s also a perfect opportunity for the scrum master to get the lay of the land and identify where to focus first to help the team.
Many would argue that value should be delivered at the end of a sprint. And Sprint 0 does not offer that to the stakeholders, which is true. However, not much real value will be delivered from a Sprint 1 that is wasted by the complete lack of preparation!
What are your thoughts on Sprint 0?