Big ideas vs Little ideas

Would you rather have one great big idea or tons of little ideas?

Me?  I’m fond of having a lot of little ideas.

Why?  Little ideas are easier to understand, easier to fund and easier to implement. Little ideas can be brought to life with less effort when compared  to the great big idea.  A bunch of little ideas can add up to much more than one great big idea.

Mark Howell over at Strategy Central blogged about a very insightful post by David Armano titled “Unconventional Marketing” that helped me visualize the big ideas vs little ideas approach.

Armano’s idea of Unconventional Marketing mirrors the idea of agility that I’m fond of.  This unconventional marketing  approach allows for small marketing ‘strategies’ and rapid iterations.    Armano uses a great diagram to describe his ideas where he compares a conventional marketing model with an unconventional.

The conventional marketing model  takes a big strategy and runs it through the process…he calls this the ‘big ideas, big bang launch and big budgets’ approach. The Unconventional marketing model takes a different approach.  Armano dubs this the ‘micro strategy, big insights, rapid iterations’ approach.

I absolutely love the unconventional approach.  With this approach you can make course corrections quickly if your strategy isn’t quite right.  You develop your strategy, jump into the development phase, gather insights into how you are doing and adjust as needed until you reach your goal(s).

Think about big ideas vs little ideas like this:

Your ‘big idea’ is to create world peace.  You start thinking about how to reach this goal.  And you think and think.  You pour your heart and soul into developing a plan for world peace. You talk to people and gather other ‘big ideas’.  You research and document endlessly.  You try to figure out how to get in front of world leaders.  If you’re lucky, your hard work might pay off…perhaps you get in front of some important people.  But will your plan succeed?  Perhaps.

Instead of taking the ‘big idea’ approach, why not start with a few little ideas.  What if your idea was to create a more meaningful and peaceful life for your family and your neighbors?  Why now try and create create peace and tranquility within your neighborhood?  That’s something that can be easily conceptualized…and then you can move further into other neighborhoods.  Eventually your ideas could take root throughout your city. By starting small, you’ve created much more than a ‘plan’…you’ve created something real.  You’ve created something that can be replicated easily by other people.

This approach will allow you to start with small ideas and move on them.  It is usually much easier to come up with a bunch of small ideas than to come up with the “one big idea”….if you wait until you get your “big idea”, you may never start…or finish.

There are many who would argue that BIG ideas are more important and more meaningful.  I disagree.  Of course, a BIG idea that has merit and is achievable is worth noting and is worth pursuing. That said, don’t let the chase for the BIG idea get in the way of achieving the little ideas…these little ideas can deliver outstanding results.

Reblog this post [with Zemanta]

Agile Project Management and Product Strategy – A Case Study

Due to the length of this post, I’ve created a PDF version for those that would like to download it and/or print it out. Click here for the PDF version of Agile Project Management & Product Strategy.

Over lunch recently, a good friend and very experienced project manager shared his thoughts on managing software development projects when he said:

“Software developers are so hard to manage. They never do what I tell them, never report status and are always behind schedule and over budget. Most times, they never finish the project!”

I asked him to think about what he just said and to think about whether he is ‘managing’ the project or ‘leading’ the project (a project manager should be a good leader first and foremost). I then jumped into my philosophy on managing projects using a more agile mindset and finished with the following comment:

Perhaps software developers aren’t any harder to manage than any other function…perhaps it’s the system that has been put in place to manage the developers and their activities that causes the problems.

I believe most software developers are bright and hardworking people…but they tend to be put into situations that drain all of the initiative and drive they may have. Traditional software development methods (e.g., Waterfall, etc) can and have been used quite successfully in software development projects but the large up-front requirements gathering, milestones and end-of-project testing usually result in software that is late and buggy. Of course there are successful projects that have used these traditional methods. The majority of successful projects are those that are given the appropriate level of resources, people and time and give the product development team the ability to get their job done without much hassle. Some smaller organizations have a difficult time with these traditional methods because they aren’t able to fully resource the project and aren’t able to be as flexible and responsive with these methods.

I recently encountered one of these smaller organizations who needed some help crafting a product development plan. As you will see, we were able to change the development plan from one that delivered a revenue generating product in 12 months to one that delivered a product with ~85% of the same features in 6 months at less than half the cost. Oh…and we were able to capture $3.5 million in revenue after 6 months.

Case Study – Software Development

I was approached by a small technology company to see if I would be interested in helping them re-design their product development strategy to release a product within 6 to 9 months in order to beat their competition to market and gain an edge over their competition. The product had to be something that clients found useful, valuable and worth paying money for and needed to be able to compete with the ‘big boys’ that were moving into this space. It appeared to be a pretty daunting task: take a product that was planned for release in 9 to 12 months and have it ready for market in 6 months.

The company is a small startup focused on a niche market in the technology field product uses a third-party content management server package to serve up large amounts of data from the enterprise network. They had some very good developers and had hired a consulting company to develop a product development strategy to provide for a product release to their client base in 9 to 12 months. This same consulting company had been planning on actually doing the development work as well.

After reviewing the plan, the senior leadership team and board of directors felt that 12 months was much too long to wait to enter the market. They had heard rumors that some very big names in the industry were starting to make moves that would allow them to enter this niche market within 12 to 18 months and felt that they needed to be first to market in order to gain a competitive advantage in the marketplace.

I agreed to help with the project and joined the company in a consulting role to help them create a new plan that would see a product released within the next 6 months.

The Original Product Development Plan

