@nickrusso42518 www.njrusmc.net
NETWORK ENGINEER
Getting Started with Software Development for Cisco DevNet LEARNING - - PowerPoint PPT Presentation
Getting Started with Software Development for Cisco DevNet LEARNING THE FOUNDATIONS OF SOFTWARE DESIGN Nick Russo NETWORK ENGINEER @nickrusso42518 www.njrusmc.net Should I be here? Agenda Core skills: Bash Basic software design skills
@nickrusso42518 www.njrusmc.net
NETWORK ENGINEER
Get requirements Design Implement Test Deliver Time
Works well when requirements don't change Clearly defined stages Easy to manage
Cannot adapt to change Hard to "go back and fix" Testing only at the end
Implement Delivery Test Reqts Design Sprint Time Implement Delivery Test Reqts Design Sprint next sprint
Delivers software (value) faster Fosters teamwork and skill sharing Little planning required
Requires customer interaction Not many docs; people dependency Requires a competent team leader
Backlog In Process (max = 2) Completed Bug 2 Bug 1 New feature 4 New feature 2 New feature 1 Bug 3 New feature 3 New feature 2
Minimal batch size Task-oriented; no roles Fastest delivery
Requires discipline Need sensible WIP limits Encourages recklessness
class Customer string name integer balance method print_stats() cust_a = new Customer() cust_a.name = "John" cust_a.balance = 14 cust_a.print_stats() class instantiates object
Subjects Observers method notify(): for each observer:
method update(): do green actions method update(): do blue actions subject.register(observer) subject.unregister(observer) (Publishers) (Subscribers)
Model View Controller (Model) (Template) (View) model.write() model.read() view.get() view.display()