Recent Blog Posts

  • My Clutter is Different
    By Johanna Rothman - Friday Jul, 4
    On the long weekends, Mark and I make a concerted effort to clean up the house. That means I have to address all my little piles: go through them, recycle what I can, throw out what can’t be rec... more »
  • New Tools Section
    By Ryan Shriver - Thursday Jul, 3
    One of the things that helps reenforce new concepts, like the ones I���m teaching, are simple tools that guide you along the way. Like a carpenter���s square, hand plane or ruler, simple tools can be ... more »
  • It’s ok to wet yourself every once in awhile
    By Andrew Glover - Tuesday Jul, 1
    Dan North, the veritable progenitor of behavior driven development (or BDD), recently blogged about unnecessary DRYness (meaning don’t repeat yourself) with respect to clarity of intent when it ... more »
  • Expert Panel at Agile Experience
    By Neal Ford - Tuesday Jul, 1
    Last weekend, I spoke at the Agile Experience in Reston. It was a great conference, lots of interesting topics, and a different crowd than most technical conferences. Half the attendees were managers,... more »
  • easyb 0.9 hits the streets
    By Andrew Glover - Monday Jun, 30
    The easyb team is pleased to announce the release of easyb 0.9, baby! The 0.9 release has: Numerous IntelliJ plug-in improvements The easyb plugin for IntelliJ can now be downloaded directly from w... more »

In the Spotlight - Ryan Shriver

Business and Technology Consulting

Ryan Shriver is a Managing Consultant with Dominion Digital, a Virginia-based Business & Technology Consulting firm where he's a leader in their Agile practice (dominiondigital.com/agile). He helps organizations and teams transition to Agile ways of thinking about solving problems, ranging from new product lines to operational performance improvements. Ryan's solutions typically use some combination of people, process and technology to deliver measurable results.

With a deep background in software architecture and enterprise Java, Ryan understands the challenges and issues facing development teams to deliver predictable results. His approach to getting senior leaders to define measurable objectives and priorities for their organizations, projects and development teams helps bring focus to the highest priority initiatives. Using agile methods like Scrum, Ryan helps teams iteratively deliver value quickly to the business...often in a matter of weeks.

Ryan's experiences with diverse companies and teams are the basis for his presentations on Agile subjects.
















Presentations by Ryan Shriver

Delivering Measurable Business Value with Agile

Everybody is talking about delivering business value but what does this mean in Agile? Scrum, for example, puts a lot of emphasis on the Product Owner's role of prioritizing backlog features and ensuring the highest priority features are delivered first. But how does a product owner do this so they can demonstrate measurable value delivered? How do the product owners, or the business leaders, articulate the real goals of the project or product under development for everyone to clearly understand?


Agile Engineering for Managers

Agile methods are increasingly becoming mainstream as teams and organizations transition from traditional "waterfall" methods. Adopting concepts from Lean and Scrum often have dramatic impacts on reducing delivery times for software projects, but without a committed focus on quality from management, these initial gains may fade in time. As the size and complexity of larger projects challenge organizations new to agile, a tendency to revert back to "over-definition of requirements" and "big upfront design" cycles may return. This doesn't have to be the case, even on very large projects, teams and systems.

Agile Engineering for Architects

Agile methods are increasingly becoming mainstream as teams and organizations transition from traditional "waterfall" methods. Adopting concepts from Lean and Scrum often have dramatic impacts on reducing delivery times for software projects, but without a committed focus on quality from architects and developers, these initial gains may fade in time. As the size and complexity of larger projects challenge organizations new to agile, a tendency to revert back to "big upfront design", "analysis paralysis" and "test and fix" cycles may return. This doesn't have to be the case, even on very large projects, teams and systems.








the agile engineer


Ryan Shriver's complete blog can be found at: http://www.theagileengineer.com

Thursday, July 3, 2008

One of the things that helps reenforce new concepts, like the ones I���m teaching, are simple tools that guide you along the way. Like a carpenter���s square, hand plane or ruler, simple tools can be very effective in the hands of a trained engineer. To help further the agile engineering discipline, I���ve created a Tools section of the site and published the first one, an Impact Estimation table designed for Architects and Requirements Analysts.

Impact Estimation is a way to assess a design���s impact on a set of desirable qualities. This can be for one quality, such as Response Time or Transactions per Second, or for a collection of key qualities, such as System Performance.

As useful as Impact Estimation is, what is perhaps even more important is the exercise of filling it out. In order to do so, you basically have to do two things:

Quantify the key Qualities
Estimate a Design���s impact against these if implemented

First, to quantify the key qualities, for each one you capture:

- Name
- Unit of measurement (Scale)
- Method to measurement (Meter)
- Target level
- Fail level

WIth this information for key qualities such as Response Time, Transactions per Second, Scalability, Availability and others you can specify critical information very succinctly. This information is used by the architect and development team who must engineer the system to meet the target levels and avoid the failure levels.

So how does the architect know which design (aka strategy) to pursue that best balances performance and costs? Enter impact estimation. Once you enter the Name, Scale, Target and Fail levels for each quality, you estimate the impact of that design and enter it into the worksheet. This helps you answer questions such as:

If this design were implemented, how much closer to our target level would our system be? What % gain or reduction would we see?
How much do we think it will cost to implement the design? What���s the benefit-to-cost ratio (called performance-to-cost in impact estimation)?
How much certainty (or uncertainty) are we factoring into our estimates?
Do we have credible sources for all our input data or is it based on speculation? Have we done this before on this project or in this organization?
If we can���t reach our target level of performance with just one design, what are our next best options? How many different designs will it take to reach our target level of performance (and how much do they all cost)?
What order should we implement our designs that delivers value quickly and iteratively (in days and weeks)?
Are we factoring any risk into our designs? Are we designing just to spec or beyond spec?

