The architectural design of a system serves as a bridge between requirements and implementation. This course examines the role of architectural design in the system development lifecycle and reviews underlying principles, concepts and methodologies. Topics include: architectural representation, desirable qualities of a software architecture, the role of architecture in managing risk, common architectural frameworks, object-oriented approaches, the impact of commercial off-the-shelf products (COTS) and standards, and how & where architectural design fits in an iterative software development lifecycle, such as the Rational Unified Process (RUP).
Duration: 2-3 days. Best combined with an architectural assessment.
Course also offered through SPC; see http://www.spcspringboard.com/catalogue/kruchten/architecture.htm
A software development process is not just for software developers. Product mangers, customers, analysts, managers, quality specialist, programmers, testers, etc. need to be able to communicate. In order to be effective in their respective roles, all participants in a software development project that uses RUP need to understand the key elements of this process: the underlying principles the terminology, its lifecycle.
Duration: 1 or 2 days.
There is a wealth of information available on project management. But unfortunately, we have come to realize that only a small fraction applies to software project management.
This course is about new practices and new ideas project managers ought to consider making their software development projects succeed. What makes software different in project management? Why did the traditional approaches to project management used in other industries fail in software endeavours? This course will include a critique of the "thermostat model" of management, of WBS (Work Breakdown Structure), Gantt and PERT charts, and much of the common wisdom represented in the PMBOK (Project Management Body of Knowledge), for example. We will look at how a new breed of techniques and tools are emerging, more suited to software development, with iterative development and agile methods: XP, Scrum, Lean Development, Adaptive development, RUP, and how to reconcile the new with the old.
Audience: For new software project managers; for project managers transitioning from more traditional approaches, or with little experience in software projects.
Duration: 2 to 3 days.
Course also offered through SoftEd; see http://www.softed.com/Courses/spm.aspx
The UML (Unified Modeling Language) has become a lingua franca for the graphical representation of software design. This course covers the major concepts of UML and the main types of diagrams: class diagrams, sequence diagrams, statecharts, activity diagrams, etc. This is not a course on object-oriented design, but only on the use of UML to represent designs. See our handy UML reference card (link).
Audience: For software developers
Duration: 1/2 day.
Course offered through Springboard; see http://www.spcspringboard.com/catalogue/kruchten/umlquickstart.htm