-
Participate in real world software developer team collaboration environments
Assessment Strategies
Individual and Group Projects, Skill Demonstration
Criteria
Implement visual communication techniques
Communicate visually with whiteboard drawings
Communicate software architectures with simple drawings
Tailor communication of technical content to intended audience
Incorporate (accurately) software "jargon" encountered in the real world
-
Demonstrate Agile project planning
Assessment Strategies
Individual and Group Projects, Skill Demonstration in Lab
Criteria
Implement techniques such as User/Role Modeling and app-storming to plan software development projects
Strive for 100% WBS concept when identifying work for an Agile project
Compare User Stories and their use by Agile teams
Recognize false goal (or fool's errand) of identifying all features and requirements up front
-
Demonstrate Agile project estimating
Assessment Strategies
Individual Project, Skill Demonstration in Lab
Criteria
Demonstrate team estimating with Agile planning poker
Estimate size of tasks, not calendar duration
Describe the importance of shared understanding of what is being estimated
Explain the definition of "doneā and its impact on estimating
Identify the dangers and diminishing returns of false precision estimates
Describe rapid, individual estimating
-
Demonstrate Agile project tracking
Assessment Strategies
Individual Project, Skill Demonstration in Lab
Criteria
Explain burn-up and burn-down charts and their subtle differences
Demonstrate transparent communication of project status with stakeholders
Estimate project completion dates with trendlines
Excel Pivot Tables (intermediate, advanced) are managed effectively
Excel charting (intermediate) is managed effectively
-
Explain the Scrum software development framework
Assessment Strategies
Online Assessment
Criteria
Differentiate between "framework" and "methodology"
Recommended team sizes and make-up for Scrum projects
Use Scrum terminology
Prescribe Scrum events including sprint planning, daily "scrum," sprint review, etc.
Describe the significance of "feedback" in a Scrum project
Defend when Scrum is applicable versus Kanban for project management
-
Demonstrate Kanban project management
Assessment Strategies
Participation in Class Activities
Criteria
Describe when Kanban may be applicable to software project management
Explain the basis of Kanban in Theory of Constraints and Queueing Theory
Describe Little's Law, and the relationship work in progress (WIP), throughput, and response time
Compare Tracking via Cumulative Flow Diagrams (CFD)
Identify erroneous use of Kanban in software projects
-
Analyze common software architecture alternatives
Assessment Strategies
Skill Demonstration in Lab
Criteria
Analysis identifies existing software architecture including client/server, server side web, single page applicationsĀ (SPAs), cloud native, etc.
Analysis describes experimental SPA coding in JavaScript
Analysis references your "dream" architecture in order to guide your learning throughout your software development career
-
Investigate Cloud computing basics
Assessment Strategies
Participation in Class Activities
Criteria
Describe the benefits of Cloud Computing
Differentiate between various cloud offerings including: Infrastructure as a Service (IaaS), Platform as a Service (PaaS), Software as a Service (SaaS), and Serverless
Explain Cloud elasticity
Identify marketing hype versus true technical innovation