If you’re interested in avoiding Steve McConnell’s 36+7 classic mistakes of project management in your projects, I have just the course for you. Besides being a straight-perfectly evaluated course, this is just what new team leads need.
Combining enough project management philosophy with practical design techniques, attendees learn how to do project planning, and why the plan is never “done”; what kind of testing is appropriate for which project, and when each kind should occur; what it means to actually go into production and how to manage multiple versions of a software effort concurrently; how to use certain simple design techniques to enable outsourcing non-core elements of the project and how to manage those efforts; and more.
While this course won’t magically give you the experience you need to manage multi-million dollar projects, it will keep you from making those costly mistakes that can derail your project or even your career.
The course opens this July 29th at MediaTech in Haifa. Contact Belle for registration - via email Bell@mediatech.co.il, or phone 04-881-3332.
If you’re interested in having me come to your company and provide this training on-site, that option is available as well. Just send me an email to TeamLeadCourse@UdiDahan.com and we’ll work something out.
The course is based on Microsoft’s “Analyzing Requirements and Defining Microsoft .NET Solution Architectures” course number 2710 and as such counts towards your MCAD/MCSD - were you interested in certification.
Here’s the syllabus:
Module 1: Introduction to Designing Business Solutions
§ Overview of Microsoft Solutions Framework
§ Phases in the MSF Process Model
§ Introducing the Case Study—Adventure Works Cycles Application
Module 2: Gathering and Analyzing Information
§ Using Modeling Notations
§ Gathering Information
§ Analyzing Information
§ Creating Use Cases and Usage Scenarios
Module 3: Envisioning the Solution
§ The Envisioning Phase
§ Creating a Vision/Scope Document
§ Creating the Project Structure Document
§ Analyzing Risks
Module 4: Creating the Conceptual Design
§ An Introduction to the Planning Phase
§ An Overview of the Functional Specification
§ An Overview of the Conceptual Design Process
§ Building the Conceptual Design
§ Optimizing the Conceptual Design
Module 5: Creating the Logical Design
§ An Overview of Logical Design
§ Creating a Logical Design
§ Documenting Logical Design Output
§ Optimizing Logical Design
Module 6: Creating the Physical Design
§ An Overview of Physical Design
§ Physical Design Analysis
§ Physical Design Rationalization
§ Physical Design Implementation
Module 7: Designing the Presentation Layer
§ Basics of User Interface Design
§ Designing the User Interface
§ Designing User Process Components
Module 8: Designing the Data Layer
§ Designing the Data Store
§ Optimizing Data Access
§ Implementing Data Validation
Module 9: Designing Security Specifications
§ Overview of Security in Application Development
§ Planning for Application Security
§ Using the .NET Framework Security Features
§ Designing Authorization, Authentication, and Auditing Strategies
Module 10: Completing the Planning Phase
§ Incorporating Design Considerations
§ Planning for Administrative Features
§ Planning for Future Phases
§ Creating the Technical Specifications
Module 11: Stabilizing and Deploying the Solution
§ The MSF Stabilizing Phase
§ Testing and Piloting for Stabilization
§ The MSF Deploying Phase
§ Deploying to a Production Environment
My good friends Eyal Vardi and Ohad Israeli, the guys behind Experts 4D are putting together one heck of a conference this July in Israel: R U Ready 2008.
Although the timetable isn’t set in stone yet, I’m going to be doing a full day course on July 2nd, so mark your calendars. The official link is here, but I’ve got the full information below. Here’s the registration page.
By the way, if you’re interested in having me give this course to your team, give me a shout.
Course Description:
Designing large-scale distributed systems is hard. New technologies make it easier to comply with today’s communications and security standards, but don’t auto-magically give you a robust and scalable system. Join Udi for a day packed with the wisdom of companies like SUN, Amazon, and EBay. Tried-and-true theories and fallacies will be shown, keeping you from making those same costly mistakes today. Communications patterns like publish/subscribe and correlated one-way request/response will be used in conjunction with advanced object-oriented state management practices for long-running workflows. If you enjoy deep architectural discussion, if you are in charge of building a large-scale distributed system, if you want to know more about how the big guys run their systems, this day is for you.
Course Content:
Module 1: Distributed Systems Theory
Decades of distributed systems development have taught us many lessons. In this module we’ll cover many historical mistakes as well as proven best practices for scalable and robust design. Topics include:
- 8 fallacies of distributed systems
- Transactions
Module 2: Identifying Coupling in Distributed Systems
Loose coupling has become the watchword of complex systems development, yet few understand its multiple dimensions. In the module we’ll be covering the three different dimensions of coupling as well as patterns for dealing with them.
- Platform Coupling – XML/SOAP
- Temporal Coupling – Synchronous/Asynchronous
- Spatial Coupling – Endpoints/Topics
Module 3: Asynchronous Messaging Patterns
Although scalability is achieved through the use of asynchronous message passing, more advanced message exchange patterns are required to handle today’s complex integration scenarios. This module will cover the most commonly used patterns:
- One way
- Correlated Request/Response
- Publish/Subscribe
Module 4: Bus and Broker Architectural Styles
Enterprise Service Buses are all the rage these days. In this module we’ll be covering what’s the difference between the Bus architectural style, and the more well-known Broker, found commonly in many EAI projects. Topics will include:
- Architectural advantages and disadvantages
- Technological advantages and disadvantages
Module 5: Long running work flows
The distributed communications patterns wouldn’t be complete without a discussion on orchestration. In this module we’ll see how to manage the state of long-running distributed communication flows as well as:
- How to encapsulate work flow logic
- Advantages and disadvantages of orchestration
If you’re interested in the full 2-day course which includes SOA topics, check it out. Advanced Distributed Systems Design with SOA - learn from the mistakes of others, succeed in your SOA project.