These are some of the big decisions architects must face in systems engineering and represent to management with confidence. In situations with hundreds-of-thousands or millions of dollars on the line, wrong decisions can waste money and evaporate time to market. But if done right, organizations can gain quick competitive advantages by focusing their resources on designs that deliver value quickly and iteratively in an agile fashion.

Hopefully this is just the start of more handy tools to come. Let me know what you think and if you find them valuable.

Friday, June 27, 2008

These are the final ones used for my presentation, so if you want some of the newer slides, please download.

Measuring Business Value with Agile
Agile Engineering for Architects
Agile Engineering for Managers

Tuesday, June 24, 2008

I���ve uploaded 3 new presentations:

Measuring Business Value with Agile
Agile Engineering for Architects
Agile Engineering for Managers

I���ll be giving these at Agile ITX later this week, we���ll see how it goes!

Thursday, June 12, 2008

A while back Clarke Ching contacted me, he runs the Agile Thinkers web site. He was researching people who have used Evo with Scrum. It took me a while but I finally got back to him. I just started writing and it flowed out into my eight-year agile story. If you���re interested in my agile path and thoughts on what agile doesn���t address (but Evo does), give it a read.

Wednesday, May 28, 2008

Yesterday I was working with an organization that was planning out the next six releases to take them from June through January. I���ve been working with this team for the past few months and it���s taken a lot of work to get to here. We were chartered with coming up with plans and options to present to the CEO the next day that ensured the new system got launched this year.

There are lots of features Marketing and product managers want, each benefiting their client base (the companies products and their product managers are aligned around the different types of clients that use their software. There���s not a single product manager). The product managers and team had identified most of the epics and stories for the rest of the year and yesterday was a full-day estimation and planning workshop. There were approximately 125+ epics and stories in the mix.

The team for the last two Sprints has provided steady velocity numbers so although we only have two data points, we feel like it���s enough to estimate what level the team could deliver at for the remaining releases, understanding that this would get more precise in time. There���s some danger here in extrapolating two data points, but it���s somewhere to start.

At the end of the exercise, with everything laid out, everything Marketing and the product managers wanted this year wouldn't be completed until next June of next year at the current pace with the current team. Features wanted in October wouldn���t be ready until January, thus missing an important seasonal window for their products (and revenue opportunities)!

The leaders were exploring options for what to do, including:

Hiring an outside firm to turn-key develop some of the features in parallel with their development team and integrate (potentially costly and with integration risks)
Exploring options to increase velocity through higher productivity on their team (worth consideration, but wouldn���t alone get the 50% productivity improvement needed to make the schedule realistic)
Bringing on staff-aug folks to bolster the development team to meet the aggressive schedule (costly, would take time to train and be a hit on velocity in the short term).

None of the options were ideal and each presented risks that even if mitigated produced little guarantees the new system would still get launched by October.

Towards the end of the meeting, the head of IT (John) was describing how he needed to present viable options. As currently laid out, unfortunately there are no easy ones that don���t involve pain, a good amount of money and risks that the new web site (the system under development) wouldn���t be launched this year. Also, without additional funding, there wasn���t a clear path to launching a new system by October to maximize the revenue opportunities.

The head of marketing (Karen) next spoke up and said, ���Ted, our CEO, has been telling the board of directors for the past two years that this new web site is our #1 priority. Because we���ve switched technology platforms and had stops and starts, he can���t go back to them again this year and say it���ll be 2009 before we���re live. That���s not a realistic option.���

I then said, ���If you understood what was most important to Ted, what would the plan look like that would allow him to stand up in front of the board and declare ���victory��� and everyone internally feel good about what got accomplished? Does it really involve all these features we���ve discussed or can we create a plan that meets the #1 stakeholder���s definition of success, which is declaring victory that the system was launched to the board?���

The leaders in the room nodded in agreement and Karen really seemed to get it. She said, ���Ted doesn���t care if we implement all these new advanced features, we just need to get a new working system launched with the same features as the current system with an updated look-and-feel. If we got a few of the new features great, but if not that���s ok too, it just needs to look new and improved! And actually, we could live with a re-skinned version of our current commerce system instead of replacing it with the new system and still launch the site.���

Then some of the others starting chiming in, ���It wouldn���t be ideal and we���d have some re-work to do, but we could re-skin the older registration system and link to it from the new site for this year, instead of building the new registration system this year.��� People naturally started thinking about ���What���s the minimum we could we live to launch the system and Ted be able to declare victory this year?���

Based on our estimates, re-skinning commerce and registration as opposed to re-building would potentially reduce 8-10 weeks off the best schedule estimates and bring us back to the October timeframe for launching a new system. The team understood there would be some throw away work to re-skin the current system, but it would also be less risky, because they knew the nuances of the current systems quite well. Although not ideal, it does look like a workable plan.

Time will tell if this works out, but it reminded me of the lesson I���ve learned from Gilb and applied during this session:

Always focus on the needs of the top stakeholder and what���s really important to them, everything else is secondary

In this case, the #1 stakeholder is the CEO, who has to answer to the board of directors for being able to deliver the new system this year. Understanding what���s most important to him (declaring ���victory��� in front of the board on the #1 initiative) can help bring great focus to the leaders and team surrounded with lots of features and options for implementing them.

On your project, are the real needs of the #1 stakeholder visible to all and a part of your planning process? Do you know what it takes to declare victory?