Developer to Architect

Interested in learning what the role of a software architect entails and why it is so crucial to your organization's success? By the end of this course you will have a thorough understanding of the skills, knowledge, and duties required to become a successful and effective software architect.
Course info
Rating
(783)
Level
Intermediate
Updated
Oct 23, 2013
Duration
2h 41m
Table of contents
Description
Course info
Rating
(783)
Level
Intermediate
Updated
Oct 23, 2013
Duration
2h 41m
Description

Are you a developer transitioning into the role of software architect? Are you a developer who has aspirations of becoming software architect? Are you already a software architect but eager to learn more about your craft? In this course you will learn what the role of a software architect entails and why it is so crucial to your organization's success. You will learn about the skills and knowledge needed to be an effective software architect and about the duties performed during each phase of the project life cycle. Lastly you will learn one of the most important aspect of being a software architect: how to design and communicate a solution to both technical and non-technical stakeholders. This course is your roadmap to becoming a capable and successful software architect.

About the author
About the author

Chris Simmons is a 20+ year veteran software architect & developer with experience across multiple platforms, industries, and technologies. He specializes in Microsoft.NET web technologies and IBM iSeries systems integration. Chris is presently employed as a software architect at a Colorado based software products and solutions provider.

Section Introduction Transcripts
Section Introduction Transcripts

The Software Architect's Role in the Enterprise
Hello. This is Chris Simmons with Pluralsight and this is the Course Developer to Architect. This course is for any developer that aspires to become an architect or any newly minted architect that needs some help getting started. There's lots of information and opinions on the practice of the software architect. So much so that it can be very confusing getting started. I remember a number of years ago when I decided it was time to move into the architect role. I wasn't really sure what to do. I was a senior developer and very comfortable in that role. I like designing software and leading a team and thought the next logical step would be to move into the architect role. While this was a great career move I wasn't fully aware how different the role would be. This is a very common experience in how most developer's transition to the role of the architect. In this course I'm going to cover the fundamentals of being a software architect in the enterprise. We're going to get started by discussing the Who and the What of software architecture. In the first module you'll learn who a software architect is and what his or her role entails in the enterprise. We'll talk about the skills, the knowledge, and the duties that an effective software architect should possess. In the second module we'll discuss the architect's role in the project life cycle. We'll discuss each phase in the project life cycle and outline specifically what effective architects do in each of these phases. In the third and fourth modules we'll focus solely on the design process and how to effectively communicate your design to both technical and non-technical stakeholders. At the end of this course I'll provide references to continue your education. You can also find additional information related to software architecture on my blog at avitsoftware. com. I've tried to make this course as practical as possible, however much of this course is abstract. We'll have no demos and no exercises to reinforce the content but I will include experiences I've had over the years that may help reinforce some material. Now let's get started with the first module, the Who and the What of Software Architecture.

The Software Architect's Role in the Project Life Cycle
Hello, this is Chris Simmons with Pluralsight and this is the module, The Architect's Role in the project life cycle. In this module we're going to review all the phases of a typical project and outline the architect's role in each. We'll discuss in detail what an effective architect should be doing in each phase of the project. We're going to cover Project Initiation, Assembling the team, Requirements, Design, Construction, Testing, and Implementation. Now this is meant to be a general list of Project Phases that occur no matter what methodology your organization is using. I'm not suggesting this is a hard and fast list of things that every architect does on every project in every organization, this is meant to be a representation of the things that many architects do as part of their role when leading a team to deliver a project. My intention is to help you to understand the responsibilities of the architect in the enterprise when leading a project. Many people mistakenly believe that architects are only involved in the design phase of the project; however, this just isn't the case. Effective architects participate from beginning to end and play an important role in the success of the project. Now let's get started.

Designing the Solution
Hello, this is Chris Simmons with Pluralsight and this is the module, Designing the Solution. In the previous module, we discussed the design phase as one of the many phases of a project and the architect's role during that phase. In this module, we're going to focus solely on the Design phase and how to Design and Document a solution. These are two of the most important responsibilities of the architect so I want to spend some time discussing them in detail, making this part of the course as practical as possible. I separated this module into two halves. The first concentrates on Design and the second on Communicating your design. The Design section begins with software architecture. In this section, we'll first spend some time defining what software architecture & detailed design are, their goals, how they're different, and who should perform them. We'll discuss the role of architecture in the agile world and how many of the concepts that we've already covered can be applied when using agile methodologies. We'll then spend some time discussing architectural design approaches. We'll cover the two fundamental approaches to Design, Top-down and Bottom-up, and which is the right choice. We'll then cover the Architectural Design Process in detail, first with Design Considerations and then I'll walk you through the Design Process step by step. To finish up the Design section, we'll review Prototypes, Architectural Patterns, and when to use them. We'll then begin the second half of the module by discussing how to Communicate your Solution. We'll cover the 3 Main Objectives of architectural documentation and then we'll discuss documentation standards. From there I'll answer the question what are views and discuss how they're utilized in the 4+1 architectural view and the Views and Beyond approaches. We'll wrap up the module with Views & Beyond in practice. In this section, I'll discuss the Views & Beyond approach and provide examples of how to apply this approach in the real world. I'll provide a number of examples of Module, Component-and-Connector, and Allocation Views. Now let's get started.