Skip to content

Posts from the ‘Agile Business Intelligence’ Category

Project Charter – Agile Project

In the spirit of sharing, below is an example of  a Project Charter we use to launch a Agile Projects. Do you use a similar document? In which context? Are there sections that are more critical for the success of your projects?


Vision

The Electronic Balanced Scorecard (EBS) project for Company Y is designed to develop and implement a simple tool to aid the decision making process of all managers and to help them evaluate the impact of their actions and determine if it is in line with corporate strategy.

Objectives of the EBS Project

  • Total transparency of the information for all managers;
  • To generate conversations among managers with regards to the performance indicators;
  • The tool should be easy to use by everyone;
  • To monitor the performance of the organization with respect to the strategic objectives;
  • Supporting the decision making process of all managers;
  • Guide and adjust the strategic discussions.

Success Conditions

To have implemented all the key performance indicators (highlighted in green in the definition document) in time for the strategic meeting that will take place in November 2009.

  • The information must be accessible by everyone;
  • The information must be understandable by everyone;
  • The information must be updated within a pre-defined timeline;
  • The information must be relevant and practical for managers to use;
  • The strategic objectives must be defined, communicated, measurable and measured regularly;
  • The strategic objectives must be communicated to all managers prior to launching the project;
  • The ESC supports the decision making process of the managers on a daily basis.

Priorities and Compromises Matrix

  • Scope: Not Negotiable (priority 1)
  • Schedule: Negotiable (priority 3)
  • Budget: Difficult to Change (priority 2)

Risks

  • Adoption of the new decision-making tool by all managers;
  • Introduction of several new processes;
  • Incomplete and / or erroneous information
  • Availability of key managers;
  • Implementation of a Human Resource Management System;
  • Integration of financial systems from various countries.

Risk Mitigation

Implementation of a change management program.

Role of the various team members

  • Product Owner: Paul Bergeron
  • Scrum Master: Christine Clark
  • Team Members: Patrick Allen, Christopher Green, Anthony Stephanopoulos, Cynthia Martin
  • Ergonomics Expert: Francis Albert

Top People in the Agile Business Intelligence and Agile Data Warehousing World

Although the notion of Agile Business Intelligence is still fairly recent, I decided to do some research (aka Googled) to find out who are the Top 10 People in the Agile Business Intelligence / Agile Date Warehousing World. Assuming that Google’s ranking is accurate, I compiled the following list of thought leaders.

My objective was to identify the Top 10 and much to my surprise, I was only able to identify 4 people (companies were excluded)! These 4 individuals’ name consistently appeared in the search results.

  1. Scott W. Ambler
  2. Ted Malone
  3. Ralph Hughes
  4. Ken Collier

Do you feel there are names that aren’t in the list and should be there? Let me know.

Agile Business Intelligence – Collaborative Book

Join the collaborative project to write a book on Agile Business Intelligence.

After dreaming about it, talking about it, and researching for it, I am officially launching the “Agile Business Intelligence – Collaborative Book” project.

My objectives are to:

  • leverage the wisdom of the crowd in order to write an entertaining book full of insights;
  • demonstrate by providing real life examples that Agile principles can be applied to Business Intelligence and Data Warehouse projects;
  • collaborate with people from all over the world on an exciting project;
  • learn from other people’s experience and
  • meet people and have fun in the process.

The book will present the tale of a fictitious organization that successfully develops and implements a Business Intelligence project using Agile principles.

 A link to the draft version of the book will be provided shortly.

I am looking for people who are willing and interested in sharing their experience and contribute to the advancement of Agile Business Intelligence through a well documented and interesting book. Once completed, this book will be published and all revenues from the sale of the book will be donated to non-profit organizations.

In order to become a contributor, please answer the questions presented on the registration form.

Pyxis is currently recruiting for a Consultant – Agile Business Intelligence Developer

Pyxis helps software development companies to become places where results, quality of life, and fun coexist sustainably by being first and foremost an example of what it proposes to its clients and by coaching them.

Pyxis is currently recruiting for a Consultant – Agile-Business-Intelligence-Developer to work with our customers in the Montreal (Canada) area.

