UP | HOME

Professional Development I

Table of Contents

Lecture 1

  • project based course
  • gets real-world experience for software development
  • Design-centered, release-driven
  • project-success is primary goal
  • delivers innovative solutions
  • get to know who’s who
  • Requires each to select interesting projects, select 8

Lecture 2

Interference Management - Yan

  • 3 internet connected device per person
  • will likely triple
  • need to manage interference for efficiency
  • goal is to make different systems work together and in concert
  • many devices, many ideas
  • many apps, many protocols
  • few frequencies, one shared spectrum
  • will implement smart interference management system
  • working with software defined radio
  • cybersecurity and threat intelligence
  • security, privacy, hacking, particularly wireless and mobile

Course Scheduling - Person/Witty pref

  • planning courses – 4 year plan for freshmen, and for others
  • this isn’t easy to build
  • many constraints
  • enrollment changes constantly
  • dynamic faculty workload – some teach more, some research more, some have sabbatical
  • no back-up faculty
  • course rotations are uneven
  • faculty has varying expertise
  • Witty and a spreadsheet
  • So let’s aggregate, develop possible solutions, adapt, make it web-based
  • explore existing technologies
  • use technologies already supported by CSCE sysadmins

Holland Computing Center - Swanson pref

  • relating to people who come into HCC
  • how to we relate to people who come in?
  • what displays are helpful?
  • How can people visualize things?
  • enabling science
  • have an obligation to explain what’s going on in HCC

Plant Vision - Samal

  • Use computer vision to determine and label plants
  • provide monitoring of plants
  • provide image annotation
  • manual measurements
  • time consuming, destructive, inefficient
  • Use CV and other things to annotate semi-automatically, and do so well
  • plant phenotyping, produce benchmarks, use mturkinclude UI, analysis, annotation summary

NE Situational Analysis Tool - Ramamurthy pref

  • management for large-scale serious events
  • takes info from many data sources
  • and provides various interfaces for different platforms and people
  • assist with coordination and colab during a disaster
  • provide a common picture
  • accelerate decision making
  • to be used by emergency responders

Waste-management Coalition - Samal/Choueiry

  • managing waste in Lebanon
  • non-profit grassroots collection to promote sound waste-management in Lebanon
  • critical element of community health
  • mismanagement leads to serious consequences
  • inability of govt to solve
  • monitor w-m activities
  • inform citizens to take action
  • Sponsors, Samal, Amal Ephrem (WMC), Elias Azzi (KTH), Choueiry
  • provide online platform and tools to collect, store, display, communicate facts on w-m in Lebanon
  • collect with chatbots and coalition members
  • Info Access, give recycling options

MathDay - Choueiry pref?

  • Manage math day outreach
  • has 1.5k students from 100 hs in NE
  • top 10 stdents awarded 34k in scholarships
  • needs 300 volunteers
  • and they must be assigned to various tasks
  • requires online application, provides people to apply online
  • verifies and auto-assigns people to tasks, send things out, etc

VR For Structural Engineering - Bourke

  • designing and testing buildings under stresses
  • uses VR to perhaps help to improve structural engineering
  • how to support buildings – going from 2-d views to 3-d
  • simulate mechanical behaviors, deformations, etc
  • uses unity and VR to visualize things such as earthquakes

Session 3: Sponsored roll-outs

NET pref

  • nebraska virtual capitol tour
  • 18 spots in/around capitol
  • adapt website to a vr reality environment
  • will work with many vr platforms
  • to work as virtual field trip
  • will be in unity

State Museum pref

  • Morrill Hall
  • want an app to extend stuff into rest of floor
  • iOS/Android
  • focus on parasites
  • augmented reality
  • short vids
  • interactive games, puzzles
  • long-term part of the museum
  • for middle-schoolers/high-schoolers

