Subscribe to Methods & Tools
if you are not afraid to read more than one page to be a smarter software developer, software tester or project manager!
Software Development Blogs: Programming, Software Testing, Agile Project Management
Subscribe to Methods & Tools
if you are not afraid to read more than one page to be a smarter software developer, software tester or project manager!
If you just have a long list of tasks in Microsoft Outlook, then it wonât help you focus on immediate actions. The key is to organize your tasks in Microsoft Outlook by priorities.
The challenge is that the first thing youâll most likely want to do is sort by a custom priority.
While itâs not very complicated, it can be incredibly frustrating if you just want a simple task list that sorts by your custom priorities, and you donât know the precise steps to make that happen.
Letâs do it.
If you do want to use Microsoft Outlook for tasks, hereâs the trick to making it more useful:
Here it is visually âŠ
This is just a simple set of tasks in Microsoft Outlook, nothing fancy, so we keep our focus on the key thing â a list of tasks organized by priorities with a start date.
When you right-click on the fields, you can click the âField Chooserâ, and then click âNew âŠâ to create a âNew Column.â
To group your tasks by your new custom priority field, you can again, right-click the fields at the top of the Tasks, but this time, click âView Settings.â From there, click âGroup By âŠâ and then change âSelect available fields fromâ to be set to âUser-defined fields in folder.â This will then let you set the âGroup items byâ option to your new custom priority field (âPriâ in my example above.)
Remember, the key to effective task management isnât managing your tasks. Itâs actually doing the most important tasks that achieve your goals, at the right time, in an efficient and effective way.
You Might Also LikeAgile Results: It Works for Teams and Leaders Too

If any of these items interest you there's a full description of each sponsor below. Please click to read more...
I was helping a mentee take a new view on their business, so they could transform their business to compete in a new arena. Here are the 7 ways I outlined for them to get a better view on their business to shape significant change:
If you can answer those without a lot of work â congrats!
The above lens gives you quick insight and a critical view into the customer, the value you provide, the cost, and the capabilities you can use to drive meaningful change and transformation.
To put that into context and apply it, when business leaders look to shape a business, they tend to look at the capabilities. They want to know whatâs unique and whatâs redundant. If you canât differentiate at your capabilities, then you have a problem articulating your unique value.
Capabilities help give you a simple language for talking about value and unique strengths. They are also a business tool for consolidating and improving efficiencies by maturing or outsourcing capabilities.
Use them wisely.
Now that we have the C10K concurrent connection problem licked, how do we level up and support 10 million concurrent connections? Impossible you say. Nope, systems right now are delivering 10 million concurrent connections using techniques that are as radical as they may be unfamiliar.
To learn how it’s done we turn to Robert Graham, CEO of Errata Security, and his absolutely fantastic talk at Shmoocon 2013 called C10M Defending The Internet At Scale.
Robert has a brilliant way of framing the problem that I’ve never heard of before. He starts with a little bit of history, relating how Unix wasn’t originally designed to be a general server OS, it was designed to be a control system for a telephone network. It was the telephone network that actually transported the data so there was a clean separation between the control plane and the data plane. The problem is we now use Unix servers as part of the data plane, which we shouldn’t do at all. If we were designing a kernel for handling one application per server we would design it very differently than for a multi-user kernel.
Which is why he says the key is to understand:
The kernel isn’t the solution. The kernel is the problem.
Which means:
Don’t let the kernel do all the heavy lifting. Take packet handling, memory management, and processor scheduling out of the kernel and put it into the application, where it can be done efficiently. Let Linux handle the control plane and let the the application handle the data plane.
The result will be a system that can handle 10 million concurrent connections with 200 clock cycles for packet handling and 1400 hundred clock cycles for application logic. As a main memory access costs 300 clock cycles it’s key to design in way that minimizes code and cache misses.
With a data plane oriented system you can process 10 million packets per second. With a control plane oriented system you only get 1 million packets per second.
If this seems extreme keep in mind the old saying: scalability is specialization. To do something great you can’t outsource performance to the OS. You have to do it yourself.
Now, let’s learn how Robert creates a system capable of handling 10 million concurrent connections...
Hey, it's HighScalability time:

