380 likes | 937 Views
XPlanner. Agenda. What is XPlanner-Overview What is XPlanner-Features Technology and Architecture XPlanner Tips Customization and Extension SOAP interface in Xplanner XPlanner Screenshots MSF Demo(2 parts) Usage Experience XPlanner Installation
E N D
Agenda • What is XPlanner-Overview • What is XPlanner-Features • Technology and Architecture • XPlanner Tips • Customization and Extension • SOAP interface in Xplanner • XPlanner Screenshots • MSF Demo(2 parts) • Usage Experience • XPlanner Installation • XPlanner System Demo • Conclusion
XPlanner Overview • XPlanner is a project planning and tracking tool for eXtreme Programming (XP) teams. • XPlanner allows users to define Projects, Iterations, Stories and Tasks. • The customers pick the features to be added (user stories) to each development iteration. • The developers estimate the effort to complete the stories either at the story level or by decomposing the story into tasks and estimating those.
XPlanner Overview (cont.) • Information about team development velocity from the previous iteration is used to estimate if the team can complete the stories proposed by the customer. • The XPlanner tool was created to support this process and address issues experienced in a long-term real-life XP project.
XPlanner Overview - Roles • Customer: Person who wrote the User Story • Tracker: Person who facilitates the development of the Story. • Acceptor: Developer signed up for a particular task
XPlanner Overview - Terminology • Project: The major work item. • Release Plan: Projects are divided into Releases which define the project versions that will be published. • Iteration: A body of work of between 1 and 3 weeks duration, comprising a collection of User Stories chosen from the Release Plan. • User Story: Statement written by the customer defining what a system needs to do. • Tasks: Unit of work contributing to a Story and a duration of 1 to 3 ideal programming days.
XPlanner Overview–Terminology (cont.) • Acceptance tests: Created from Stories and specify scenarios to test when that Story has been correctly implemented. • Spike: Created to discover potential solutions to tricky technical or design problems.
XPlanner Features –Planning/Tracking • Customer and developers define a release plan • Customer defines user stories • Developers estimate the effort required to implement the stories • Implement the stories • Track progress
XPlanner Features - Summary • Simple planning model • Virtual note cards • Support for recording and tracking projects, iterations, user stories, and tasks. • Smart continuation of unfinished stories. • Distributed integration token • Online time tracking and time sheet generation at individual/team level. • Charts for iteration velocity, Scrum burn down, distribution of task types, dispositions, and more. • Metrics generation • Ability to attach notes to stories and tasks.
XPlanner Features - Summary • Iteration estimate accuracy view. • WIKI like Markup Language support: TWiki-style text formatting support with support external tool integration and extensible wiki word linking. • Page showing task and story status for individual developers and customers. • Export of project and iteration information to XML, MPX (MS Project), PDF, and iCal formats. • Integrated, extensible authentication supports multiple projects with project-specific authorization. • SOAP interfaces for advanced XPlanner integration and extension. • Multi-Language support.
Technology and Architecture -VBA *Word *Excel -Cron Job -IDE -RSS • Layered architecture • MySQL (using JDBC) • Oracle DB support • Hibernate object-relational mapping engine • Struts framework • Spring framework • JSP (including several custom tags, CSS, and HTML) Multi-Language
XPlanner Tips • Use a pseudo-iteration to store unplanned stories • XPlanner doesn't currently have direct support for an unplanned story container. However, most teams create a pseudo-iteration called something like "backlog" or "unplanned stories" with a start date far into the future. Unplanned stories are placed in this container and then moved to an iteration during the planning game. Start Date & End Date are far into the future
XPlanner Tips (cont.) • Use Edit links in aggregate pages • In pages showing tables of objects, use the edit link on each row to edit objects rather than selecting the name link, editing the object and then navigating back to the aggregated page. This will save many mouse clicks. Navigator hyperlink Edit items hyperlink
XPlanner Tips (cont.) • Use XSLT to convert XML export data to other formats • You can use an XSLT transform to convert the XML export to formats such as RTF (MS Word), Postscript, or static XHTML pages. XML XSLT RTF
XPlanner Tips (cont.) • Use Virtual note cards to write down the detail. • You can find it in Iterations, Stories, and Tasks. Virtual note cards
http://example.com Customization and Extension • Modifying XPlanner appearance • CSS styling information is in a file, default.css • Header, footer, page layout • XPlanner uses the Struts Tiles framework for page layout. • Custom wiki-style linking to external applications
Customization and Extension (cont.) • Create wiki adapters • Provide somewhat better integration with the external wiki • Customize authentication behavior • FormSecurityFilter, BasicSecurityFilter, NullSecurityFilter • Creating a custom login module • Implement various authentication mechanisms (LDAP,JAAS ) • Customize charts • The charts can be customized using properties • Using the SOAP interface • Introduce it next segment
SOAP interface in Xplanner • In 0.6.2 version • Methods of SOAP interface to support dynamic attributes associated with most XPlanner domain objects. • useful for integrating XPlanner with external systems. Generate and view the WSDL for more details. • Michael G Schwern has developed a Perl module for accessing XPlanner data. • more details in CPAN.
SOAP interface in Xplanner (cont.) • We can do with the SOAP services • write VBA scripts to chart velocities in Excel or generate reports in Word • write a script that runs from a cron job to send you a daily email describing your current tasks • generate RSS channels for tasks as they are created, completed, etc. • Integrate XPlanner functionality into a portal framework or your favorite IDE (if it is SOAP-enabled).
SOAP interface in Xplanner (cont.) • We can do with the SOAP services • Synchronize XPlanner task/story status with a bug tracking system. • automatically create new tasks under a specified story when bugs are reported or mark a bug as resolved when the associated task is complete. • 完整的WSDL下載 http://avatar.cs.nccu.edu.tw:8080/xplanner/soap/XPlanner?wsdl • Account : SYSADMIN • Password: p0o9i8u7
SOAP interface in Xplanner (cont.) • Service API Specification • Project Operations • getProjects() • getProject(int id) • addProject(ProjectData project) • removeProject(int id) • update(ProjectData object) • Iteration Operations • UserStory Operations • Task Operations • TimeEntry Operations • Note Operations • Person Operations 7 Types Operations
Story View Iteration View XPlanner Screenshots
Iteration Metrics Task View XPlanner Screenshots (cont.)
Developer Status Iteration Statistics XPlanner Screenshots (cont.)
Distributed Integration Token XPlanner Screenshots (cont.)
Usage Experience • Schedule vs Duration • Tasks(Activities) Dependence • Calendlar Day vs Work Day • 3 Layer Only (Iterations/User Stories/Tasks) • Actual Cost vs Earned Value • User Friendly
XPlanner Installation • Preface • XPlanner 使用Spring Framework、Struts、Hibernate and MySQL,除了Open Source的特性之外,也集現今以Java 開發Web based所有精華技術於一身。 • Required • Tomcat 4.X+ • Ant • MySQL 5.0 • JDK 1.4+ • Servlet 2.3 (JSP 1.2) • Download the latest release(0.6.2, 0.7<beta>) • Key Points • 安裝XPlanner 僅需六大準備、三大步驟輕鬆完成系統部署。
XPlanner Installation: XPlanner 測試安裝平台 • Windows XP Professional • Red Hat Linux 9 Enterprise • FreeBSD 5.X
XPlanner Installation:六大準備-必要優先安裝軟體 • 安裝 JDK1.4 目前XPlanner僅支援 JDK1.4.x,JDK5以上經測試是無法正常部署的。 • 安裝Ant XPlanner 透過Ant 會讀取 Build.xml自動部署及設定資料庫Table Schema,相當便利。
XPlanner Installation:六大準備-必要優先安裝軟體 • 安裝Tomcat5.0.x XPlanner支援Tomcat5.0.X以上版本(Servlet 2.4 compatible container) • 安裝MySQL 5.x XPlanner支援 4.X以上版本,目前選用最新版本MySQL 5.0來使用。
XPlanner Installation:六大準備-必要優先安裝軟體 • 安裝MySQL GUI Tools 內容包含有MySQL Administrator、MySQL Query Browser、MySQL Migration Toolkit、MySQL Workbench。 • 下載XPlanner 原始碼 最新版本為Version 0.7b7 http://www.xplanner.org/
XPlanner Installation:三大步驟-部署執行XPlanner • 修改xplanner-custom.properties 當要使用MySQL資料庫或帳號與預設不同時才需要編修此檔,否則使用預設值即可。非必要執行步驟 • 部署XPlanner應用程式 AP目錄複製到 Tomcat 之/webapps下,並重啟Tomcat。若系統會第一次部署速度會較慢。
XPlanner Installation:三大步驟-部署執行XPlanner • 開始快樂使用XPlanner http://localhost:8080/xplanner/
XPlanner Installation:安裝注意事項及心得 • 於FreeBSD、Linux或UNIX Like上安裝,必需安裝有X11,才可正常顯示XPlanner 的圖表內容。 the X Window System (commonly X11 or X) is a networking and display protocol which provides windowing on bitmap displays. (出處wiki) • 現行大部份的Linux,都會自動安裝有X11,因此較無此問題,但目前XPlanner是使用Lab 的FreeBSD 上並未預載安裝有X11,使用網站上修改作法並無法正確顯示圖像,尋找參考XPlanner Discussion Forums才發現許多人都有相同的問題,因此還是建議安裝X11根本解決此問題。
Conclusions • Team performance measurement • Participation • Attitude • Quality • Contribution • Team Work • Work Partners • Competent Jerks • Lovable Fools • PM’s Job & responsibility
Q&A • Thanks for your attention • Great thanks to my fantastic team members