Madonna Rehab Hospital

  • rehab/research institution
  • building/updating emr for physical therapy
  • software to collect wireless sensor data for more accurate records
  • looking at getting data from multiple switches
  • and furthe use of sensors (wireless imu)
  • include heart rate data
  • pressure and force
  • updating interface
  • product manual

NDOT

  • crash data analysis
  • an update to previous project
  • data from all crashes
  • use to retrieve info for better safety
  • business intelligence tools
  • SQL server
  • SSIS/SSAS/SSRS/Power BI/ER Studio
  • convert to new reporting method

NE Environmental Trust

  • state agency
  • ensuring that each grant application is given to a technical reviewer, and will be done electronically
  • handle electronic invoicing
  • build interface for project manager
  • .net, mvc, aws

Lincoln Public Schools pref

  • safety and security
  • needing to deal with reporting of high-impact security events – and low-impact events
  • emergency management protocol helper app
  • would like to expand

Company Cam

  • information capture for construction contractors
  • update to android
  • hipsters
  • AR

Erudite pref

  • gamifying learning
  • engaging and addictive instructional system
  • giving back to society
  • work on further material
  • updating user interface, adding data reporting/organization
  • work with performance benchmarks

Session 4: Orientation and Roles

  • presentations are a detailed reference, will be on canvas
  • attendance will be taken via N card
  • announcements will be in slack
    • public channel courseannouncements – faculty/staff postings, reply via threads
    • private channel for teams – use for team, keep professional
    • private channels can be created as needed
    • public random channel for anything else
  • Project assignments – submit the damn survey.
    • team assignments on or by the fourth
    • give highest possible preference
    • maximize preferences for class as a whole
  • apply software development expertise towards creation of solution to specific problem
  • Coach
    • missing element of experience for teams
    • students caught between faculty and sponsor for grading
    • take advantage
    • unbiased advocate for the team
    • can provide feedback
    • keep an open mind, no direct stake in the project
    • provide support
  • Faculty/Staff
    • help each team succeed
    • tech manager
      • help with dev support, github, azure, slack, website, box
      • equipt mgr
    • tribe lead
      • representative to work with dev squads
      • reviews activities, quality
      • provide guidance, direction
      • project management
      • design/architecture
      • product development
      • cs topics/areas of expertise
      • grading
      • team instruction
      • status reporting
    • project manager
      • meet with squads, reports status, track progress against processes
      • provide more structure
      • invisible connection across all squads
    • sponsors
      • decisions by business value
      • keep big picture in the squad’s sight
      • makes decisions as they arise
    • squad
      • cross-functional, self-contained
      • select goal, results
      • processes are provided – expect to use these
      • work an hour a week with assigned project manager
    • squad lead
      • directly responsible for project team
      • ensures processes and agile values and practices are applied appropriately and followed
      • know and reinforce project and iteration vision and goal
      • lead by serving, serve by leading
    • product manager
      • vision, requirements, feature prioritization, scope
      • conceptual integrity
      • kills features
      • manages stories, story maps, product backlog
    • dev manager
      • the how
      • design integrity
      • code quality/reviews
      • integration
      • tooling
    • need help
      1. project manager
      2. faculty member
    • space and equipment
      • shared team rooms – 28d
      • reservable space
        • 110 – W 08:00–11:20, 15:30–18:20
        • 119 – TTh 15:30–18:20
        • 347 – T 15:30–10:30
      • will have to work together during team-time ; critical to work together as a team, even if in another location
      • meeting rooms available in avery, schorr, union, love
      • virtual machines, some laptops will be provided
      • laptops will require extensive check-out
      • will need to be in working order on return
      • virtual machine server
      • instructions will be provided next week
      • azure resources can be provisions as needed
      • to be used only for senior design
    • Other policies
      • can go to sponsor
      • if in lincoln, go as needed on own
      • trip insurance needed > 50 miles
      • travel further, requires more work