Don't miss all that the Internet has to say on Scalability, click below and become eventually consistent with all scalability knowledge...
For those conference goers out there I wanted to let you all know that I will be at a few US based conferences this year. There may be a few more later in the year but this is what I know for now.
Like many others, I have really enjoyed discussing EA topics, debating the latest trends and frankly, learning from you. Earlier this year I had a great time talking to many of you at the Troux World Conference. Thatâs the real highlight for me.
If you are attending the event listed below and want to have a meet up please direct message me on Twitter @mikejwalker.
Here are the events Iâll be at for the next few months:
I will be presenting at the Open Group Conference but not at HP Discover (missed the submission window!) and Gartner.
Again, looking forward to seeing you!
As Enterprise Architects we drive to maximize value in our companies. With most EA teams residing within an IT area under a CIO we can find ourselves bogged down by the technology weighing down on decisions. The challenge with that is one of context. Without understanding âWhyâ we are solving a problem will most certainly inhibit the value in which is achieved.
So the question is, do we really know our business before we make architecture decisions? What tools do we use or donât use to understand the business model?
I was happy to see Alexander Osterwalder publish on the Harvard Business Review blog a post titled, âA Better Way to Think About Your Business Modelâ. Certainly take a look at this. His post provides some high-level information on why itâs important to use the model. If you find value in the model as I do, you will want to pick up his book, Business Model Generation. Personally I like the hard copy best given itâs so visual. There is also an iPad app that you can get that works really well too. You can find it in the Apple App Store here: https://itunes.apple.com/us/app/business-model-toolbox/id431605371?mt=8Â
As I eluded to above, I have found a lot of value in this tool. It is one that I've been using for quite some time now. Itâs a brilliant model that helps you dissect what your business is. The data itself isnât rocket science. Itâs the conversation that it triggers which drives the value. I often apply this in workshop like sessions rather than one off data collecting exercises.
Â
Â
WARNING: While it can allude to, the Business Model Canvas does not tell you why your business has been built in the fashion it has. This is within strategy oriented methods and models.
The business model canvas can really help you to understand your business. What is nice about it is that the questions can be applied at multiple levels. You can apply it at a corporate level or apply it to a business unit.
As an example of this, I applied it to an already established enterprise architecture organization. I used the model to assess the organization on its âhealthâ. Asking those business oriented questions forces us to think as if we were a business unit, and thatâs not a bad thing. The results were quite amazing because it got the right level of conversation and thinking going to evolve the overall value proposition.
Â
About the Business Model Canvas
If your not familiar with the Business Model Canvas below is a two minute overview of the Business Model Canvas, a tool for visionaries, game changers, and challengers. The business model canvas â as opposed to the traditional, intricate business plan â helps organizations conduct structured, tangible, and strategic conversations around new businesses or existing ones. Leading global companies like GE, P&G, and NestlĂ© use the canvas to manage strategy or create new growth engines, while start-ups use it in their search for the right business model. The canvas's main objective is to help companies move beyond product-centric thinking and towards business model thinking.
Â
Â
Find out more at http://www.businessmodelgeneration.com
Beautiful.
In a new digital economy and a world of ultra-competition, itâs great to shape a smart organization.
We learned this long ago. Agile was part of the early Microsoft patterns & practices DNA. We embraced agile methods and agile management practices.
We learned that execution is king, and that shipping early and often gives you better feedback and a way to make changes in a customer-connected way.
Here is what Gartner says âŠ
âAccepting higher project failure rates can help organizations become more efficient more quickly, according to Gartner, Inc. Gartner said project and portfolio management (PPM) leaders who take a "fail-forward-fast" approach that accepts project failure rates of 20 to 28 percent as the norm will help their organizations become more agile by embracing experimentation and enabling the declaration of success or failure earlier in a project's life.â
Check out the article, Gartner Says Smart Organizations Will Embrace Fast and Frequent Project Failure in Their Quest for Agility.

