Design is the least expensive component of the software implementation cycle.  In most CS departments and for most corporations, design often is thrown aside to get things done.  Perhaps you work at a company that respects the design process, but for most of us it is the “triple constraint” or the Project management Triangle.  It’s how we live and keep our jobs.  Ok, I don’t have to worry about the quality stuff when writing my blog, but just between the two of us, just ignore that.

How do we build a new way of doing development?  Now it appears that Design is a critical to success.  Stealing from the URL:

http://msdn.microsoft.com/en-us/library/windows/apps/xaml/BR229566(v=win.10).aspx, we come up with the potential Work Breakdown Structure

Your WBS might look like this:

  1. Task: UI Design
    • Subtask: resources
    • Subtask: user interactions
    • Subtask:
  2. Task: Data and Files
  3. Task: Apps
    • Subtask: launch
    • Subtask: multimedia
    • Subtask: connections to peers, web and network
    • Subtask: User info management
    • Subtask: resume
  4. Devices
    • Subtask: devices
    • Subtask: printers
    • Subtask: sensors
  5. Task: WinRT components (Note: These are DLLs)
  6. Task: Globalization

On my blog: http://blogs.msdn.com/socal-sam I will post a project planning sheet using MS Project to demonstrate a possible Project worksheet.  You can make fun of it in the comments.

The learning process is similar to the project plan, so here are links to the way to learn about the Metro Style App Design process:

Steps to developing Metro style apps

  1. Create a UI

    Learn how to create a user interface for your app.

  2. Define app resources

    Learn how to define your app's resources to improve maintainability and localization.

  3. Respond to user interaction

    Learn how to respond to touch, keyboard, mouse, and ink.

  4. Work with data and files

    Learn how to bind data, read, write, and save to files, as well as how to manipulate XML data.

  5. Connect to peers, web and network services

    Learn how to create connected apps. A connected, or network-aware app, can use the network for a variety of purposes including RSS feeds, games, and to interact with nearby devices.

  6. Manage user info

    Learn how to use roaming credentials, how to authenticate users with Live Services, and how to set up single sign-on.

  7. Launch and resume apps

    Learn how to launch, suspend, and resume your app while keeping app data safe and fresh.

  8. Add multimedia

    Learn how to capture multimedia, play audio and video, process image files, share or stream media, and transcode multimedia.

  9. Integrate devices, printers, and sensors

    Learn how to support devices like printers, cameras, sensors, removable storage, and more. You can also learn how to choose the right motion and orientation sensor for your game, how to use a light sensor to adjust screen brightness, and how to detect a user's geographic location.

  10. Create Windows Runtime Components

    Learn about creating components (essentially DLLs) in C++, C#, or Visual Basic, and call into them in a simple and natural way from a Metro style app using JavaScript.

  11. Globalize your app

    Learn how to use tools to debug and test your app.