Your qualifications
 5 years experience in business intelligence development projects with tools from the Microsoft BI platform (SSIS, SQL Server 2005 / 2008, Analysis Services and Reporting Services).
 Knowledge of project management with Scrum and other Agile engineering practices such as XP, unit testing, Test Driven Development (TDD), continuous integration and code refactoring.
 Experience with data modeling and database design (cubes, star schema, etc.).
 Bachelor’s degree in management information systems or equivalent experience.
 Fully bilingual (English and French)
  • 5 years experience in business intelligence development projects with tools from the Microsoft BI platform (SSIS, SQL Server 2005 / 2008, Analysis Services and Reporting Services).
  • Knowledge of project management with Scrum and other Agile engineering practices such as XP, unit testing, Test Driven Development (TDD), continuous integration and code refactoring.
  • Experience with data modeling and database design (cubes, star schema, etc.).
  • Bachelor’s degree in management information systems or equivalent experience.
  • Fully bilingual (English and French)

Agile pratices and methods applied to BI

Agile Pratices and Methods

Agile Pratices and Methods *

This afternoon, as I was preparing a presentation documenting which Agile practices and methods could be used in the context of a BI project, I came across this post that presents some of the Agile development methodologies available.

I’m proposing below Agile practices for some of the traditional data warehouse and business intelligence activities:
In upcoming posts, I will explain how each of these practices can be used by a development team to adhere to Agile principles in the context of a BI development project.

* Picture by bschmove used under the Creative Commons (CC) agreement. 
The view expressed in the blog post is the one of the author. 
The photographer does not endorse in any way the content of this blog post or the work of the author.

I’m facing a big challenge. Can you help me?

I'm facing a big problem. Can you help me?

I'm facing a big problem. Can you help me? *

There are questions and challenges that keep coming up. No matter if you work on the business side or the technical side of your organization, you have certainly faced or might be dealing with some of these challenges and you aren’t quite sure what to do. If the statements below sound familiar to you, you may want to read on.

  • My project team constantly misses deadlines.
  • The project team keeps exceeding its budget.
  • My project team doesn’t deliver on the requirements.
  • The end users don’t know what they want.
  • The requirements keep changing and that constantly impact our project plan.
  • The project team develops software components that don’t seem to have any business value and they seem to produce more paper tha software.   
  • My team develops software that doesn’t satisfy my users.
  • The project team usually finds problems very late in the development process.
  • The project team does not have the right skills.
  • The project team is tired, nobody is having fun and we are losing good people.
  • I need to wait a long time before the project team gets me the information I need.
  • We know we have issues but we don’t know where to start.
  • We need to outsource our software development activities in order to cut costs.
  • The project team delivers poor quality software.
  • We have started using Agile for a small project and our management team wants us to scale it to the rest of the organization.

Agile principles can work for your Data Warehouse / Business Intelligence project but it is critical to determine which business problem you are trying to solve. Below, we are presenting a list of issues frequently encountered and we offer potential solutions to each of them.

 

What is your challenge?

My project team constantly misses deadlines.

How Agile can help

Implementing Scrum as your project management approach and the proper reporting tools (such as burn down charts) would help you anticipate potential delays and address your delays in a timely manner.

In addition, using frequent face-to-face communication instead of communicating through a project plan will increase your team’s productivity, performance and compliance to defined time lines.

 

What is your challenge?

The project team keeps exceeding its budget.

How Agile can help

The situation might be worse than you think because you may also be delivering the wrong functionality to your users.

Using long range planning often results in high variance in the actual budget being spent whereas delivering software in short iterations (up to 4 weeks) will allow you to better monitor your costs while ensuring you deliver the expected results.

 

What is your challenge?

My project team doesn’t deliver on the requirements.

How Agile can help

This could be two different issues – the requirements aren’t well defined by the end users or the requirements aren’t clearly understood by the development team.

In either case, enforcing close collaboration between the end users and the development team by co-locating the team and enforcing face-to-face communication will greatly increase the chances of delivering the right software.

You could turn the situation around by implementing the right processes which would allow you to welcome changes during the development phase and adapt to your changing business challenges.

 

What is your challenge?

The end users don’t know what they want.

How Agile can help

This is not unusual but it is not necessarily an issue with your end users. With most projects using a traditional software development methodology, end users are asked at the beginning of the project for their requirements and will eventually see the results months or years later once the software has been delivered.