This is an email interview with Viktor Klang, Director of Engineering at Typesafe, on the Scala Futures model & Akka, both topics on which is he is immensely passionate and knowledgeable.
How do you structure your application? That’s the question I explored in the article Beyond Threads And Callbacks. An option I did not talk about, mostly because of my own ignorance, is a powerful stack you may not be all that familiar with: Scala and Akka.
To remedy my oversight is our acting tour guide, Typesafe’s Viktor Klang, long time Scala hacker and Java enterprise systems architect. Viktor was very patient in answering my questions and was enthusiastic about sharing his knowledge. He’s a guy who definitely knows what he is talking about.
I’ve implemented several Actor systems along with the messaging infrastructure, threading, async IO, service orchestration, failover, etc, so I’m innately skeptical about frameworks that remove control from the programmer at the cost of latency.
So at the end of the interview am I ready to drink the koolaid? Not quite, but I’ll have a cup of coffee with the idea.
I came to think of Scala + Akka as a kind of a IaaS for your process architecture. Toss in Play for the web framework and you have a slick stack, with far more out of the box power than Go, Node, or plaino jaino Java.
The build or buy decision is surprisingly similar to every other infrastructure decision you make. Should you use a cloud or build your own? It’s the same sort of calculation you need to go through when deciding on your process architecture. While at the extremes you lose functionality and flexibility, but since they’ve already thought of most everything you would need to think about, with examples, and support, you gain a tremendous amount too. Traditionally, however, processes architecture has been entirely ad-hoc. That may be changing.
Now, let’s start the interview with Viktor...
I read one of these poignantly humorous comics on Not Invented Here a while back and since I wasn't sure it was OK to repost I emailed asking for permission. Nada. Then I saw Martijn de Vrieze posted a collection of scalability comics from NIH and decided what the heck (click image to read on site):
Thanks to Martijn for curating the collection and NIH for creating them.
And I agree with Martijn, they do capture an ineffable quality about the entire space.
In PM Network magazine, Jesse Fewell wrote a great article on Agile Downsizing? Why Agile Skills Improve a Project Managerâs Job Security.
Here are a few highlights:
âAgile wasnât designed to improve the bottom line like that, but itâs a misconception that has some project managers worrying whether a move to âself-organizingâ teams would make their position redundant. Even more concerning, many of the formal approaches, such as Scrum or Kanban, do not define a project manager role.â
Project managers are in higher demand than ever. Fewell writes:
âPMI research shows the use of agile approaches tripled from December 2008 to May 2011, and 63 percent of hiring managers would encourage their project managers to pursue agile certification.â
Itâs not doing more with less.
Fewell shares a few skills that project leaders with agile experience can show on their resume:
Delegating more work â âDo you have a bent for process and facilitation? Then create that well-oiled machine and groom an analyst to manage the business. The most successful project managers Iâve met have focused on their strengths, and found capable hands for the rest of the work.â
Leading more â âAgile approaches place a dogged focus on delivering business results by improving collaboration. Once youâve delegated the daily minutiae to the project team, you can invest in more strategic relationships.â
Driving more improvement â â⊠if youâve equipped and trusted your team to handle the details and youâve improved collaboration with stakeholders, then you finally have the energy and influence to brainstorm solutions to that quality problem, stabilize a more reliable delivery cycle than last year, or launch a product-strategy working group to mend some broken fences and get everyone on the same page.â
The key take away is this:
âThe project manager with agile skills has evolved past a positional title babysitting details. The new role is about building the capability of your teams, partnering with senior stakeholders and driving incremental improvements across the board.â
You Might Also Like:
10 Ways to Make Agile Design More Effective
Agile Methodology in Microsoft patterns & practices
The Art of the Agile Retrospective
Thatâs a pretty good question, and timeless, too.
I remember several years ago, when a vendor asked me that, and I remember laughing and thinking, âyeah, thatâs what we try to show other people how to do.â
What was great though, was the vendor followed up with a short-list of precise questions:
Thatâs actually a really good set of questions both to quickly get a handle on your software development process and to test how âagileâ you really are.
It also reveals your culture and how responsive to change and feedback you really are.
You Might Also Like
10 Ways to Make Agile Design More Effective
Agile Methodology in Microsoft patterns & practices
The Art of the Agile Retrospective
The key shift with Agile Design is to deliver quickly while handling changes smoothly. Instead of doing long requirements phases, and heavy documentation up front, with Agile Design you focus on incremental and iterative delivery, going from low-fidelity to high-fidelity, while getting feedback and improving your design.
Here are 10 ways to make Agile Design more effective:
The last thing you want to do is throw a solution over the wall, and nobody wants it, or you missed the basic scenarios. Thatâs why delivering early helps get the risk out, and helps validate your path.
If youâve ever watched people argue over how they âsatisfied the requirementsâ, but nobody wants to use it, you know exactly what I mean. People donât always know exactly what they want, or, even if they do, itâs hard to articulate in a way, that everybody gets it. But people are way better at recognizing what they like, and knowing whether or not they like something when they actually use it.
Embrace it.
Thatâs what Agile Design does â it embraces the reality that people get more clarity over time of what good really looks like.
Creating an early feedback loop also forces you to keep your solution easy to maintain and easy to evolve. Otherwise, itâs very easy to cement your design, and no longer respond to emerging needs. The key to lasting solutions is they are built to change.
Itâs a process of continuous learning and continuous delivery.

One of my mentees was looking for ways to grow her prowess in âInspiring a Vision.â
Here are some of the ways I shared with her so far:
The key with vision is, when possible â
And, a powerful tool we use at Microsoft is a Vision / Scope document.
Sometimes the best way to do something well, is to know what to avoid. In Ex-Windows Boss Steve Sinofsky: Here's Why I Use An iPhone, Nicholas Carlson shares some tips from Steve Sinofsky on analyzing the competition:
Sinofsky elaborates, and says to use the product deep, and use it over time. Use the product like it was intended by the designers. Wrap yourself around the culture, constraints, resources, and more of a competitor. And, don't take a static view of the world -- the competitor can always update their product based on feedback, or weaknesses you call out.
Iâm a fan of anticipating the future, and creating the future. Even speculation helps dream up whatâs possible, and be ready for anything, when it happens. And if you balance that with key trends, you can really stay on top of things.
After all, whatâs The Art of the Long View teach us? While we canât predict the future, we can better prepare for it by playing out the âwhat ifâ scenarios and possibilities.
With that in mind, I did a search on Microsoft secret stuff, and found some interesting things. After all, Microsoft spends more on R&D than Google and Apple combined.
Here are some of the more interesting articles I found:
Here are my key take aways âŠ
Kinect Stuff
Touch and Touch Screens
More âŠ
What neat stuff do you see Microsoft working on?
How do you create career opportunities? You reinvent yourself.
While you can always hope for things to land in your lap, there are specific patterns I see successful people do. Among those that continuously create the best career opportunities, here are the key success patterns:
If youâre wondering where the best career opportunities are, sometimes itâs the job youâve already got, sometimes you have to go find them, and sometimes, you have to make them.
Hey, it's HighScalability time:

