Software Engineering, Project Management, and Effectiveness
As I help more people go Agile, I try to simplify the most important concepts.
For me, one of the most important changes in Agile is what it means to the product development cycle.
I think a picture is worth a 1,000 words. I’ve put together a couple of simple visuals to show what it means to go from a Waterfall development approach to an Agile development approach.
Contrast the Waterfall Model with the Agile Model:
With these visuals, I attempted to show a couple of key ideas:
If you need to keep up with the pace of change, deal with changing requirements, keep up with user demands, while shipping value faster, Agile might be what you’re looking for.
I’ve shared a Scrum Flow at a Glance before, but it was not visual.
I think it’s helpful to know how to whiteboard a simple view of an approach so that everybody can quickly get on the same page.
Here is a simple visual of Scrum:
There are a lot of interesting tools and concepts in scrum. The definitive guide on the roles, events, artifacts, and rules is The Scrum Guide, by Jeff Sutherland and Ken Schwaber.
I like to think of Scrum as an effective Agile project management framework for shipping incremental value. It works by splitting big teams into smaller teams, big work into smaller work, and big time blocks into smaller time blocks.
I try to keep whiteboard visuals pretty simple so that they are easy to do on the fly, and so they are easy to modify or adjust as appropriate.
I find the visual above is pretty helpful for getting people on the same page pretty fast, to the point where they can go deeper and ask more detailed questions about Scrum, now that they have the map in mind.
Agile vs. Waterfall
Agile Life-Cycle Frame
Don’t Push Agile, Pull It
Scrum Flow at a Glance
The Art of the Agile Retrospective
“Learning and innovation go hand in hand. The arrogance of success is to think that what you did yesterday will be sufficient for tomorrow.” -- William Pollard
The Internet of Things is hot. But it’s more than a trend. It’s a new way of life (and business.)
It’s transformational in every sense of the word (and world.)
A colleague shared some of their most interesting finds with me, and one of them is:
Capitalizing on the Internet of Things: How To Succeed in a Connected World
Here are my key take aways:
It’s a fast read, with nice and tight insight … my kind of style.
4 Stages of Market Maturity
E-Shaped People, Not T-Shaped
Trends for 2014
One of the best books I’ve been reading on personal high-performance is Patterns of High Performance: Discovering the Ways People Work Best, by Jerry L. Fletcher.
In the book, Fletcher explains the difference between getting results through grind-it-out mode vs. high-performance mode.
The gist is this – we work against ourselves when we don’t use our personal success patterns for how we work best.
It might sound obvious, but it’s actually a very subtle thing.
It’s very easy for us to fall into the trap of changing our recipe for results to try to match what we think others expect of us, or we copy how other people get things done. In going with the grain of others, we can go against our own grain, and basically limit was we’re capable of.
If you’ve ever been in a scenario where you feel your hands are tied because you know you can solve it, if you just had the freedom and flexibility to do so, you might be bumping into the issue.
Many people slog through work using a grind-it-out mode, because they are using peak performance techniques that are sub-optimal for them. In other words, high-performance is a personal thing. Keep in mind that high-performance does not mean world-class performance, although high-performance can very often lead to world-class performance.
The main idea is to figure out how you actually do your best work. We all have recipes for how we start work, get work going, keep it going, and how we close it down. And that’s where we can find the patterns of our best work, if we look for it, over our past experiences, where our results exceeded our expectations.
If you want to fire on all cylinders and work in high-performance mode, find your high-performance pattern and use it to unleash what you’re capable of in work and in life.
If you want a deeper dive into high-performance mode, check out my post on grind-it-out mode vs. high-performance mode.
If nothing else, it’s nice to have a label for the two modes of work, so that you can identify them when you see them, and you can work towards doing more high-performance work, and less grind-it-out mode.
At Microsoft, it’s a high-performance culture. There are high-expectations as well as regular one-on-ones, ongoing feedback, training and development opportunities, mentoring, performance reviews, and more.
To keep up with the game, you need a combination of learning proven practices for personal effectiveness, as well as high-performance team techniques.
The reality is. the more self-awareness you have, the more you can contribute to creating a high-performance team. For example, if you know your strengths, and you can figure out how to help the team see how they can leverage your unique strengths, you become a force multiplier.
When it comes to being your own force multiplier, sometimes the most important thing to do, is to first get out of your own way. It’s very easy to water down your results by going against your own grain, and not taking advantage of your unique experience, skills, and abilities.
That’s where personal high-performance patterns come in.
Imagine if you already have a recipe for getting great results, but it’s buried among all the ways you’ve twisted how you get results to try to adapt and fit in with what everybody else does? And imagine if that pattern is not just effective, but it’s incredibly effective at unleashing your potential you’ve already got, and it instantly amplifies your ability to get great results?
I’ve been reading the book, Patterns of High Performance: Discovering the Ways People Work Best. In it, Jerry L. Fletcher shares a process for finding your high-performance pattern. He also shares the high-performance patterns of others. He also shares deep insight into the great results he and his team have been able to unleash for individuals and teams. It’s a repeatable approach for getting high-performance results, whether it’s personal high-performance or team high-performance (which is heavily influenced by individuals all working in their high-performance patterns.)
As I was reading through the book, I was recalling several times where I got better than expected results. One story that came to mind is when I was building my first Security Guide in Microsoft patterns & practices to address application security in a deep way.
I did a lot of unusual things, in terms of sheer volume of experts I consulted with both inside and outside the company, the books that I combed looking for recurring patterns, the tests I ran in labs to reproduce problems and solutions. But together, these all these activities led to a unique combination of information that served as the backbone for the book.
The book was more than a book.
It was actually a deep knowledge platform filled with principles, patterns, and practices that others could build on and extend, and it helped create a language for application security that people regularly used in the halls. It also led to some interesting patents, as well as future work that helped change the application security game for line-of-business applications. And it was the first book to be downloaded 800,000 times within six months.
The results were extraordinary.
And the key to it wasn’t that I followed a formula from somebody else. It was that I was using my personal high-performance pattern.
Therein lies the key.
But how do you find your personal performance pattern?
Jerry Fletcher has a technique for that. I’ve tried to distill the steps into a simple to follow recipe:
High-Performance Unleashed: Find Your Personal High-Performance Pattern
The beauty of finding your personal high-performance pattern is that it’s all you, and you take it with you wherever you go.
It can be your edge for getting better than expected results in any situation, and it can be the key to producing outstanding results in a sustainable way.