With an Agile approach, end users are asked to define their short term requirements (for the next 4 weeks) instead of defining the entire scope of the project which will help the project team to deliver on the requirements.

 

What is your challenge?

The requirements keep changing and that constantly impact our project plan.

How Agile can help

Indeed, if you are using a traditional software development methodology you are likely to run into changes as the market dynamics evolve frequently. With an Agile approach, your team will not only learn to deal with changes in requirements but will even learn to embrace those changes and adapt accordingly.

 

What is your challenge?

The project team develops software components that don’t seem to have any business value and they seem to produce more paper than software.   

How Agile can help

Why are you? The focus of your development team should be to deliver value – working software. If for some reasons, a lot of your development team’s time, efforts and energy are spent working on documents (project plans, requirements, architecture, models, etc.) instead of working on software you probably need to reconsider the software development approach you are using.

Using a pragmatic and realistic approach like agile for your software development process will address the most critical problems typically encountered by a software development team and will greatly increase your return on investment.

 

What is your challenge?

My team develops software that doesn’t satisfy my users. Satisfying the requirements of your users is critical for a software development team and applying agile practices will greatly help.

How Agile can help

The integration of the business users as part of the development team is a great way to user their requirements are properly addressed. In addition, using techniques such as user stories that describe the features from an end-user perspective makes it easier for the development team to meet the requirements once it is clearly documented.

 

What is your challenge?

The project team usually finds problems very late in the development process.

How Agile can help

It is frequently recognized that the later you find problems in the process, the more expensive it becomes to fix them. Based on that conclusion, the implementation of an Agile software development approach forces the team to present the outcome of their labor to their users in order to demonstrate and test the software frequently which bring to the surface the issue.

 

What is your challenge?

The project team does not have the right skills.

How Agile can help

Although it may be possible that your team lacks some skills, it is unlikely that your people aren’t qualified for your project.

Your team might need some help and coaching around some specific software engineering practices and with the right coaching, they can improve their development skills.

 

What is your challenge?

The project team is tired, nobody is having fun and we are losing good people.

How Agile can help

It has frequently been proven that motivated employees deliver better results so if you want your project and your team to succeed,creating an environment where people can learn, work on challenging project and feel they are contributing to the success of the organisation will greatly help.

 

What is your challenge?

I need to wait a long time before the project team gets me the information I need.

How Agile can help

The business user and the development team may not be working closely together and you are probably using a traditional waterfall approach where the development team asks for requirements, goes off to develop and test the queries and reports and once they feel comfortable with the results will present them to the business users.

By including the business users within the project team and using an incremental development cycle, you would see the progress being made on your original request and could influence the amount of details required. Keeping small iterations and short feedback loops would allow you to quickly see how the development team is doing and quickly get access to the information you need.

 

What is your challenge?

We know we have issues but we don’t know where to start.

How Agile can help

An agile approach helps improve communications within the development team and with the business users. Having frequent demonstration of the system’s capabilities will quickly bring to the surface the issues and will allow the team to address them.

 

What is your challenge?

We need to outsource our software development activities in order to cut costs.

How Agile can help

Not necessarily, a better approach might help you reduce your costs. The Standish Group Study (Reported at XP2002 by Jim Johnson) showed that as much as 64% of system functionality was never used. Using an Agile approach to build the right software will immediately reduce the overall cost of developing software within your organization.

 

What is your challenge?

The project team delivers poor quality software.

How Agile can help

You may want to consider implementing test-driven development (TDD) where developers need to start by writing their test before developing new code or you may want to leverage pair programming.

In addition to changing the way you develop software, it would be beneficial to use short development cycle and demo the resulting products frequently in order to gain visibility to the software and address the issues in a timely fashion.

 

What is your challenge?

We have started using Agile for a small project and our management team wants us to scale it to the rest of the organization.

How Agile can help

Absolutely. Now that you have seen first hand the tremendous benefits of using Agile practices, you may want to coaching and guidance to help you roll out the new approach to the rest of your development organization and take full benefits at a larger scale.

 

 

* Picture by Mikey G Ottawa used under the Creative Commons (CC) agreement. The view expressed in the blog post is the one of the author. The photographer does not endorse in any way the content of this blog post or the work of the author.

We have a huge budget and too much time to complete our business intelligence (BI) project