On my first day with the company, I walked into the office and found myself staring at a very large Gantt chart hanging on a wall. The chart had the words “Product Development Roadmap” written across the top and looked just like every other Gantt chart ever created (e.g., milestones, resources, dates, timelines, critical path outlines, etc etc). My first thought was that least they understood what they were trying to do and had a plan. My second thought was ‘what are they delivering and when are they delivering it?’

I sat down with the team and over the next few days and discussed the product development strategy. I realized that the original development plan created with zero lead time (each task could only start when the previous task finishes). My gut feeling told me that his was done to lengthen the project and create more billable hours for the previous consulting company.

Since the plan was created using zero lead times, it required that a considerable piece of the network architecture design had to be completed before database design could be completed. In addition, a significant portion of the database design had to finish before any work on the CMS Integration could be started. The User Interface design could begin during Database design and was scheduled to begin after network design in conjunction with CMS integration.

As you can see from the high-level overview of the plan shown in Table 1, it would have taken 9 months before a product was available to demo and/or beta release to a client and 12 months for a final release.

Table 1: Original Development Plan

TaskTimeline
Network Architecture100 Days
Database Design100 days
Content Management System Integration160 days
User Interface120 days
Demo to Clients9 months from start of project
Documentation30 days
Testing30 days
Total11 to 12 months from start of project

After reviewing the plan and talking with the leadership of the company, I started looking at methods to “bring the plan in” so we could provide a demo and beta release much sooner than 9 to 12 months out.

The original resource schedule for the development provided for 1 network architect, 1 database architect, 1 content management expert, 1 user interface ‘guru’, a documentation specialist and 2 QA specialists.

The New Product Development Plan

To create the new development plan, I visited a few key clients to gather requirements for features that they felt must be in the software in order for it to be valuable to them. After these visits, I sat down with the development team and created a “Top Feature List” to help us focus the development efforts on only those features that were the most valuable to our clients.

Interestingly enough, the items that ended up being the most important items for the clients were the last things to be implemented in the original development plan. It’s amazing what a little bit of client communication will do!

Using agile software development methods, common sense and the “Top Feature List” gathered from my discussions with clients, the team and I created a development plan. The new plan would allow for the most important (i.e., valuable) features that our key clients were looking for to be ready for release as a Beta release within 3 months.

Due to the small team size and the inability to bring in additional developers, some of the tasks still needed to be performed in serial but most of the tasks were performed in parallel with each other. Table 2 shows the new product development plan.

Table 2: New Development Plan

Start Iteration 1
TaskTimeline
Database Design – DBA Resource30 days
Network Architecture – Network Resource45 days
User Interface – GUI Resource45 days
CMS Integration – DBA Resource15 days
Total Time45 days
Demo to Clients1.5 months from start of project
Start Iteration 2
TaskTimeline
User Interface – GUI Resource45 days
Documentation – Document Resource15 days
CMS Integration – DBA Resource45 days
System Testing- QA Resource30 days
Total Time45 days
Beta Released to clients3 months from start of project
Start Iteration 3
TaskTimeline
Network Architecture – Network Resource45 days
User Interface – GUI Resource30 days
CMS Integration – CMS Resource15 days
System Testing – QA Resource15 days
Total45 days
Beta2 Released to clients4.5 months from start of project
Start Iteration 4
TaskTimeline
Network Architecture – Network Resource30 days
User Interface – GUI Resource15 days
CMS Integration – DBA Resource30 days
Documentation – Document Resource15 days
System Testing – QA Resource45 days
Total45 days
Final Release to clients6 months from start of project

The budget for the new plan turned out to be less than half of the original budget, although we weren’t trying to dramatically cut costs, the shortening of the development cycle by half brought us considerable cost savings.

The outcome of the plan thrilled senior executives, investors and clients. Based on the first Beta release, we were able to book about $1.5 million in revenue that may never have been booked if we had used the original plan. The initial Beta release was nothing like the final release from the original plan, but it did provide the key features that the client(s) wanted to see.

The release after the final iteration contained about 85% of the features from the original plan. Think about that…85% of the product features in half the time at less than half the cost! That’s the power of agile thinking!

After the final iteration, the product was released to quite a bit of fanfare. In addition to the revenue we had already gained with the Beta release, we were able capture another $2 million in revenue from new clients and create a great footing for the company in the marketplace. At the time that version 1.0 was released, the competition was still mired in product planning and development and their release dates seemed to be at least another 12 months out.

Conclusion

After releasing version 1.0 and capturing $3.5 million in revenue, the company was able to attract quite a bit of interest from investors and potential buyers. They ended up being gobbled up by a much larger competitor for quite a bit of money (many times multiple earnings). I’d like to say it was all my doing…but it wasn’t…I just helped them to see a new way of looking at the development process.

Using agile methods allowed us to deliver real value to our clients and to our company by create a product in half the time. We were able to deliver $3.5 million in revenue because we focused on the needs of our clients and delivered those features that they thought were the most valuable.

That is what Agile Project Management is all about. Delivering value to clients.


Note to readers:
When I use the word ‘agile’, I don’t want to imply that I am explicitly talking about iterative or agile software development methods such as eXtreme Programming (XP), Scrum, Feature Driven Development (FDD) or other types of ‘Agile’ methods. Agile methods like XP and Scrum are the framework for my project management methods for managing software development projects but I am not a strict proponent of any one method or process over another. By using the word agile, I am trying to capture the frame of mind that someone should have to be able to accurately focus and respond to clients’ needs in today’s competitive world.

 

Reblog this post [with Zemanta]

If you'd like to receive updates when new posts are published, signup for my mailing list. I won't sell or share your email.