Session 5: First Steps and Project Initiation

  • assignments made
  • initial meeting/project kickoff
    • everyone must make it
    • on campus, avery/schorr/library/union
    • between 9 and 5, not overlapping with class time
    • Business Formal
    • must reserve rooms/faculty
  • spaces – see previous lecture notes
  • agenda
    • intros
    • general overview, may need to go through processes
    • project vision
    • initial plans
    • share team time schedule
    • determine regular meeting time
    • setup next steps
      • next meeting, tour facilities?
  • weekly meetings
    • can’t overlap, between 9 and 5
    • have agenda
    • take notes, track action items
    • use invites
  • assume confidentiality
    • very serious – failure to conduct in professional matter results in failure
    • return or destroy all information
  • team times
    • optimize for all
    • 8 to 10 hrs
    • 1.5 hr blocks, ideally 2-4
    • at least one during business hours
    • no times with <2 members
    • work only on projects
    • send team times to everyone involved
  • 28d will be assigned to projects needing VR/AR equipment
  • not a course, an experience, should feel like an internship
  • collaborate!
  • process
    • some agile methods will be obvious
    • some methods are course-wide
    • releases will be at 6 times throughout the year
  • Initiation
    • initial sponsor meeting
    • team/sponsor bonding
    • common understanding

Session 6: Intro to Agile

  • agile methodologies
    • scrum
    • extreme programming
    • RUP
  • maps to industry best practices
  • Agile manifesto
    • Values
      • individuals and interactions over processes and tools
      • working software over comprehensive documentation
      • customer collaboration over contract negotiation
      • responding to change over following a plan
    • Principles
      • customer satisfaction through early, continueous delivery
      • welcome changing requirements, late in development
      • working software measures progress
      • face-to-face conversations
      • attention to technical excellence and good design
      • simplicity is essential
      • self-organization
  • Scrum
    • not a process or technique, framework to use process and techniques
    • product back log, sprint backlog, daily scrum meeting, potentially shippable increment
    • self-directed, self-organizing
    • no external addition of work to a sprint
    • daily meetings
    • demo to external stakeholders at end of sprint
  • Extreme programming
    • quick, early collaboration
  • execution is the focus

Session 7: Design Development Processes

  • Messaging w/ Slack
  • Docs and Storage, Box
  • Source Control w/ GitHub
  • ZenHub for Project tracking
  • Resharper/SQL server for windows dev
  • Github and Zenhub
    • broduct backlog, release backlog, sprint backlog, issues, feature, epic, story, task, bug, hotfix
    • issues get tagged
    • zenhub integrates with the github interface
    • labels can be used for issues and pull requests
    • consistent across projects
    • labels are grouped by color, according to broad themes
      • type – what is it
      • size – how big is it/how many things does it affect
      • value – how important is it
      • flag – things like bugs, change requests (not features/stories), features (things to be done), stories (an action a user might do), tasks (discrete parts of a story)
    • sprint planning
    • branch names should be specific and mappable to a specific issue
      • names should be standardized
      • single branch per task
      • single master branch
      • all sub branches need to be pr’d into branch
      • pull latest into the branch
    • PRs are to be reviewed by the DM
      • PR should include briefe overview of feature/bug fix
      • link to relevant github issue
      • db server if applicable
      • review the code, ident violations of architecture
      • review db changes
      • check for minor bugs
      • review corresponding backlog
    • check for hosting etc
      • azure/aws
      • db
      • mobile dev
    • VM ware
      • thinclients
      • vmware horizon client

