Software Engineering, Project Management, and Effectiveness
I had 20 minutes before my meeting so I did a quick step through of the new Microsoft Cloud Analysis Tool and the Infrastructure Optimization Self-Assessment Tool.
The Microsoft Cloud Analysis Tool helps you build a roadmap to the Cloud based on your business needs, constraints, and desired attributes. It’s a “what if” for the Cloud, that you can play out the possibilities by changing your parameters. That’s a mighty powerful thing if you are trying to cycle through various options and understand the trade-offs. In fact, independent of the actual content in the tool, I think the most valuable part is the framing of the decisions. If you use nothing else, you can at least use the frames to help you accelerate your own Cloud decision making, and make more informed choices.
I limited my words and focused on screen captures so that you can quickly scan the end-to-end to see the inputs and the outputs.
Here is a summary of the tools:
Here is the home page of the Microsoft Cloud Analysis Tool and Microsoft Infrastructure Optimization Self-Assessment Tool:
Step 1 - Create an Account
Step 2 – Create a Profile
Profile a Workload
Step 3 – Choose a Discovery Activity
The output includes
Architecture Diagram (Visio)
Serena Yeoh, former Microsoft, has ported her Layered Architecture Solution Guidance to Visual Studio 2012. Her Layered Architecture Solution Guidance is a collection of project templates and tools for developing Layered Applications.
Serena has a passion for helping others use technology, and building maintainable applications.
Here is the link to the Layered Architecture Solution Guidance for 2012:
Layered Architecture Solution Guidance (LASG) 2012
Here is an excerpt on the Layered Architecture Solution Guidance:
Layered Architecture Solution Guidance (LASG) is a software factory that offers a set of tools and guidance aimed at simplifying and accelerating the development of layered applications. It extends Visual Studio (both 2010 and 2012) to provide a set of solution templates and code generators to help automate various repetitive tasks.
LASG follows the project structure that is illustrated in Layered Architecture Sample for .NET. but enhances it further with automation tools to help beginner developers to quickly get up to speed with layering concepts.
A colleague asked if I could elaborate on how we adhered to the Agile Manifesto on the Microsoft patterns & practices team. If you don’t know the Agile Manifesto, it’s a short set of sweet values, focused on building better software, flowing value to customers, while responding to change.
Here is my reply …
The heart of the Agile Manifesto is the values:
You can think of these as operating principles that embrace a set of core values that have proven themselves over time, and add “the people part” back into software, as well as embrace change as a first-class citizen.
Here is how we embraced the Agile Manifesto on the Microsoft patterns & practices team:
Individuals and interactions over processes and tools A quick conversation could easily save somebody getting lost in the weeds or mired in the muck.
We used face time, even "virtual" face time, instead of a bunch of email. We established a simple cadence of meetings to stay in sync. For example, iteration planning meetings on Mondays, and a daily stand up, helped everybody stay on top of and participate in the plan.
Rather than shove everybody into a process or into documents, it was about building effective working relationships, and spending more time in conversations. This was especially helpful for complex topics and issues, that could easily turn into long, emotional emails.
Working software over comprehensive documentation Rather than get bogged down documenting, it was more action-oriented. The goal was to produce working solutions, incrementally, and test the path as we go. To do this, we would focus on capturing user stories, prototyping the solution, then getting feedback on the solution with the customer.
That does not mean the documentation was not valuable. It does mean that we put a priority on building and testing the solution, so that the documentation has a firm foundation to build on. What it also means is that rather than depend heavily on attempting to capture and share requirements as text, we spent more energy on internalizing and embracing the requirements, with empathy, by working with customers, and feeling the pain.
Something gets lost in the text, and if I had to put my finger on it, it's empathy, and that comes from shared experience.
Customer collaboration over contract negotiation At the end of the day, this is about rapport. If you pair with the customer and co-create the solution with them, and bring them along on the journey, they are with you.
If, instead, you try to bind them to a contract, and tell them how every time they want to make a change, they can't because of what they agreed to earlier, you are simply creating a bigger divde for the customer, and your team.
The reality is, it's often less about requirements "changing" and often more about gaining clarity on the true requirements. Pushing the pain of this reality back on the customer is convenient, but ineffective, for all involved.
Responding to change over following a plan This really builds on the previous, but the big ideas is that rather than fearing or fighting change, you embrace it.
What keeps you grounded is having a plan to begin with. Another thing that keeps you grounded is having operating principles, and clarity of the end in mind. The most important thing though is having trust in your process. You have the trust the process you use to flow value along the way, and value adds up.
If you are not flowing value, you have a problem. It will not matter how good or great you thought your plan was. That's why it's called a plan, not reality. When the rubber meets the road, the unexpected happens.
How did we respond to change? We stayed open to the idea that we were wrong. Sure we tried to get the risk out early and often, but risk happens. We stayed connected to the customer so that we could understand what's actually valued. We used our iteration meetings to do a reset as necessary, and we would use project reviews and checkpoints as a way to readjust the bigger plan. The way we reduced the risk here overall is by having a timebox and resource constraints.
The upside was that we could continuously adapt and adjust as we got more clarity on what's truly valued.
I was white boarding and naming some team execution patterns the other day with a few colleagues. Here's what we ended up with:
Just because you're on a team, doesn't mean it's teamwork.
I've seen the good, the bad, and the ugly when it comes to leading teams. I've built new high-performance teams from scratch, every six months, for more than ten years. Even more importantly, these were high-performing, distributed Agile teams, where we had to rapidly go from forming and storming, to norming and performing. What I've learned is priceless, and I thank my lucky stars, that I had the opportunity to experience so many execution patterns, and really find out what works and what does not, but more importantly *Why* and *When.*
At the white board, I walked each pattern above and highlighted some key points and lessons learned …
Core Team With a "Core Team" model, you are funded or staffed as a team dedicated on the problem. You are a "team of capabilities." This is where the best synergy and focus can happen. It's also where people can find ways to spend more time in their strengths.
The most effective pattern I've seen here is "resource pools" that come together as project teams, with the right experience, skills, and capabilities. They are dedicated on the project, and they work the project as a self-organizing team.
“One-Man Band” + Best Efforts In the "One-Man Band" model, or "The Hero Model", somebody does a job, as a "team of one." The problem that often happens here is that the job actually requires a "team of capabilities." While the individual might be good at XYZ, the work requires being good at ABCD, EFG, and XYZ.
When the work truly is a one-person job, no problem. But often the pattern I see is that instead of having a few small teams of capabilities, teams are split into operating like "One-Man Bands." The “Best Efforts” part is where the “One-Man Band” spends a lot of their time trying to convince, cajole, and influence without authority to get others to contribute their “Best Efforts.” Depending on the nature of the work, while this can be effective, it’s not usually very efficient, and timelines stretch on (and on, and on, and on.)
A simple way to see the problem is that if there are five problems and five people, then each person gets a problem. The opposite approach would be five people work problem #1, then problem #2, etc. or split into two teams and divide and conquer. This is actually a big deal because when it comes to knowledge work or information products, people get bottlenecked all the time. It's rare to find the individual that has great project management skills, deep expertise on the problem, great marketing skills, great customer focus, great business sense, etc. But when you pair people or create focused mini-teams, magic happens.
The thing to keep in mind is that this is not about hiring more people, it's simply shifting the mix, and changing strategy in how the work gets done. It's SWARMing on the work, and building momentum, versus creating "One-Man Bands" with single points of failure.
There are exceptions to this, obviously, such as when it's "weird work" that's hard to streamline, or mature and optimize, or when you don't have the right mix of skills for even mini-teams. That said, if you have serious and significant bottlenecks, you might look at how the work gets done.
vTeams The majority of vTeam work that I see often fails. It fails when the work is not a priority. It fails when there are no rewards for people that contribute to the vTeam. It fails when the work is not valued. On the flip side, vTeams succeed when they find mutual goals. vTeams succeed when the work is a priority -- meaning, it's literally a commitment with a P0 or P1 priority rank.
One mistake I see is when people think that you can "buy" vTeam members. I've seen many, many vTeams where people's time was bought or paid for, and yet the work still didn't happen. It was not as high a priority as the person's day job, and it was a spare activity, that even though it was funded or paid for, they were not really committed where it counts. They were simply committed with dollars.
“Community Will Do It.” One way that people try to get work done is "Community Will Do It." There is a lot of truth in the saying, "You get what you pay for." Sure, the community will do it. They will do what they value, on their timeline, and what they are passionate about. You can't expect anything more. Well, you can, but at least don't be surprised when the work is not done the way you expected. After all, it was "best efforts."
A better approach than “Community Will Do It” is, “With the Community.” That’s the approach we used on the Microsoft patterns & practices team.
Matrix Projects Another common model that teams use to get work done is matrix projects. What I've seen this usually turn into, is a whole lot of status, and not a lot of results. The irony is, the matrix project turns into matrix spreadsheets and tracking. The overhead added per person, and for the team in general, creates a lot of below the line work, and very little above the line value. All the energy goes into coordination, updating, and tracking, and very little is left for working the tough problems, solving the key challenges, and flowing value. After all, now you have a collection of agendas that is more like a quilt, and less like a blanket. Sure there are exceptions. The funny thing is, though, I've never seen one.
How the Work Gets Done The moral of the story is that whenever I take on a job, or whenever I mentor somebody, or coach a team, I first find out, how does the work get done. Any time that there are serious and significant bottlenecks in the system, it's almost always a matter of how teams are structured and how work is planned and executed.
It's always a fertile ground for opportunities and optimization. So if you are bottlenecked or your team is bottlenecked or you just want to build high performance teams, look for ways to shift the mix.
You can always do a lot more with less, if you work smarter, not harder, and together, not alone, if you can put "just enough" systems and process in place to support smart people, versus break them, get in their way, or make their talent null and void.
In a world of “do more with less,” don’t be a victim. Be the hero when it comes to driving and dealing with what’s on your plate.
We’re all asked to do more with less, and everything was due yesterday. We all have more things to do than there is time in the day, and we are overloaded and overwhelmed.
What do you do when you don’t have the resources, budget, or capacity to do what you’re expected to do?
I posed this question to one of my seasoned mentors to get their take on dealing with this common scenario. Here is what they had to say:
It’s a simple formula, but it can help you think through how to either get what you need or get things off your plate with skill. Worst case, you expose the risks, and trade-offs, in a way that’s objective vs. mired in whining or complaining, or playing the victim.
Don’t be a victim. Be the hero. Teach others how to treat you.
A lot of people I know are either losing jobs, finding jobs, creating jobs, or changing jobs.
Others I know are looking for work-life balance, expanding their capabilities, figuring out how to work better with their boss, finding ways to use their strengths at work, and looking for ways to flourish while they master their craft. And others I know are spawning their own business or figuring out how to work online, or attempting to create six-figure second incomes to take away the threat of job loss, and to deal with a down economy (which may very well be the new normal … with a twist of irony where business growth means job decline.)
In a lot of ways, it’s a game of owning your destiny, plotting your path with your vision, mission, and values, driving from your life-style, and mastering self-efficacy, while adapting and responding to our ever-changing world.
I’ve put together a page to help:
The game is tough. Whether you are losing a job, finding a job, creating a job, or changing a job. It’s especially tough if you don’t have proven practices under your belt for everything from networking to building resumes to job searching to interviewing effectively. Even what appears to be simple transitions can be challenging if you can’t read the situations, build your network effectively, identify quick wins, and hit the ground running.
You might say that “making your way in the world today, takes everything you’ve got.”
To help my mentees, friends, family, colleagues, and more build their toolbox of proven practices for career development, I’ve significantly revamped my Career Books page. It’s a serious collection of the best books for career development, building your brand, choosing career paths, improving your workplace effectiveness, improving your energy and motivation, dealing with setbacks, finding jobs, improving your resume, improving your interview skills, surviving and thriving during change and transitions, and finding your work-life balance.
There is something in it for everyone. In fact, I’ve added new sections on topics like Artists at Work and Zen at Work. I’ve even added a section on Work Less, Achieve More. I’ve included my best books that really help you work less, while achieving more and flowing more value. There are many, many game changing strategies and tactics that you can instantly use to find your purpose, play to your strengths, get more things done, and get meaningful results.
I’ve also added a lot more books to really round out my career books collection. Some new additions to my career books include The 5 Patterns of Extraordinary Careers, by James Citrin and Richard Smith, The Six-Figure Second Income: How To Start and Grow A Successful Online Business Without Quitting Your Day Job, by David Lindahl and Jonathan Rozek, Refuse to Choose!: Use All of Your Interests, Passions, and Hobbies to Create the Life and Career of Your Dreams, by Barbara Sher, Getting Started in Consulting, by Alan Weiss, Case Interview Secrets: A Former McKinsey Interviewer Reveals How to Get Multiple Job Offers in Consulting, by Victor Cheng, The Google Resume: How to Prepare for a Career and Land a Job at Apple, Microsoft, Google, or any Top Tech Company, by Gayle Laakmann McDowell, Asher's Bible of Executive Resumes and How to Write Them, by Donald Asher, How to Click with People: The Secret to Better Relationships in Business and in Life, by Dr. Rick Kirshner, The Charge: Activating the 10 Human Drives That Make You Feel Alive, by Brendon Burchard, and many others.
I also expanded the Effectiveness section to include many of the books that have really made a difference for myself and others. For example, some of my favorites include, Mentored by a Millionaire, by Steven Scott, The First 90 Days, by Michael Watkins, The 80/20 Individual, by Richard Koch, and Positive Intelligence, by Shirzad Chamine.
My collection of great career books will give you a serious and significant edge when it comes to managing your career and finding your way forward. Check it out:
One of the most helpful things you can do when you are doing cross-group or cross-team work, or working across multiple projects, is to show and share a simple map. Here is an example:
When people can see the map, it’s a lot easier to follow the flow of work. It’s also easier to see intersections or common touch points. Most importantly, it’s easier to set expectations around what to expect, and what will be delivered when.
You Might Also Like
If there’s one book that I suggest as The Microsoft Career Survival Guide -- it’s The First 90 Days, by Michael Watkins. It’s a great book with extreme knowledge on how to survive and thrive in your job, especially during transitions. Transitions are always the toughest time because you have to adapt and acclimate fast to your new surroundings, and it can very quickly turn your world upside down.
The First 90 Days just might be THE leadership book and corporate career guide.
I’ve had eight manager changes in the last three years, which means I’ve had to learn success strategies and tactics to make the most of the changes. It’s been a great opportunity for me to put everything I learn into practice, and continue to learn from The First 90 Days.
One of the most important lessons I learned from The First 90 Days, is to focus on securing early wins. It sounds like common sense, but there is a big difference between knowing and doing. The credibility and air-cover that comes with delivering fast wins, early on, sets the stage for momentum and an upward spiral of success. The ability to execute and drive relevant wins early on also reflects your ability to understand what is valued, and how things get done. It forces you to learn the system quickly, from a people, process, and tools perspective. It helps you reveal the chessboard.
The people part is the most challenging, but the most important. You get things done with people, and The First 90 Days shows you how to understand the influence map, build coalitions, and build an effective advice-and-counsel network of technical advisers, cultural interpreters, and political counselors. The faster you can put this into place, the more effective you will be.
Since this is one of the most important books to have on your career shelf, I wrote a special book review to help share why this book is such an important asset:
It’s also one of the first books I always recommend to anybody that I mentor to help them get a firm foundation in how organizations really work, what really drives people, and how not to get blindsided or surprised … because what you don’t know can hurt you.
Enjoy, and best wishes on your career success.
The Change Patterns are a very fundamental set of strategies you can add to your Change Leadership toolkit.
I’m a fan of patterns. In their simplest form, they are a great way to build a shared vocabulary and rapidly transfer knowledge and experience. It’s a great thing when a single word is a handle for a concept and actually encapsulate a few hundred words. It makes talking about a space very efficient and effective, and rather than re-explaining ideas, you can build upward and onward, and move up the stack. You can think of patterns as labels for strategies.
One of my favorite collections of patterns is the Change Patterns collection. It’s a collection of patterns for driving change and introducing new ideas. Here is my write up:
Change Patterns: A Language for Introducing New Ideas
The Change Patterns are from the book, Fearless Change: Patterns for Introducing New Ideas, by Mary Lynn Manns and Linda Rising.
If you’ve ever struggled with driving innovation, adoption, and change, you’ll appreciate the patterns. Here are a few examples:
The power of the Change Patterns is that they are harvested from experts with real stories, real strategies, and real results. The patterns themselves are the distillation of that experience down into simple strategies with names.
One of the Change Patterns is Corporate Angel. According to Manns and Rising, the Corporate Angel pattern is “To help align the innovation with the goals of the organization, get support from a high-level executive.” Personally, I’ve made it a point to have a Corporate Angel on my toughest projects. It helps to get over some of the internal humps, blockades, and barriers, that you otherwise can’t, when things get stuck at the wrong level. It also helps give the project visibility, which can help remind people of the significance of the investment.
One of the things I’d like to do in the future is share my collection of change patterns at Microsoft, that I’ve learned over the years. As a Program Manager, I often need to drive change and influence without authority. This is especially true whenever I am driving projects. After all, a very fundamental question about a given project is, “How will the world be different when you are done?” Well, if nothing changes and nothing gets adopted, it won’t. So the challenge I always face is how to streamline adoption and change. I’ve learned a lot from the school of hard knocks.
Add the Change Patterns to your Change Leadership toolbox and amplify your impact and influence.
Want to read faster? What if you could read and think at extreme speeds? I wrote a post that reveals the program that I’ve used to exponentially improve my reading and thinking speeds. I’m back in the 1,000+ words per minute camp, and working towards 10,000 words per minute:
Even if you could read just a little faster, imagine how much time you get back each day, considering all the email and information you have to process each day. Imagine how much more time you get back if you can read 1,000 words a minute, or more. Imagine all the books you could read, how quickly you can clear you email, and how much easier you can stay on top of things.
There are a lot of reasons that hold people back from reading much faster than they ever thought possible. One of the main reasons is people just don’t’ know what they are capable of. Another reason is that people say their words in their throat, even when they are reading to themselves, and this is incredibly slow, compared to what our minds are capable of. Another reason is that we aren’t use to moving or using our eyes even close to what they are capable of.
In the post, I share the program I use and how it trains you to stop subvocalizing, how to scan and process information at extreme speeds, and how to retrain and build your eyes to go much faster than they are used to.
This is one of the ultimate secret weapons in your toolbox for gaining more time, keeping your email inbox clear, and learning at a much faster rate, than people are used to.
Check out How To Read 10,000 Words Per Minute. Even if you don’t get the program, you can at least see how the mechanics work, and you can better appreciate how you can exponentially improve your own reading speeds and ability to think and process much faster.
This is truly one of the ultimate personal development tools that pays back every single day (assuming that you have to read and process information each day.)
One of the most common things I get asked, wherever I go is, “What were the team roles and responsibilities on your Microsoft patterns & practices project teams?”
Effectively, there were a set of repeatable roles that people signed up for, or covered in some way. In this case, a role is simply a logical collection of tasks. The role is the label for that collection of tasks.
As an Agile bunch, we were self-organizing. In practice, what that means is the team defined the roles and responsibilities at project kickoff. As the project progressed, people would shuffle around responsibilities among the team, to produce the best output, and to find ways to get people spending more time in their strengths, or learning new skills. It's all about owning your executing, playing well with others, and making the most of the talent you have at hand.
Here is a simple list of the team roles and responsibilities each team generally had to cover:
Roles Architect Lead Writer Developer Development Lead Product Manager Program Manager Test Test Lead Subject Matter Expert
Responsibilities Architecture and Design Budget Business Investment Collateral (screen casts, blogs, decks, demo scripts) Content structure Customer connection Design Quality Development Evangelism (screen casts, web presence, road shows, conferences, customer briefings, press & analysts) Feedback Product Group Alignment Product Planning Project Planning Quality (technical accuracy, consumability, readability) Release Requirements Scope Schedule Simplicity Support / Sustained-Engineering Team and People Test execution Test planning Usability
I heard a beautiful nugget on the art of simplicity the other day. It was about reducing complexity, cost, and time. Or, to put it another way, it makes a great case for simplicity.
Why focus on simplicity?
To reduce complexity.
Why reduce complexity?
It’s the key to reducing cost and time.
What a great way to connect the dots.
Aside from improving adoption, if you focus on simplicity, it’s a very real way to improve time to market and cost of goods, and in the end, elegance.
The big win for me with simplicity is the ability to improve things, whether it’s a process or a product. If you’ve ever had to deal with a beast of either one, you can appreciate what I mean. My first goal in taking on something is to drive for simplicity so that it has a fighting chance to improve over time.
Complexity dies, where simplicity thrives.
I have a new cover for my book, Getting Results the Agile Way. Getting Results the Agile Way introduces Agile Results, a simple system for meaningful results.
The purpose of the book is to share the best insights and actions for mastering productivity, time management, motivation, and work-life balance. In fact, I’ve been doing several talks around Microsoft on work-life balance, and helping teams improve their results.
It’s the best way I can give the edge to my Microsoft tribe, as well as share the principles, patterns, and practices for getting results with the rest of the world.
The new cover better reflects the values of Agile Results: Adventure, Balance, Congruence, Continuous learning, Empowerment, Focus, Flexibility, Fulfillment, Growth, Passion, Simplicity, and Sustainability. Specifically, the cover reflects simplicity, focus, continuous learning, and flexibility. Hopefully, the simplicity is obvious. The new cover is pretty bare-bones. It’s clean, while, minimal, and features a symbol. In this case, the symbol is a variation of an Enso. Intuitively, it simply implies a loop. But if you happen to know the Enso, it’s also a symbol of enlightenment. The beauty of a symbol is you can make it be what you want it to be to be meaningful for you (for me, it’s continuous learning and growth.)
Getting Results the Agile Way is serious stuff. Doctors, lawyers, teachers, students, Moms, restaurant owners, consultants, developers, project managers, team leaders, and more have been using the approach to do more with less, flow more value, and find work-life balance, while improving their thoughts, feelings, and actions to make the most of what they’ve got.
The system scales down to the one-man band (after all, it is a “personal” results system for work and life), and it scales up to teams. It’s the same approach I’ve used to lead distributed teams around the world for more than ten years.
Here is the back of the book which gives a quick overview of the system:
The new cover will likely be available this October, so if you are a fan of the current blue cover, scoop it up now, while it lasts (maybe it will be a collector’s item some day.)
Glenn Watt, Senior Editor of Time Management Magazine, tells me that the first edition of Time Management Magazine will feature an article on Agile Results. Here is the press release:
JD Meier Article in the First Special Free Issue of Time Management Magazine
The first issue will be available September 23rd. The second issue will be available Oct 28th.
As you may know, I’m a fan of time management. Time is all we’ve got, and I think one of the best skills we can learn in live is how to spend our time on the right things, the right way, with the right energy. That’s the stuff that meaning, legacy, and impact are born from.
So I’m looking forward to the first edition of Time Management Magazine, and I’ll curious to see what sorts of frameworks, methodologies, tools, systems, principles, patterns, and practices get a focus.
I know a lot of people inside and outside of Microsoft working on their books. In fact, I’m helping a few people birth their books, and ultimately produce what they hope to be bestsellers. My book, Getting Results the Agile Way has been in the top 100 on Amazon in the Time Management category. (In fact, it’s been in the top 5, and it’s been #1 in some countries such as Germany.)
I want to help self-published authors around the world make the most of their effort and get a fighting chance at taking their book to the top on Amazon.
Here’s the surprise …
I have the honor and privilege of hosting a guest post by Gary Lindberg, author of THE SHEKINAH LEGACY. THE SHEKINAH LEGACY is a genuine Amazon bestselling thriller. In fact, for over a week it was the most popular Kindle thriller on Amazon.
Here is Gary’s story:
Lessons Learned from a Bestselling Self-Published Author
I asked Gary if he would share his best lessons learned on how to publish a best-selling book as a self-published author. I thought it would be great to give self-published authors an edge in taking their book to the top. I’m a fan of helping people that put in the work, get the results. And I believe that if you know some of the key success strategies that you amplify your impact.
Whether you are an author, or aspiring author, or hope to publish a best-selling book, you can leverage and learn from Gary’s experience as a bestselling author. Gary has some fantastic insight and it’s very actionable. In fact, if you read his story, I bet it will instantly and forever change how you think about covers and cover design for Amazon.
BTW – Gary is not just a best-selling author, he is also a film producer and director, with over one hundred major national and international awards under his belt. Gary is also the co-writer and producer of the Paramount Pictures feature film That Was Then, This Is Now starring Emilio Estevez and Morgan Freeman.