If you agree with the title of this post then you don’t need to read further, either your business intelligence (BI) project will be amongst the very few (less than 40%) that will not end in abandonment / failure or you do not have to worry that your project will drain your huge budget before slowly and gradually failing.

For everyone else, this article that presents the benefits of using an Agile approach to software development. This post is a follow up to my previous article called Nobody is interested in Agile where I wondered why so few articles explained the actual benefits (the WHY) behind Agile.

Why should organizations use an Agile approach for their Business (BI) Intelligence projects?

In clear business terms, using an Agile approach for the development of your BI solution will greatly increase your return on investment (ROI). Before reading further, you need to keep in mind that Agile will not address all of your software development issues but by empowering the people who are directly and indirectly part of your project team and by taking a pragmatic and realistic approach to the software development process, the implementation of Agile principles within your organization will address the most critical problems typically encountered by a software development project.

The following diagram summarizes the 7 key benefits of implementing an Agile approach for your business intelligence project. Each of the benefit is explained further below.

 

increased return on investment by using an agile approach

increased return on investment by using an agile approach

 

The intent of this post is not to describe the Agile principles nor to explain which practice should be applied in a specific context but to describe in clear business terms the benefits derived from these practices.

Increasing Productivity

The throughput of your development team will greatly increase once you implement agile methods. The associated benefits:

  • Streamlined and improved face-to-face communications;
  • Continuous performance improvement by retrospecting at the end of each short iteration;
  • Progress is not measure by looking at compliance to a project plan but by evaluating by the quality of the output;
  • Project management is shared by everyone on the team instead as the team self-manages and becomes fully accountable for the results and reporting mechanisms;
  • Use of proven and innovative software engineering practices greatly improves quality;
  • Increased ability to estimate efforts and time lines;
  • Team productivity can be assessed and monitored over time which provides a predictable rhythm.

Meeting Time Commitments

Project time lines are typically very critical and as such implementing an Agile approach help meet time commitments.

  • Reduce the overall scope into small manageable chunks and maintain focus on short term delivery instead of the final end date;
  • Make the team’s progress visible to everyone with the use of defined reporting (burn down chart);
  • Team has to demo working product at the end of each iteration;
  • Estimating and scheduling is a collaborative process shared between the customer and the project team;
  • Frequent delivery of software reduces the overhead of moving the application into production;
  • End users are involved in defining the time lines instead of leaving the activity to the development team.

Increasing Quality

Quality is never negotiable so implementing Agile is beneficial to the project team.

  • Team has to demo working product at the end of each iteration;
  • Early detection and fixing of faulty components;
  • Testing is not only done at the end of the project when the cost of fixing issues is much greater;
  • Tests may be written before the development cycle begins and must be continuously be run throughout the duration of the project instead of waiting until the end.

Delivering on Requirements

Many projects are delivered without meeting the expectations of the customer. Using an Agile approach helps the team deliver on the requirements.

  • Customer is part of the project team, defines the priorities and assesses the end results;
  • Obtain continuous feedback throughout the development cycle and not only at the end;
  • Team will deliver on the original requirements but if there are requirement changes, the team will provide opportunities for feedback and adapt to meet the changing requirements;
  • Analysis and design is done at the beginning of each iteration and not only at the beginning of the project;
  • Software should meet the current needs, not the needs that were defined months before.

Delivering Business Value

As opposed to emphasizing tools and processes, Agile focuses on delivering value to the organization.

  • Teams work on value added tasks (as opposed to paper work and attending meetings);
  • Teams delivers the highest value features first and avoid building components that will never be used by the customer;
  • Focus on results (as opposed to process oriented or project plan driven);
  • Time boxed to ensure compliance to defined time lines;
  • Costs and benefits can be associated directly with the pieces of software being delivered, if the estimated cost for a component is greater than the anticipated value the component may not be developed;
  • Reduces or eliminates non-critical activities;
  • Raising issues and impediments early in the process reduces the cost of fixing them later on.

Improving Knowledge Sharing

As Agile relies on the concept of the team as opposed to the individual, knowledge sharing is a direct benefit.

  • Prevents the fact that a single individual becomes the bottleneck for the project by emphasizing sharing of information and tasks amongst the team members.

Increasing Employee Satisfaction

