Lab1 STAT: A stakeholder analysis tool. CS410 (27489) 5/2/2013 Christopher Spillers Version 1 Table of Contents 1. Introduction. Page 1 2. Discussion of stakeholder analysis and management process. Page 1 3. Description of STAT features. Page 2 4. Explanation of STAT usage. Page 3 5. Explanation of STAT project file. Page 5 6. STAT prototype development challenges. Page 7 7. References Page 9 8. Glossary Page 10 Version 1 What should the #fivewordTEDtalks title be for a talk at TED discussing the requirements for a successful project? Easy, “Who needs to be onboard?” A deceptively simple question that plays a major role in solving complex system of systems engineering problems. The correct answer to the questions comes from research currently being done at the National Center for System of Systems Engineer (NCSOSE,) on the Old Dominion Campus in Norfolk, VA. According to NCSOSE, the best way to find the answer is through stakeholder analysis and management (SAM.) SAM is a non-linear process for determining who stakeholders are, where they stand in the context of the project, and what strategy needs to be followed to ensure their impact is proponent to a successful outcome for the project. It's not difficult to imagine how a person in the right place could derail an otherwise successful project if they do not want it to succeed. This is why stakeholder analysis is important. It helps to identify these people and mitigate any negative impact they will have on the project. The SAM process consists of five steps. The first step is a brainstorming session that is used to identify stakeholders and note their wants in relation to the project. The next step classifies the stakeholders based attributes such as power, legitimacy, and urgency. These attributes are then used to determine the class and classification of the stakeholder. This information is used in the next step to evaluate their attitude and produce an action matrix. This matrix is used to visualize the strategy for dealing with the stakeholders. In the next step, a stakeholder relationship map is produced that shows how stakeholders are linked in a way that represents their influence on each other. This network map, a weighted digraph, is extremely powerful because it visualizes the stakeholders classification, attitude towards the project, and influence on each other in a single comprehensive view. The final step generates a table of data, combined from the preceding steps, that produces a full stakeholder management plan. If our Version 1 original question was expanded to a more pragmatic version, “Who are limited resources best spent on in attempt to ensure project success?”, then this management plan is the tangible output of the SAM process that answers that question. Question answered? Not quite, the main problem with the SAM process is in the way project managers currently perform the sessions. They often use a manual process involving dry erase boards, sticky notes, and magic markers. The process is time consuming, tedious, and involves a lot of “Do Not Erase” notes left on whiteboards. The real problem with the manual method is that the visualization of the solution is difficult to read, non portable, and for these reasons actually undermines the benefits of the SAM process. Enter STAT. STAT is a software implementation of the SAM process, and the solution to the problem of manual method currently in place. The main feature of STAT is that it allows the stakeholder analysis session to be traversed in a linear or non-linear series of views that map directly to each step in the SAM process. Each view is updated dynamically based on changes in previous views, and all of the data from the session is saved in a project file. These features not only eliminate the need for the manual process, but actually enhance the ability of the SAM process to effectively communicate. The days of taking blurry cellphone pictures of whiteboards with sticky notes are over. The technical design of the STAT package is based on a stand alone application that runs on the three major client operating systems (GNU/Linux, Apple OS X, Microsoft Windows.) STAT will be be written in Java and run on top of the Java Virtual Machine (JVM.) The user interface for STAT will be written in a modern Java UI framework. User will be able to save all Version 1 project data in a STAT project file (.stat.) The STAT project file will be Extensible Markup Language (XML) based, and well documented for good interoperability. The choice to develop a stand alone application was primarily driven by the fact that the users will often be onsite, within other organizations, giving demonstrations on SAM and consulting. This dictates the need for a portable stand alone application that can be easily deployed to a laptop computer. Once the decision was made for the application to be stand alone we knew that there would be a requirement for a proper STAT project file to save the state of the SAM process to. The STAT project file will be written as an application of XML. XML was a good choice because it has broad support for storing structured data, and support for internationalization. XML is often used as the language of choice for storing structured data because of it's ability to generate a proper document object model, schema validation, and good support for serialization in many modern languages and frameworks. XML is also very well supported in the Java API. Though internationalization support was not a stated minimal viable feature, we felt that looking ahead it was a good idea choose as a serialization language due to this flexible. Since the markup is based on Unicode, UTF-8/16, any STAT projects that contain names/words from different languages and character sets will have no issues when they are saved in the project file. The STAT project file will support the ability to be encrypted and decrypted by STAT. STAT will use ASE256, an industry standard encryption algorithm and key size, for securing the contents of STAT projects. Security is a major design requirement for STAT due to the ease of transferring its project files. The STAT project file will also feature a read-only option. Version 1 In our design we also included a read-only feature. This simply means that a STAT project file can be marked read-only so that downstream users can't accidentally make changes to the project. Read-only will work with both encrypted and non-encrypted project files. Interoperability is also a feature of the STAT project file. We plan to fully document the file's design so that other vendors can access data in STAT files. This is a major feature of the STAT project file design. Not only do many users dislike the idea of vendor lock in, but some contracts require the user of open file formats. Since the STAT tool will be a stand alone application, we are designing it to run on most commodity laptops and desktops. There will not be any intensive calculations that require a significant amount of processing power. The graphical user interface will be based on a two dimensional context and not require any high end graphical processing units for acceleration. The only software requirement that STAT will need is the JVM. Portability to current versions of the three major operating systems are part of our design and testing strategy, but any platform that supports the JVM and it's GUI frameworks will theoretically run STAT. STAT is being designed so that it will be used by system engineers and project managers. The front end of the client is being designed so that people familiar with SAM will be able to easily adapt to STAT. We are using the industry standard vernacular, and designing the user experience so that it logically maps to what a user, coming from a manual process, would expect. STAT is being designed so that it augments the SAM process as much as possible. New projects are more likely to initially need to complete the process in a linear fashion, so it is important that STAT can be used that way. That being said, we're designing the user experience and GUI in such a way that any step can be randomly accessed from any other step. This will for Version 1 users to step back if necessary, or even move forward. Each view will be updated each time it's accessed so that all visualizations are current. This is an important feature as it augments the SAM process. We have spent a lot of time tweaking the design so that it meets all of our feature requests, user stories, and technical requirements. That being said, we expect to have several opportunities to overcome challenges will implementing STAT. Our three main challenges will be related to handling project files, creating a modern and flexible GUI, and visualizations of the stakeholder data. The hurdles with the project files will be verifying the robustness of our XML schema, verifying integrity of the project data, and security. The first part will be running our schema through further user story/user cases to verify that every feature can be stored in it. The second part will present a challenge because, due to the human readable nature of XML, the STAT project file will be easily modifiable. This means that we need to make sure to verify the consistency of the file as it's deserialized into the application. Though, we can mitigate a lot of issues by using the Java API's ability to perform XML Schema validation, still we know that we'll have to incorporate the concept of a projects state into the file handling. This will be necessary since SAM is both a linear and non-linear process. Project file corruption will be a large part of our system testing. For file security, we plan to incorporate the ability for a project file to be encrypted with 256-bit AES encryption. Once the encrypted is enabled we will need to make sure that file integrity is insured. This becomes more important when encryption is involved due the avalanching nature of modern cryptographic algorithms. Any project at any time can be encrypted or decrypted based on the users needs. Version 1 Since STAT has no server component, we are not going to need a complicated virtual machine from the ODU CS System Group. We do plan to use a version of Ubuntu server to run our SCM, automated testing tools, and other miscellaneous development tools. Less time spent on configuring a complex server environment will allow us to ensure our application is polished and complete. In conclusion, STAT is not only going to aid in the storage of stakeholder data, but we believe it will actually improve the SAM process. The automation of the stakeholder information storage is a major feature, and can assist in users in saving time by not having to store that data in other ways. Though, the real benefit is that the STAT views can be access in a linear/non-linear fashion, and all the visualizations are updated dynamically. This means that mistakes in the SAM process can be seen visually and corrected on the fly. We believe that this will improve the quality assurance of the overall process. Version 1 References 1. Hester, P. T. (2013). Stakeholders in Systems Problems. File last modified 3 April 2013. Microsoft Powerpoint file. 2. Hester, P. T. (2013, April 2). STAT development meeting. 3. Hester, P. T. (2013, April 26). STAT development meeting 2. 4. Hester, P.T., Bradley, J.M., and Adams, K.MacG. (2013). Stakeholders in systems problems. International Journal of System of Systems Engineering, 3 (3/4), 225-232. Version 1 Glossary 1. NCSOSE: National Center for System of Systems Engineering 2. SAM: Stakeholder analysis and management. 3. Network graph: Weighted digraph. 4. SCM: Software Configuration Management. 5. GUI: Graphical User Interface. 6. AES256: Advanced Encryption Stanard. 7. Attributes: Attributes describe the stakeholder. A stakeholder can have power, legitimacy, and urgency. 8. Customer: Potential purchasers of the solution. 9. Entity: An individual or organization involved in a project. 10. Project: A collaborative effort to accomplish a common goal. 11. Relationship: The manner in which two entities are associated. 12. Stakeholder: Someone who can affect or is affected by the achievement of the organization's objectives. 13. User: Potential users of the STAT tool. 14. View: Various methods to show information graphically. 15. Weight: The amount of influence a stakeholder possesses over a project. Version 1