SDA – Software Developer’s Assistant – One Pager
Stewart Bush, Tietronix Software, May 25, 2007
What it is: SDA is a software process enactment platform that guides NASA software teams through their project specific standards, processes and procedures. Software projects are decomposed into all of their required process steps or tasks. Each task is assigned to project personnel. SDA orchestrates the performance of ‘work’ required to complete all project tasks in the correct sequence. SDA notifies team members when they may begin work on their assigned tasks and then provides all of the tools, instructions, reference materials, and supportive artifacts which allow users to efficiently and compliantly perform their work.
Features: The SDA architecture follows a Business Process Management (BPM) approach combining the mature technologies of workflow, business rules and a repository. This allows SDA to model and enact NASA software processes from Class A to H, follow a waterfall or iterative flow, and deal with process exceptions. SDA has a rich web portal user interface as well and a web services programmatic interface. All of SDA’s major components execute in a J2EE environment for robust and scalable operation.
Benefits: SDA’s major benefits stem from the automation of: 1) process compliance - task sequencing, task coordination and task process/project triggers, 2) collection of process and project info – status, metrics, complete audit trail, 3) Task support – process task instructions, background, reference materials, examples, templates and PAL. SDA reduces a large amount effort and tedium (process overhead) a software team expects to encounter when following 7150.2 compliant processes. SDA also automatically collects much of the proof that the team’s activities and resultant products conform to the intended best practices and software assurance practices. And perhaps most important – SDA provides a solid foundation from which to ‘improve process’.
Successes: SDA completed its SBIR Phase II project in November, 2006. Since then Tietronix has initiated use of SDA on internal projects and has continued to evolve SDA in accordance with a commercial roadmap. SDA has been well received since ‘coming out’ and an SBIR Phase III project is expected. Tietronix has built another product for NASA on the same BPM underpinnings as SDA. BPSCM – Bioastronautics Planning System Configuration Management. BPSCM, as does SDA, automates engineering process. BPSCM automates Configuration Control Boards (CCBs) and has been deployed on over 20 boards at JSC supporting 600 users at multiple NASA sites. Productivity and participation improvements have been reported.
Contexts in which it is best used: The best scenario for SDA use would involve small to mid-size NASA software projects, Class A – Class D that are in or near the planning stage (CMMI SPP). The organization should somewhat believe that formal software process is a good idea but they wish there wasn’t so much (manual) overhead. Projects that want to follow a RUP type iterative or waterfall process would be best.
Compare with alternative known products or technologies. If SDA were competing in the open markets it would encounter competitive players from two different camps: 1) Application Lifecycle Management, & 2) BPMS. SDA has significant differentiators from these type companies with the most overlap which include: 1) Borland, MKS, Digite’, and 2) Pegasystems, Meta Group, Savvion, and Tibco.
What will a successful collaboration look like?
a. What will you as the technology provider do? Tietronix would expect to structure and support a (collaboratively developed) plan for the easiest adoption of SDA including: Working w/the development team to create the plan, then create customized SDA training and user documentation and provide hands-on and phone support at whatever level the development team requests.
b. What should the development team do? Ideally before the project begins, or at the beginning – the development team would convey the ‘software process environment’ and culture of the development team. It would be best if the development team was willing to have, at some agreed to frequency, feedback meetings with the technology provider. Also it will be very useful if the development team were to provide the technology provider with access to the SDA project repository throughout the project.
c. How will you, as technology provider, work together with the development team to ensure a successful collaboration? Tietronix believes that SDA has great promise to help NASA/Mil-Aero software projects become much better run. To that end, Tietronix is very motivated to help as much as is comfortable to the development team. We would provide product installation or web access to Tietronix servers, management and technical training, hands on support, conduct or support reviews and prioritized hot-line support.