Session 8: Vision and User Story Mapping

  • can’t force it
  • teach practices and value
  • continuous improvement and support
  • continuous plans are hierarchical
  • stories and epics
  • project vision
    • determine description
    • organizational processes
    • sign offs
    • tech requirements
    • collaboratively with customer taking the lead and team taking it to heart
    • not an artifact, a process
      • To do – what to do
      • in what way – success criteria
      • so that – why it’s being done
    • Only use what helps!
  • release planning
    • what gets done and when
    • more releases, more value
  • create a strategic release plan
    • market map, feature menefit map, market events/rhythms, architecture map
    • makes it easier to change direction
    • avoid last/loud priority problem
    • publish/perish
  • under promise, over deliver
  • make plans for transitions
  • finding and measuring value
  • backlog – orderd list of ideas for product, kept in order expected to do them
  • Stories
    • as a user-type, I want to do this-function so that I get specific-benefit
    • in order to deliver-some-value, as a user-role, I want some-feature
    • written by customers, estimated by developers, prioritized by customers
    • priortized ast beginning of each iteration is based on value, risk, dependency
    • epics,/stories/bugs/other items
    • management objectives
    • should be simple, easy to understand
    • when large and fuzzy, are epics
  • Story mapping
    • backlogs can make it hard to start, what first deliverable will look like, what happens if a story is missed, where the project is
    • github issues aren’t perfect, use zenhub instead
    • story mapping aranges work into a helpful shape
    • horizontal axis, order of priority
    • vertical axis, increasing sophistication
    • first horizontal row is the first woring item
  • Process
    • determine vision
    • break down into components
    • collect major features
    • create stories
    • add details
    • fill in build estimates
  • People involved
    • SMEs
    • testers
    • UI designers
    • stakeholders
    • developers

Session 9: Technical Communications

  • entry level enginerrs spend 40% of time writing, manegerial even more
  • your name is your most valuable asset
  • make sure whatever you put your name on deserves your name
  • first rule of tech comm is know your audience
  • and they aren’t you
  • don’t make assumptions, learn
  • start and finish professional
  • learn the norm
  • it’s all about the people
  • background
    • education
    • profession
    • culture
    • personal
  • purpose
  • Experts – highly trained, understand, have experience – get right to the details
  • technicians – practical skils, gets things done, short-medium length sentences, common vocab – no complex theoretical discussion, schematic diagrams, parts lists, step-by-step
  • Manager – coordinates, supervices, doesn’t care about theory – determine vocab, make job easy, exec summary, info may be used for higher-level execs
  • Lay person – curiosity, self-interest – simple, jargon in English, analogies and examples, discuss human angle, concentrate on implications
  • Accomodate multiple audience members – use a modular structure
  • presentations
    • highly personal, a few tips
    • plan
    • design
    • deliver

Session 10: Agile Stories and the def’n of Done

  • Melanie Kugler-Wright
    • Project Manager
    • 20 years w/ Hewlett Packard
    • Worked w/ SAP
    • Financial Systems, Mergers and acquisitions, ecommerce, healthcare, insurance
  • Releases
  • DEEP
    • Appropriately detailed
    • estimated – more than just a to-do list, a planning tool
    • emergent – time, budget, qquality are fixed, scope is not – backlogs arre emergent, issues are frozen until more is learned
    • prioritized – issues should be vertically arranged according to business value
  • prioritization
  • more organization
  • planning efficiency
  • Use story formats, etc
  • not mini usecases
  • not complete specs
  • not a contract
  • inteded to be interp’d w/o product owner
  • not tasks
  • defining done
  • Iteration processes
    • protection
    • aggre on a definition of done
    • plan your own work

Session 11: Working Agreements

  • guidelines dev’d by a team describing how the team works together
  • different backgrounds
  • different generational attidutes
  • different cultural norms
  • built by the team
  • everyone agrees and supports the decisions
  • no do this from on high
  • how should the team behave?
  • how will we know if we’re working well?
  • how are disagreements and conflicts handled?
  • interpersonal problems?
  • connection?
  • a crock of it

Session 12: Standups, Status Reports, Retrospectives

  • Can’t force agile
  • teach pratices and value
  • continuous improvement and support
  • standups and burn down
    • internal
  • status reporting
    • radiating status outward
  • program status – tribe lead and PM

