Agile-Team Versatile Project Management for the Agile Team
Benefits of Agile-Team • Improved Team Efficiency.-By providing an integrated framework to ease workflow, management, planning and give clear information and overviews to all persons involved in the process. • Reduced Costs.- By better planning, knowing who should do what and when – and what should not be done. • Higher Software Quality.- By keeping track on Bugs, Tasks, Issues, Ideas and the workflow. • Greater Customer Satisfaction.- By proper management of Issues, defects, change request deadlines etc. • Reduced Risk- By making it visible what the consequences are for handling changes in functionality, estimates, resources, plans…
Mission and SCOPE • Application Lifecycle Management(ALM). • Enterprise wide Project Management(EPM). • Management Information System(MIS). • Change Management. • Defect Tracking. • Time reporting. • Version Management. • Knowledge Base generation. • Agile-Team is really just a database of WorkItems and a needed other artefacts and functionality for handling these.
Development Methods Agile-Team can support development processes from traditional waterfall methods to Agile iterative development methods like Scrum, Crystal Clear, Extreme Programming, Adaptive Software Development, Feature Driven Development and DSDM. What ever method you use; the goal of Agile-Team is to give you overview of your projects and make management easier.
Managing a dynamic world • Support Creative work and Iterative Development Models. • Instead of focusing on Critical Path - focus on the critical Resources. • Instead of focusing on large GANTT displays - focus on phases and transsisions. • Plan in multiple dimensions: Work, Phase, Resource, Priority, …. • Promote: Describe - Analyze - Decide. • Plan can easily be changed by Drag and Drop to schedule to different Milestones, Resources etc. • Work Packages and Items can dynamically be subdivided. • Schedules are automatically recalculated.
Multidimensional Planning • Work; Breaking down the Job. • Time; Milestones; Phases; GANTT chart. • Part; The architecture. • Resources; Who are assigned? • Customers, Contracts, Domain etc. • Grouping can be dynamically selected at any dimension. Sum work time at any level. • Sorting, Filtering, Column selection... • Gives a great possibility to inspect the plan from many angles.
Relations to other systems Customer Address list BookKeeping Agile-Team Project Management Defect Tracking Time Reporting Contract Management HelpDeskCustomer portal Source Control Mail system
Technical • All information is stored in an SQL database, and can be presented, linked and handled in many ways. It provides the reliable and secure storage of your mission critical data. • Agile-Team is a.NET application using SQL or Windows authentication to validate users. • Helpdesk is an ASP.NET application, and Helpdesk is browser independent.
Getting Started 1 The first window you see is the WorkItem Explorer. It consists of: Menu Toolbar Selector List Pane Status Bar 2 3 4 5 • In order to start you need to: • Create Resources • Create Projects • Create WorkItems
How to create Resources Creating a Resource will create a login for the Resource to the Agile-Team database. Also it is the resources that can be assigned to the work packages and as managers to projects etc. In order to create a new Resource, select Resources Tab in Selector, select the Root node and choose Add SubItem from context menu. Define new Resource Properties from the Dialog window Common Operations with Resources
Resource Properties When you are creating new Resource you need: Set the Resource type. It can be Resource or Group. Select existing Login from the list or, Create a new Login. Type the full Name for the Resource. Type initials or another Nick Name for the Resource. Optionally type an e-mail address. Select a Calendar for the Resource. When a new Resource is successfully created, it will appear in the Resource Tree of the Selector. 1 2 3 4 5 6 7
Calendars 1 Calendars are the Agile-Team entities that serves as a basis for Time Reporting and used by Scheduling Engine for calculation of Project plan. You can have as many calendars as needed. When you manage Calendars you have to: Set how many hours employee can work at each day; Assign the Holiday set for selected Calendar; Define days which are holidays for each Holiday set; For each holiday you can specify whether it is repeated the same date annually, or can be at another date; (5) For a Resource it is possible to use different Calendars in different periods. 2 3 4 5
How to create a Project Projects are the main entity of management in Agile-Team. A Project is the subject of periodic reporting, planning, etc. Agile-Team handles Projects and WorkItems in one tree, which can organize Projects in groups and divide Projects into sub-Projects. ( This is often referred to as a Work Breakdown Structure – WBS for short.) A very important feature of Agile-Team is inheritance in the WBS tree. If a property is set for the parent node, this will also be set for all child nodes - if they do not have their own setting for this property. In order to create a new Project, select the Projects Tab in the Selector, select the node you wish to be Parent for a new Project (may be Root),and choose Add SubItem from context menu. Common Operations with Projects
Project Properties Projects have many properties which are grouped in different tabs. When you are creating new Project you need: Select the Parent for the new Project. Type the Project Title. Set the node type: Project or Group. Set the state for the Project: Active, Inactive, Closed. In some cases you will want to create Inactive Projects – and then set them to Active state when there is a GO for the project. Optionally you can: Select the “Source Code Branch” for new Project – when working with software versions and Source Control system. Mark the Project as Obsolete. Set whether the Project uses WBS Numbering. (Like Heading 1, 1.2, 1.1.3…) The Done State field is automatically calculated, and indicates that all child nodes are Done. 1 2 3 4 5 6 7 8
How to create WorkItems 1 When you have created a Project, you are ready to create WorkItems for this Project. WorkItems are the main entities in Agile-Team. A WorkItem represent a separate element of work – a job that must be done – a task –a recurring activity – or fixing a BUG etc. A WorkItem has many properties like a description, time estimations, and Resources, which should perform the job. Each WorkItem can consists of several atomic Activities like Analysis, Implementation, Documentation, Testing, etc. 2 In order to create a new WorkItem you can: Press “New WorkItem (F7) toolbar button, or Choose “Add Child WorkItem” from context menu Then you can edit new WorkItem Properties in WorkItem Dialog
WorkItem Dialog and WorkItem Pane Agile-Team offers two ways to inspect and edit WorkItems: WorkItem Dialog – a separate modeless window. It is possible to open and edit several WorkItems simultaneously. WorkItem Pane – the panel that can be glued to some WorkItem Explorer border. The WorkItem dialog can be opened several ways: By double-click or pressing “Enter” key on a WorkItem, selected in List pane of WorkItem Explorer, Using menu command Actions/Open Selected WorkItem (Ctrl+F8) and others. In contrast to the WorkItem dialog, the WorkItem Pane can be opened only one way: using menu command View/WI Pane (Ctrl+W). The WorkItem, which is selected in List pane, will be shown in WI pane. Thus, WI pane is useful to quickly inspect the WorkItems while scrolling through WorkItem list in the List pane. 1 2
WorkItem Dialog (Common Properties) 1 2 3 4 5 Both WorkItem dialog and WorkItem pane are fully customizable, and can have various layouts. Here we will describe WorkItem dialog using examples with predefined layout for BUGs. 6 Common WI Properties
WorkItem Dialog (Descriptions TAB) WorkItem can contain a number of Descriptions. Descriptions are documents that outline various aspects of the WorkItem. Agile-Team provides an editor that support three different formats: Plain Text, RTF, Microsoft Word. The document format can be switched using “Mode” drop-down menu at the editor’s toolbar. 1 2 3 4 5 The following additional properties are accessible through Description tab. Usethisbutton to edit in full screen mode
WorkItem Dialog (Management TAB) Properties, that are at this page are used to control WorkItem state and workflow. The most important part of this page is Activity control sheet. 1 2 3 4 5 6 7 8 9 10 11 Active State. It can be: Active, Inactive, and Closed. You can report time only for active WorkItems Total Allocated Time(hours budget) for the WorkItem Flag, that mark this WorkItem as not relevant any more.
WorkItem Dialog (Time Reports TAB) This tab is used to report time spent on WorkItem Activities. Main part of this tab is occupied by Time Reports grid (1). In order to insert a new time report you should press button “Insert” (2). When you want to edit the existing time report, you may press “Edit” (3) button, or edit Time Report record directly in the grid. In both cases the dialog for Time Report will appear. This dialog contains the following fields: 2 3 1 4 5 6 7 8 9 10 11 12
WorkItem Dialog (Time Constraints TAB) Time constraints are primarily used for Planning. 4 7 6 1 2 3 Additionally, at this page you can specify the Product Version (6)where the Bug was fixed, or new feature was appeared. It is possible to specify several versions in different product branches.
WorkItem Dialog (Dimensions TAB) A fundamental concept in Agile-Team is the possibility to consider the process in multiple dimensions. Agile-Team allows you to see, plan, operate and report in your preferred dimension structure. Examples of dimensions are: work, projects, phases, contracts, product structure, organization versions, customers etc. The grid (1) at this page allows you to control Part and user-defined Dimensions, which are (can be) linked to this WorkItem. Usually, WorkItems inherit their Part and Dimensions form parents, but you may want to override it. 1
WorkItem Dialog (Miscellaneous TAB) This page contains fields for the following WorkItem Properties: 1 2 3 4 5 8 6 9 7
WorkItem Dialog (Predecessors TAB) This page is used to control the list (1) of predecessors for the current WorkItem. Only immediate predecessors are shown here. In order to investigate all predecessors use Gantt view. You have options to Add (2) and to Delete(3) predecessors for current WorkItem. 2 1 3
WorkItem Dialog (Helpdesk TAB) Helpdesk page is used to give public description for the WorkItem. It will be used in web pages for the Knowledge Base and Product Update Notes. Thus, the WorkItem will produce Knowledge Base article. You can give alternative title for the article, which will override WorkItem title. The article text is edited in HTML editor, which has two modes: Design: WYSWYG HTML Editor HTML Source: is a plain text editor, which allow full control over native HTML code. The HTML editor supports basic formatting and clipboard operations. You can insert hyperlinks and images in the document.
WorkItem Dialog (History TAB) The History tab records all important changes, which were made for a WorkItem. The grid has two pages: General and Time Report History. General page displays log for changing of WorkItem properties, and Time Report History shows the log for all changes made with Time Reports.
WorkItem Dialog (Layouts) Agile-Team has many features and properties. In order to simplify the use, people must see only relevant properties for their work. The Layout Designer allows to create layouts for work item dialogs, which includes only desired properties. A Layout is a property of a Project node so it is possible to choose layouts for a project or a group of projects. (With the menu command View->Layout it is possible to select a specific layout. )
WorkItem Explorer (Ctrl->E) 2 3 The WorkItem Explorer displays a list of selected WorkItems. The WI Explorer consists of the following Elements: The Selector displays the dimensions as hierarchical trees. When nodes are selected from the dimensions only WorkItems belonging to these Dimension nodes are shown in the List pane; Search functionality –user enter the conditions for search for WorkItems; Filter functionality – contains many possibilities to filter WorkItems like Open, Done, MyTasks etc. List pane – used to display the list of WorkItems; Gantt pane –Gantt diagram for the WorkItems in the List pane; WI pane – used to display and edit properties of the WorkItem, selected in the List pane. The status bar shows what dimension nodes are selected, and what filter and search conditions are selected – these selections are the basis of selecting the list of WorkItems. 4 5 1 6 7 All panes, except of Data and Gantt Pane can be shown, hidden, or moved at any place in the WorkItem Explorer . List pane is persist one. Gantt pane is rigidly bound to the right border of the List pane, and can only be shown or hidden, but not moved
WorkItem Explorer (Columns, Grouping and Sorting) (1) .Selecting Columns The List pane of the WorkItem Explorer can display a number of columns, that correspond to the WorkItem Properties. In order to choose which columns are to be shown, you use Column Picker. (2). Grouping It is possible to group on any column: Right-click on the column header and choose “Group By This Field” from the context menu . It is possible to select several levels of groupings. Time columns and WI Count are summed for each level of grouping . For example, this can give a quick overview of how much work is assigned to each person in the team, or how much work there are in each sub-Project, etc. Each lower level in the tree gets a slightly different color. (3). Sorting Clicking in any Column header specifies that WorkItems should be sorted according to this Column. 3 2 1
How to inspect historic time period columns. Along with the columns, described above, there are a number of Time Period columns. Time Period columns display sum of time reports (used time) for the specific periods: Days, Weeks, Months, Quarters, Half of Year, Years, Fiscal Quarters, Fiscal Half of Year, Fiscal Years. For each type of time period you can select the desired depth of exploration for past and for future.
WorkItem Explorer (Filters) 1 (1) The filter mechanism in Agile-Team can be used for advanced conditions for selecting of WorkItems. (2) New Filters can be created as private for the individual user or as public for all users. (3) Filters are Logical Expressions that can contain AND, OR, NOT logical operations. Brackets can be used. (4) Conditions are generally constructed by referring to a Property, a Relation, and some Values. The relations will be evaluated when a Filter is applied. (5) Applied filter is shown in the Status bar. 2 5 3 4
WorkItem Explorer (Search Facility) 1 5 Search tool in Agile-Team allows selecting WorkItems through the full-text search on the contents of such fields as Title or Description. Search Tool is invoked by: Pressing Search button at the Main Toolbar (1) Issue menu command View/Selector Pane/Search (Ctrl+F) When Search Tool is activated it replaces the Selector, and vice versa. Search Panel contains three child panels: Search (2) Here you define your search terms by entering the string to be looked for, the fields to be included in search and the search type. Use Filter (3) It is possible optionally apply a Filter to the Search result. Use Selector (4) Local Selector is the copy of Main Selector, but it is applies only for search task. Along with the Search Panel Agile-Team offers Quick Search Bar (5). 2 3 4
WorkItem Explorer (Activities) It is important to understand that the WI Explorer regard the Activities is a the basic unit in Agile-Team. When you doing some search or selection, then result will contain the set of Activities, that meet the search or selection conditions. If the grouping in WI Explorer is not used at all, then the Data pane will just contain the list of selected Activities (1). With the Activities toolbar button(2) you can have the Explorer showing the activities for each WorkItem, so it is possible to inspect who is assigned to each activity, how much time is spent, when the activity is planned etc. 1 2 The WorkItem explore has comprehensive support for Drag and Drop. By dropping WorkItems on nodes in the selector trees, it is possible to assign them to different resources, phases, versions etc. When Grouping is used, then you can hide/show Activities any time by pressing F4 hotkey, using toolbar (2), or with menu command View/Activities.
WorkItem Explorer (My Tasks) There are many ways to customize and organize how a person see his own tasks and how they are scheduled.
WorkItem Explorer (Views) 1 In order to not select all columns, grouping, sorting and other settings again and again, Agile-Team implements a concept of Views for the WorkItem explorer. Views can be edited, saved, and easily applied for the current selection of project(s). The view concept in Agile-Team is quite similar to the View concept in Microsoft Outlook. Views can be private or public for all. In order to apply any of previously designed and saved views you can choose it from menu View/Current View (1), or from toolbar dropdown list. While almost all customizations can be made interactively, like columns dragging, or similar action, Agile-Team offers full-featured dialog based tool for detailed WorkItem Explorer customization. This tool can be invoked with menu command View/Current View/Customize Current View (2). Once customized, WorkItem Explorer can be saved as Named View for further reusing. It can be performed with menu command View/Current View/Save View As (3). 2 3
Reporting Time Spent Agile-Team has comprehensive support for time tracking. The time tracking can be the basis of creating reports to customers or management, but studying how time is spent is also very valuable for estimation and planning for the future. A time report can be entered directly in the Work Item dialog, but also Daily or monthly views give convenient ways for to enter the time reports.
TimeReports Daily View (Ctrl->T) The TimeReport Daily shows activities that are available for Time Reporting for selected Resource and at the selected date. Activities are displayed in a grid which is able to group, sort, and filter them. In order to enter new Time Report, just select the proper Activity and enter the amount of hours, spent on this activity in the “Hours” column. You can add short comment to the Time Report. Simply type the comment text in the “Comment” column for selected Activity. Press “Enter” to end the typing. If you can see that the estimate for completion of the activity is not correct you can change the “Rest “ column. And finally, you can choose to set the selected Activity Done. Just check the box in the column Done for this activity.
TimeReports Monthly View (Ctrl->M) The TimeReport Monthly view displays the time reports for a full month including some bottom rows that shows accumulated time and balance from the expected number of hours from the persons calendar. Holidays are highlighted by slate red color. Current date is highlighted with yellow color. In order to get more compact view you can expand or collapse Daily sheet of the TimeReport Monthly View using Weeks toolbar. Along with standard clipboard operations , the Time Report Views provide you with commands to cut, copy and paste time reports for a Cell, a Column or a Row. Just select the item, and right click to bring up the context menu. TimeReport Monthly View allows summing of reported time by Activities and by Days and Weeks. It contains column Month and four summary rows at the bottom. Summing of reported times by Activities (horizontally), gives the possibility to see how many hours have been used on a given item during the month. Summing by Days or Weeks (vertically), gives the possibility to see how many hours have been used each Day, each Week and while the whole Month.
Customization of time report views Both Daily and Monthly TimeReport view show only Activities that: Are assigned to selected Resource and have “Active” state; Are “Made available for Time Reporting”; (A concept to make it convenient for users to report time on Activities that are not assigned to him/her) Activities that were previously reported by selected Resource for selected time period (day or month); The list of Activities for Time Reporting may be rather long. Agile-Team offers several quick filters in order to show only desired part of this list. These filters are located in menu View and at Daily and Monthly View Toolbars. Note, that activities that are brought in Time Reporting, will be shown always, except of the case when reported Used time is Zero, and Hide Zero Rows option is OFF.
Planning Calculating a schedule in Agile-Team is very simple: just call menu item “Actions -> Planning”! The plan calculation is done simultaneously for all the Projects. So all Planning results are up-to-date, right after you invoke the Planning menu. Another story is that to do Planning you have to prepare many things, such as: creating Projects and WorkItems, assigning Resources, make time estimates, specify Work Item Priorities and which Phases they belong to, etc. Finally it is needed to specify how and when resources are allocated to the projects (what is sometimes called Resource contracts). The plan can be visualized by means of Explorer columns : “Start”, “Finish”, “UnPlanned”, “Resource” and the Gantt Pane. Agile-Team implements an advanced automatic scheduling concept that can automatically keep the schedules for the project updated in the ever changing world of new defects, changed estimates, change requests, changes in resource priorities, assignments and availability. With Agile-Team it can be easy to see the effect on completion time for changes in resource allocation, starting of new projects etc. Planning as considered by Agile-Team is the process of assigning resources, order and time estimates to the work items. Scheduling is the automatic calculation of start and stop dates for the Work Items and projects. There are several ways to specify the ordering of the Work Items. In some projects work are done in phases/iterations. The planning here is mainly to decide which phase the work items should be done in. The ordering within the phases are sometimes not so important for the planner, other times ordering within a phase are done by giving the work items a priority. In some situations the ordering are done by specifying predecessors or links to other work items, which must be completed before the next can start
Resource Allocations to projects 1 Resource Allocations are the foundation of the Planning algorithm. They specify which Projects (or groups of tasks), in what order, with what limitations, in what time frames, a Resource should work on. Resource Allocation View (RAV) consists of Resource Allocation Records (RAR) that are processed by the Planning algorithm one by one in its Priority order. To work with the RAV use the menu item: “View->Go to->Resource Allocation”. (1) Then choose the Resource in the Selector. (2) 2 RAR Properties (RAV columns)
How Agile-Team calculates a schedule Agile-Team schedules Work Items for a given Resource in a sequence controlled by: Resource Allocation’s. Predecessors. Phase. Priority. EarliestStart/LatestFinish. Active state. (active will come before inactive) When the planning algorithm is running it will take into account only WorkItems that have resources assigned and have a Rest estimate bigger than zero. The plan algorithm will for each Resource look into the Agile-Team Calendar for this Resource and find out how many hours per day the Resource can works. When WorkItems have been assigned to a group of resources, the planning algorithm will automatically select an available resource for the job.
Planning Results You can see Planning results in Explorer columns and the Gantt Pane. Explorer Columns 1. “Start” and “Finish” columns Values in “Start” and/or “Finish” columns may be empty, it means that this node does not participate in Planning (when both values are empty) or appropriate dates cannot be calculated for some reason. 2. “UnPlanned” column The “UnPlanned” column shows how much time remains unscheduled. 3. “Resource” column The content of “Resource” column is extended by the additional list of Resources that are scheduled to an Activity. So, the “Resource” column contains Resources that have TimeReports on this item and that are scheduled to this item. The Gantt Pane visualizes the results of Planning. It has 3 types of time bars: “EarlyStart-LateFinish” bar shows EarlyStart-LateFinish values for a node. “Calculated” bar shows either calculated by Planning algorithm Start and Finish values. For Work Items and Activities, which did not participate in Planning, this bar always shows actual start and finish of a task . “Completion” bar visualize value of Explorer column “Completion”. Gantt Pane offers a lot of tools for grouping, formatting, scaling etc.
The Gantt View 1 The Gantt View is the main tool for Planning results visualization. It offers many nice features for Gantt diagram presentation tuning. Gantt toolbar (1) provides quick access to most frequently used features. Detail customization of Gantt View is performed by means of Gantt Options (2)dialog window. The most frequently used Gantt View options: WBS Node Completion; Show Time Constraints and Conflicts; 2
Gantt View (Completion) Gantt View allows to show the Completion (1) of WBS Item that is (2): Used/Total * 100 % The completion is shown as a narrow bar above the WBS bar (3). 1 3 2
Gantt View(Show Time Constraints and Conflicts) Along with calculated Start and Finish values, you have possibility to see EarlyStart and LateFinish time constraints values (1). If calculated values don’t fulfill time constraints, then such conflicts can be highlighted at the Gantt View (2). 1 2
Gantt View(Show only schedule) Gantt View allows to show either only items scheduled for the future (1), or expand the bars to the past, up to the first actual TimeReport date (2). Time-now is displayed at the Gantt view as vertical green line (3). 1 3 2
Example: An overview of vacations An often needed little detail is to get an overview of when people are planning their vacations. Since the vacations can be entered in the Resource allocations for the purpose of planning, this can be used to create and overview of when people plan their vacation.