Evolving Plan for Software Audit
Ideas for draft Statement of Work
Write nearly final draft of Statement of Work during visit to NRAO on Thu 18 Jun 2009
- Is this architectural review?
What is ideal form of software?
- From software development process perspective (i.e. improvement to SW processes)
- From stakeholder's perspective (i.e. ideal measurement system)
- Two days prior to arrival (i.e. Tue 16 Jun 2009) provide list of items that will be covered.
- Provide schedule for review, including deliverables.
- Meet periodically with Lacasse, Nagaraj, Shannon, and Effland to discuss
- work remaining, and
- to answer questions.
These meetings must include agendas and result in action items.
- Provide suggestions on:
- requirements generation,
- software quality tracking and improvement (including bug tracking and fixes),
- Estimates of labor required (i.e, do we have enough people working on this?).
- Is a one-day site visit sufficient to audit an instrument control system where the software is intimately connected to the hardware?
- Project Plan
- Software audit shall focus on tool recommendations, intermediate level process improvements (i.e. bug tracking tools), and code reviews. Higher level program management recommendations are not required.
- Generate a Gantt chart for work?
- Written report required 1 week prior to 25th of month.
- No change is anticipated in VI Engineering personnel assigned to this project:
- Jeff Siegel is primary contact
- Mike Rakolta supporting role
- Prabodh Shende is Program Manager
Possible Goals and Objectives
Improve Communications between Stakeholders and Developers
Formal requirements documents seem too cumbersome for our development process, and we are attempting an agile approach of holding daily 15 min meetings between stakeholders and developers, priorities lists for short term, gantt chart for long term, homegrown bug tracking system. Any suggestions for improvement?
Evaluate Messaging system and alternatives
Is the implementation of the current messaging system (using
communication) sufficient. Is this considered deprecated by NI?
What are the pros and cons of these alternative solutions:
Network Shared Variables
Functional Global Variables
Reinventing the wheel with TCP/IP or UDP
Evaluate OOP style and alternatives
Last I checked there seemed to be problems using the convert tool to upgrade to the new version of GOOP by Endevo. Why didn't this work? Should it be easy? Is it worth doing? Is it true that
will soon release native support of pass-by-reference OOP?
Improving Enhance->Build->Deploy process?
Plug-in style architecture pros and cons.
Suggestions for improving documentation for each release?
How will the build process change with the next version of
Will my automated build code still work?
Necessary computer reboots due to memory/resource leaks?
Time consuming machine reboots (sometimes multiple times daily) are required to get software working "cleanly" again after errors, extensive automated test cycles lasting 1-2 days, or if the software is left open over the weekend. Possible culprits are memory/resource leaks or faulty communication interface (ethernet card to motor controller).
We've purchased the Desktop Execution Trace Toolkit, but I could use some advice on the best way to use it.
Are memory/resource leaks inevitable when using
Device communcations problems
Motor Contoller Communications
Communication problems with the beam scanner motor controller. Sluggish response to commands. Often occurs after power failure, and sometimes seems to require machine reboot before it's fixed.
Communication problems with the new M&C module. Spotty at times and readings are not always accurate.
Problem with Unique Logins *
Shared resources problems apparently prevent the CTS from using it's own unique log in. * This problem may have already been resolved.
I had to change
VI to make it work in multi-threaded context -- see 'L:\labview\Tests\models\SW Test\GetAttributesToModify BUG'. Is this a known problem?
Tool for updating to new version didn't work for me last I checked.
is our bug tracking system.
Show this later in process