Daily Standups

  • normal, daily
  • finding out what’s going on
  • coordinate activities on a daily basis
  • what yesterday
  • what today
  • what problems
  • time-box to 10 min
  • stand – remind others to keep it short
  • start and end on time
  • use common location with minimal barriers
  • only squad members can talk
  • meeting for communicating the product vision and organizational goals
  • raise issues and bostacles, not pursue solutions
  • tasks added? not new requirements
  • learn/decide anything new
  • squad leat facilitates meeting
  • don’t pressure – should come from peers
  • remove impedimens as quickly as possible
  • increases responsibility
  • update tasks
  • imrove and learn
  • shared languages

Status Reporting

  • increase transparency
  • show progress to stakeholders
  • continuously update backlog
  • burndown charts
  • task boards
  • Issues and Roadblocks – problems, impediments
  • Looking at status
    • release goal
    • iteration
    • how is it going
    • effort into release
  • Program status from PM/tribe lead

Retrospectives

  • inspect and adapt
  • look at how, not what
  • do better the next time
  • Steps
    1. set the stage
    2. gather data
    3. generate insights
    4. decide what to do
    5. close
  • Create open environment
  • review everything

Session 13: Agile Estimation

  • releases
    • stable code to validate a solution
    • release planning gives context to stable units
    • subset of application functionality is made available outside of the development team for uncontrolled use
    • not all releases are equal and type of system built has significant impact on how releases are planned
    • code names – have fun
  • “I have always found tthat plans are useless, but planning is indispensable.” – Dwight D. Eisenhower
  • Planning
    • discover
    • deliver
    • from delivery
  • General estimation
    • why estimate – what is he expected margin of error
    • what have you committed to
    • based on things that are measurable
    • average multiple
    • compare previous
    • expert estimation
    • be consistent
    • analyze large errors in retrospectives
  • Agile Estimation
    • velocity
    • not time
    • buy-in
    • limits time investment
    • story points
  • Planning Poker
    • estimate indepentently
    • share estimates, high and low explain reasoning
    • repeat until convergence

Session 14: Dev Team Behaviors – Doug Durham

  • many issues with software
  • Behaviors:
    1. Testing
      • unit and integration testing
      • individual and combined units of source code
      • part of the process
      • automated testing
    2. Working Build
      • Always have a working build
      • demonstrateable build
      • automated build process
    3. Static analysis
      • remove errors and warnings
      • promotes readable code
      • verification in source code
    4. Story mapping
      • maintain a story map using design studio sory format
      • arrange stories into a helpful shape
    5. Definition of done
      • mainain an up-to-date definition of done
      • may have different criteria for different portions of the system
    6. Estimation
      • estimate stories and assign points in context of design
    7. Releases
      • Release milestones
      • plan well
      • use git tagging, etc
    8. Security plan
      • have a security plan for the high risk areas
    9. Telemetry
      • track performance, use telemetry to inform decisions
    10. Cadence/Rhythm
      • Maintain consistency

Session 15: Ethics 1

  • Review engineering ethics – challenger, hyatt walkway
  • Review google maps 2010, Nicaragua/Costa Rica
  • personal dimension
    • comfortable with it later
    • family pride/shame
    • looking back is it a better moment or a worse moment
  • Integrity in coding practices
  • be careful of how one does things

Session 16: Testing

  • Acceptance criteria
  • define tests
  • doing so has high return
  • Integrate testing with development
  • each team member is responsible for testing, including writing tests

Session 17: Grad Schools

  • why
    • to teach
    • gain further expertise
    • higher salary
    • Pursue interests in more depth in researrch, contribute to human knowledge
  • the Matt Might slides
  • Masters degrees take less time
  • PhDs take 4-6 years
  • Many different areas
  • How?
    • Jan 15 for financial consideration, fall
    • September 1 for Springs
    • Resume
    • 3 reference letters
    • transcripts and GRE scores
    • statement of purpose
  • Grad Info Day is December 1, email LaRita Lang

Licensed under Creative Commons Attribution-ShareAlike 4.0 International License