Don't miss all that the Internet has to say on Scalability, click below and become eventually consistent with all scalability knowledge...
Iâm excited to announce the release of WebMatrix 3. WebMatrix is a free, lightweight web development tool we first introduced in 2010, and which provides a great, focused web development experience for ASP.NET, PHP, and Node.js.
Todayâs release includes a ton of great new features. You can easily get started by downloading it, and watching an introduction video:
Some of the highlights of todayâs release include deep Windows Azure integration, source control tooling for Git and TFS, and a new remote editing experience.
Windows Azure IntegrationWith WebMatrix 3, we are making it really easy to move to the cloud.
The first time you launch WebMatrix 3, thereâs an option to sign into Windows Azure. You can sign in using the same credentials you use with the Windows Azure Management Portal:
Once you are signed-in your Windows Azure account and subscriptions are integrated directly within WebMatrix. You have the option to create up to 10 free sites on Windows Azure:
You can use the My Sitesâbutton to browse and edit the web sites you already have hosted on Windows Azure. You can also use the New button to directly create and host new web sites on Windows Azure â and create either a blank new site, or a site created from the Windows Azure Web App Gallery (which lets you start with templates like Umbraco, WordPress, Drupal, etc):
In this case weâll create a new web site using the popular Umbraco CMS solution â one of the templates in the Windows Azure Web Site Gallery:
When you select this template, WebMatrix can help you create a new Web Site to host it on Windows Azure, and associate all of the publishing information you need to publish it and keep it in sync with your editing environment within WebMatrix:
Once created you get a tailored experience within WebMatrix that provides integrated Umbraco (or WordPress or Drupal, etc) editing functionality inside the tool:
And WebMatrix provides the ability to open/edit any appropriate files in it with editing/ and code intellisense support:
And when you are done you can one-click publish the site to Windows Azure using the Publish command in top left of the tool. WebMatrix will provide real-time feedback as it uploads and publishes the site:
The end result is a simple, fast and super effective way to edit your sites locally and host and manage them in Windows Azure.
Watch this great video as Eric build a site with WebMatrix 3 and deploys it to Windows Azure.
Source Control with Git and TFSOne of the most requested features in WebMatrix 2 was support for version control. WebMatrix 3 now supports both Git and TFS. The source control experience is extensible, and weâve worked with several partners to include rich support for Team Foundation Service, CodePlex and GitHub:
The Git tooling works with your current source repositories, configuration, and existing tools. The experience includes support for commits, branching, multiple remotes, and works great for publishing Web Sites to Windows Azure:
The TFS experience is focused on making common source control tasks easy. It matches up well with Team Foundation Service, our hosted TFS solution that provides free private Git and TFS repositories.
Watch these great videos of Justin giving a tour of the Git and TFS integration in WebMatrix 3
Remote EditingIn WebMatrix 2, we added the ability to open your Web Site directly from the Windows Azure Management Portal. With WebMatrix 3, weâve rounded out that experience by providing an amazing developer experience for live remote editing of your sites. The new My Sites gallery now allows you to open existing web sites on your local machine, or to remotely edit sites that are hosted in Windows Azure:
While working with the remote site, IntelliSense and the other tools work as though the site was on your local machine. But when you save changes it pushes them directly to the remote hosted site. This makes it ideal for when you want to make quick changes in a hurry.
If you want to work with the site locally, you can click the âdownloadâ button to install and configure any runtime dependencies, and work with the site on your machine:
Watch this video of Thao showing you how to edit your live site on Windows Azure using WebMatrix 3
SummaryWebMatrix 3 includes a seamless experience for working with sites in Windows Azure, source control support for working with Git and TFS, and a vastly improved remote editing experience. These are just a few of the hundreds of improvements throughout the application, including an extension for PHP validation and Typescript support.
You can easily get started with WebMatrix by downloading it for free, and watching an introduction video about it:
We look forward to seeing what you build with the new release!
Hope this helps,
Scott
P.S. In addition to blogging, I am also now using Twitter for quick updates and to share links. Follow me at: twitter.com/scottgu