Although not frequently mentioned, employee satisfaction is an important benefit of implementing Agile.

  • Relationship between the project team and the customer are improved by developing trust and sharing knowledge throughout the duration of the project;
  • Team self-organization and autonomy greatly improve team members’ morale;
  • By inspecting and adapting their work processes, the team members grow their skills and motivation;
  • Given the opportunity to play various roles on the development team, individuals increase their satisfaction by developing new skills.

As I mentioned in my previous post, there were very few articles that explained the benefits (the WHY) of implementing an Agile approach for software development project. Hopefully, this post will help you promote agility within your organization.

4e Salon Business Intelligence in Montreal

Yesterday, Dominic and I attended the 4th Business Intelligence Conference held in Montreal (4e Salon Business Intelligence in Montreal) and despite the situation with the economy we were pleased to see that the number of attendees was fairly similar to previous years. Talking with people who have been attending this yearly conference since the beginning, the organization of the conference was better this year and the quality of the speakers has apparently improved.

While visiting the various booths in the exhibit hall and talking to other attendees, we were very surprised to see how few people actually thought of using Agile principles in the Business Intelligence / Data Warehouse arena. Interestingly enough, those who knew a little about agility were convinced that Agile and Scrum could not be applied to BI, yet they couldn’t explain why.

As I was reconciling this perspective with an interesting statistic presented by Jean-François Ouellet from HEC Montreal (only 12% of the companies in Quebec are satisfied with their Business Intelligence application) I realized that an Agile Business Intelligence practice will be an uphill battle but I believe the industry needs a better approach in order to increase the success rate of BI projects. I am confident we have something good to offer.

Improving ROI and Success Rate of your Business Intelligence Project

 It has been a while since I posted on my blog. The reason is that in addtion to taking some time off for a wonderful family vacation, I was finalizing the white paper I had started a few weeks ago. You can find the document call Improving ROI and Success Rate of your Business Intelligence Project on Pyxis’ web site.

Share your thoughts.

Can you use Agile development for BI projects?

I wanted to summarize Tuesday morning’s session at the TDWI BI Executive Summit.

Larissa Moss (President of Method Focus) presented “Agile Development: What is it and will it work for BI?” where she explained that after failing at a DW project she was working on using the waterfall approach, she stumbled into Agile in the mid ’90s. After explaining what Agile actually is and how it differs from a traditional waterfall approach, she asked the “$64,000 question“, “Can Agile work for BI?” to which she answered “It depends what you call BI“.

Larissa argues that Agile BI works well for companies that don’t have to deal with the complexity of the data (i.e. don’t deal with building an underlying data warehouse). As such, she explained that using an Agile BI approach to do a data warehouse project where the development team has to deal with end-to-end solution including data standardization, data modeling and ETL cannot work due to the complexity and the un-known associated with the underlying data.

Larissa finished her presentation by proposing a solution to address this situation – Extreme ProgrammingTM which is a 16 steps Agile methodology she developed to address the pitfalls of the traditional waterfall approach. Her book called Extreme ProgrammingTM is scheduled to be released shortly.

Jim Hill (Director of Data Management at 1-800-contacts) then presented “Applying Agile Techniques to BI” and how his organization has been successful for the past 4 years in using Agile Development “for all software development projects and BI activities“.

Jim explained the process used by his business users to log their requests (user stories) which are then prioritized weekly and included in weekly iterations. He gave an example of 1-800-contacts’ Call Center BI which is deployed to over 400 agents’ desktops and for which the data is refreshed every 15 minutes.

Following Jim was Wyatt Weeks (Group Manager Business Intelligence at Sport Authority) who presented “Agile Data Warehousing at Sports Authority”. Wyatt told the audience that his team had chosen to use Agile Development for the first time on a “Large, high risk project with short time lines” and following their success, the team has continued to use Agile to deal with changing priorities.

Wyatt’s Scrum team consists of 7 to 9 members and all phases of their BI projects (architecturee, data modeling, ETL, and report development) are delivered through monthly sprints. He highlighted the benefits of Scrum: team collaboration, enforces communication and visibility, and clear definition of priorities. 

The 3 speakers gave good presentations and agreed that indeed Agile Development can be used for BI projects as long as it is adapted to the reality and constraints of the organization.

Follow

Get every new post delivered to your Inbox.