Welcome LabVIEW System Development: The Architect’s Perspective Allen C. Smith.
-
Upload
brent-taylor -
Category
Documents
-
view
233 -
download
3
Transcript of Welcome LabVIEW System Development: The Architect’s Perspective Allen C. Smith.
Welcome
LabVIEW System Development:The Architect’s
Perspective
Allen C. SmithAllen C. Smith
Who Is This Guy?
And what the heck does he do all day?
Where is the code demo?
The Architect is a Leader
Project Technical Leader Project Leader Internal Consultant Mentor
In A Nutshell…
The architect is the primary technical interface between project or organizational stakeholders and the development team.
We Provide Leadership
Project management Quality assurance Product design Product implementation Team development
Project Management
The architect works with a project manager to:
- Gather and manage requirements- Schedule and track tasks
About Requirements…
Software changes work flow, so get close to the workers
Requirements are NOT the design Requirements are NOT the
implementation Requirements ARE testable and
traceable
What is an “Agile” Process
According to the Merriam-Webster on-line dictionary “agile” means: 1. marked by ready ability to move with
quick easy grace. 2. having a quick resourceful and
adaptable character. In agile software development, “agile”
tends to mean “the ability to respond to change”.
Agile Misperceptions
Differences of Agile Project Management
Iterative Repeatedly executing nested process
cycles Iterations provide synchronizing points Iterations provide feedback points
Incremental System is built in progressive stages Each increment is a working system Iterations add features and refinements
Agile Origins
Scrum “The New New Product Development Game”,
Harvard Business Review, 1986 “The Chaos Model and the Chaos Life Cycle”, by
Raccoon, Software Engineering Notes, 1995 Agile Softwate Development with Scrum, Ken
Schwaber and Mike Beedle, 2001 Agile Project Management with Scrum, Ken
Schwaber, 2004 Extreme Programming
Kent Beck, Ward Cunningham, Ron Jeffries, 1999
Here’s How It Works
Sample Product Backlog
Backlog Items Estimate
Allow a guest to make a reservation 3
As a guest , I want to cancel a reservation 5
As a guest, I want to change the dates of a reservation.
3
As a hotel employee, I can run RevPAR reports (revenue-per-available-room)
8
Improve exception handling 8
Samples From a Travel Website
As a user, I want to reserve a hotel room.
As a user, I want to cancel a reservation.
As a vacation planner, I want to see photos of the hotels.
As a frequent flyer, I want to rebook a past trip, so that I save time booking trips I take.
Details Added in Smaller Stories
As a user, I want to cancel a reservation.
As a premium site member, I can cancel a reservation up to the last minute.
As a non-premium member, I can cancel up to 24 hours in advance.As a site visitor,
I am emailed a confirmation of any cancelled reservation.
Details as Conditions of Satisfaction
The product owner’s conditions of satisfaction can be added to a story. These become testing criteria to determine if the story has been satisfied.
As a user, I want to cancel a reservation.
•Verify that a premium member can cancel the same day with out a fee.
•Verify that a non-premium member is charged a 10% fee for a same-day cancellation.
•Verify that an email confirmation is sent.
•Verify that the hotel is notified of any cancellation.
Start With Epics and Iterate
Frequent Flyer
Frequent Flyer
As a frequent flyer, I want to be able to check my account
As a frequent flyer, I want to be able to check my accountAs a frequent flyer, I want to book a trip.
As a frequent flyer, I want to book a trip.
As a frequent flyer, I want to….
As a frequent flyer, I want to….
As a frequent flyer, I want to book a trip using my frequent flyer miles.
As a frequent flyer, I want to book a trip using my frequent flyer miles.
As a frequent flyer, I want to rebook a trip I take often.
As a frequent flyer, I want to rebook a trip I take often.
As a frequent flyer, I want to request an upgrade.
As a frequent flyer, I want to request an upgrade.
As a frequent flyer, I want to see if my upgrade cleared.
As a frequent flyer, I want to see if my upgrade cleared.
A Sprint Backlog
As a vacation planner, I want to see photos of the hotels so that I can determine suitability for my client.
Design the user interface 8
Code the user interface
16Create & automate the tests
6Code the middle tier
8
o You leave sprint planning with an estimated set of tasks
ando The team’s commitment to complete the product
backlog items represented by this iteration backlog
Estimation Tips
Account for daily tasks 2x developers != 2x development
hours Design iterations feed estimates And the big one:
We are all optimists!
A Scrum Reading List
Agile and Iterative Development: A Manager’s Guide by Craig Larman
Agile Estimating and Planning by Mike Cohn Agile Project Management with Scrum by Ken
Schwaber Agile Retrospectives by Esther Derby and
Diana Larsen Agile Software Development by Alistair
Cockburn Agile Software Development with Scrum by
Ken Schwaber and Mike Beedle User Stories Applied for Agile Software
Development by Mike Cohn
Scrum Tools & Web Resources
VersionOne www.versoion.net Rally Software www.rallydev.com Scrum Alliance
www.scrumalliance.org
Quality Assurance Tools
Source code control Code reviews Coding standards Reuse code
Design
Patterns Encapsulation and abstraction Coding and style standards Reuse code selections
Design
Encapsulation and abstraction Coding and style standards Reuse code selections
Design
Object-Oriented LabVIEW
UML
Implementation
Complex or High-Risk Components Recursion Daemons Polymorphic VIs XControls
Implementation
Templates VITs Merge code Express VIs
After The Project
Retrospectives Code Libraries
Retrospectives
Lessons learned Technical Estimation
Prime Directive:
"Regardless of what we discover, we understand and truly believe that everyone did the best job he or she could, given what was known at the time, his or her skills and abilities, the resources available, and the situation at hand."
Code Libraries
Reduce time to completion
Reduce cost Improve robustness
Code Libraries
Generated from completed projects Identify candidates at
Design Implementation Post-completion
Architect serves as gatekeeper Components will become obsolete
over time
Software Architects
Align development efforts to customer needs
Guide the development team through the software process
Grow and improve the organization over several projects
Further Reading
“LabVIEW Advanced I, Architectures” National Instruments
“Good to Great” James Collins
“Built to Last” James Collins and Jerry Porras