Created an initial, viewable version of the site

Signed-off-by: Gergely POLONKAI (W00d5t0ck) <polesz@w00d5t0ck.info>
This commit is contained in:
Polonkai Gergely 2012-04-17 16:46:46 +00:00
parent c3276a06f2
commit e6444617e3
14 changed files with 342 additions and 18 deletions

View File

@ -1,13 +1,21 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>{% block title %}Welcome!{% endblock %}</title>
{% block stylesheets %}{% endblock %}
<link rel="shortcut icon" href="{{ asset('favicon.ico') }}" />
</head>
<body>
{% block body %}{% endblock %}
{% block javascripts %}{% endblock %}
</body>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="UTF-8" />
<title>OpenScrum{% block title %}{% endblock %}</title>
<link rel="stylesheet" type="text/css" href="{{ asset('skins/default/css/mobile.css') }}" media="handheld" />
<link rel="shortcut icon" href="{{ asset('images/favicon.png') }}" />
</head>
<body>
<h1><a href="{{ path('OpenScrumInfoBundle_homepage') }}"><img src="{{ asset('images/logo.png') }}" alt="OpenScrum.org" /></a></h1>
<div id="menu">
<ul>
<li><a href="{{ path('OpenScrumInfoBundle_infopage', { 'page': 'about', '_format': 'html' }) }}">About</a></li>
<li><a href="{{ path('OpenScrumInfoBundle_infopage', { 'page': 'terms', '_format': 'html' }) }}">Terms and Definitions</a></li>
<li><a href="{{ path('OpenScrumInfoBundle_infopage', { 'page': 'faq', '_format': 'html'}) }}">FAQ</a></li>
<li>Buy</li>
</ul>
</div>
{% block body %}{% endblock %}
</body>
</html>

View File

@ -4,7 +4,7 @@ imports:
framework:
#esi: ~
#translator: { fallback: %locale% }
translator: { fallback: %locale% }
secret: %secret%
charset: UTF-8
router: { resource: "%kernel.root_dir%/config/routing.yml" }

View File

@ -8,8 +8,13 @@ use Symfony\Bundle\FrameworkBundle\Controller\Controller;
class DefaultController extends Controller
{
public function indexAction($name)
public function indexAction()
{
return $this->render('OpenScrumInfoBundle:Default:index.html.twig', array('name' => $name));
return $this->render('OpenScrumInfoBundle:' . $this->get('session')->getLocale() . ':index.html.twig', array());
}
public function infopageAction($page)
{
return $this->render('OpenScrumInfoBundle:' . $this->get('session')->getLocale() . ':' . $page . '.html.twig', array());
}
}

View File

@ -1,3 +1,17 @@
OpenScrumInfoBundle_homepage:
pattern: /hello/{name}
defaults: { _controller: OpenScrumInfoBundle:Default:index }
pattern: /{_locale}
defaults:
_controller: OpenScrumInfoBundle:Default:infopage
_locale: en
_format: html
page: index
OpenScrumInfoBundle_infopage:
pattern: /{_locale}/info/{page}.{_format}
defaults:
_controller: OpenScrumInfoBundle:Default:infopage
_locale: en
page: about
requirements:
_format: html
_locale: en

View File

@ -1 +0,0 @@
Hello {{ name }}!

View File

@ -0,0 +1,128 @@
{% extends '::base.html.twig' %}
{% block body %}
<h2>About OpenScrum.org!</h2>
<h3>What is OpenScrum?</h3>
<p>OpenScrum is a tool for agile development. It is a web based tool to manage your project development.</p>
<p>Become a Product Owner, define your Product, gather a Team, add your Ideas, and then all you need to do is to watch as your Product is being developed.</p>
<p>Join as a developer, read the Product advertisements, apply to join a Team, split the Product Owner's Ideas into Tasks, and start developing! You get a fully functional discussion board for it.</p>
<h3>What OpenScrum is not?</h3>
<h4>OpenScrum is not an issue tracker</h4>
<p>Although the product backlog can be seen as one, issues should be tracked in a separate software. For example, the OpenScrum team uses <a href="http://www.bugzilla.org/"target="_blank">Bugzilla</a> for this purpose.</p>
<h4>OpenScrum is not a project planner</h4>
<p>Although the product and sprint backlogs can be seen as one, it doesn't (and won't) provide all features of a project planner.</p>
:wa
<h3>How does it work?</h3>
<p>The whole story is depicted on our <a href="{{ path('OpenScrumInfoBundle_infopage', { 'page': 'terms', '_format': 'html' }) }}#product_lifetime">Terms and Definitions</a> page.</p>
<p>Want to see a real life example with pictures and stuff? Check out the <a href="{{ path('OpenScrumInfoBundle_infopage', { 'page': 'examples', '_format': 'html' }) }}">Examples</a> page!</p>
<h2>Extract of the TODO file</h2>
<p>According to the sprint length, the user story estimations and priorities, the team and the stakeholder create the backlog of the next sprint. The team will use this backlog during the sprint.</p>
<p>However, sometimes it is required to discuss something. This can be done within the specific user story using a chat function. The sprint backlog can not be changed during a sprint, as it would change the sprint's length. Instead, in the discussion, the development of the story can be halted. This, of course will mean that tha story will not be finished at the end of the sprint and will appear as unfinished in the review.</p>
<p>OpenScrum also provides some help during the Daily Scrum. It provides a chat interface on which Team members can discuss the last and next day. If the Team holds the Daily Scrum in person instead, the Scrum Master should upload a brief extract of the Daily Scrum for documenting purposes. These documents are unseen by the Product Owner unless otherwise stated by the Scrum Master.</p>
<p>During the development Team members can login anytime to see or update the status of user stories. Some parts of these updates are published to the Product Owner, so they can monitor the development's status.</p>
<p>When the Sprint is finished, OpenScrum may come in handy for the Sprint Review, either.</p>
<h3>User story sources</h3>
<h4>Product backlogs</h4>
<ul>
<li>customer can priorize user stories by business value</li>
<li>customer must refine the user story, with the aid of the team if necessary</li>
<li>teams can vote for actual story difficulty. Only those stories make into the product backlog, which is approved by both the customer and the team: customer simply approves (yes/no), team assigns difficulty as approval (with a successful vote)</li>
</ul>
<h4>Sprint backlogs</h4>
<ul>
<li>product owner must define the title of each sprint</li>
<li>the team must break down the user stories into tasks</li>
<li>the team must set time requirement for the tasks</li>
<li>the tasks must have a title, a brief and long description and a time frame</li>
<li>chicken access to sprint backlog and task status may be disabled</li>
</ul>
<h4>Help for the daily scrum</h4>
<ul>
<li>display the task states</li>
<li>display the product burndown charts</li>
<li>the team can do the daily scrum via XMPP-based chat, integrated into the site</li>
<li>tasks can be moved at any given time, all charts and reports are updated real time</li>
</ul>
<h4>Sprint review</h4>
<ul>
<li>at the end of a sprint, the customer can accept or decline user stories, depending on their readiness</li>
<li>after closing the stories, the sprint itself is closed automatically</li>
</ul>
<h4>Sprint retrospective board</h4>
<ul>
<li>this is only a small blackboard, on which team members can discuss everything about the current sprint. This is only a tool to aid the scrum master during the retrospective.</li>
</ul>
<h4>Users and roles</h4>
<ul>
<li>each user can be a chicken or a pig</li>
<li>any pig can be assigned to the special role "scrum master"</li>
<li>the scrum master cannot be a product owner for any products</li>
</ul>
<h4>Products</h4>
<ul>
<li>each product must have exactly one product owner</li>
<li>all products must have a product description and may have customer information</li>
</ul>
<h4>Teams</h4>
<ul>
<li>all team must have at least one member to be considered as active</li>
<li>product owners and the scrum master can be the member of any team</li>
</ul>
<h4>Sprints</h4>
<ul>
<li>every sprint mst have a goal</li>
<li>at most one sprint must exist for each product at any given time</li>
</ul>
<h3>OpenScrum.org user stories</h3>
<ul>
<li>as the site owner, I want unregistered users to access the information pages and public Products only</li>
<li>as the site owner, I can decide if I want to allow anyone to register</li>
<li>as a possible later Product Owner, I can register my company providing a contact e-mail address, and optionally uploading a brief description of it</li>
<li>as a possible Product Owner or Team member I can register myself by choosing a username and password, providing a contact e-mail address, and optionally uploding my CV with references and some details about myself</li>
<li>as a registered user, I am able to log in to the site using my chosen username and password</li>
<li>as a Product Owner I can create a new Product on behalf of my company</li>
<li>as a Product Owner I can create advertisement about my product to find developers for my Team</li>
<li>as a Product Owner I can invite developers to my Team</li>
<li>as a Product Owner I can choose a possible Scrum Master from my Team</li>
<li>as a Team member I can vote with a plus or minus on the chosen Scrum Master</li>
<li>as a Product Owner I can set who can add items to my Product's Idea Pool: me, the Team, or anyone</li>
<li>as a Product Owner, Team member or a normal registered user I can add items to the Product's Idea Pool depending on the Product's settings</li>
<li>as a Product Owner or Team member I can vote with a plus or a minus on the Idea Pool items depending on the Product's settings</li>
<li>as a Team member I can estimate the difficulty or required time for each item in the Idea Pool</li>
<li>as a Product Owner, I can see the difficulty or development time estimated by the Team</li>
<li>as a Product Owner, I can promote one of the Team members to Scrum Master</li>
<li>as a Team member, I can put a positive or negative vote on the promoted Scrum Master. If enough positive votes are gathered, the promoted member will become the Scrum Master. If enough negtive votes are gathered, the selected person will automatically be demoted, and the Product Owner has to promote again</li>
<li>as a Product Owner or a Team member (or optionally, as a regular user, if the Product is public), I can add my ideas to a Product's Idea Pool</li>
<li>as a Product Owner, I can see if my Product has an active Sprint</li>
<li>as a Team member, I can see the Idea Pool, Product Backlog and current Sprint Backlog of the Products I am assigned to</li>
<li>as a Team member, I can estimate the difficulty of each accepted items in the Idea Pool of every Product I am assigned to, and optionally enter the reason of my decision</li>
<li>as the Product Owner, I can see my Product's Idea Pool, and accept or reject them. If I accept them and the Team has estimated its difficulty and development time, it gets to the Product Backlog. For both cases, I can add some comments on my decision</li>
<li>as a Scrum Master of a Team, I can enable or disable access to the Sprint's details (chat logs and development boards) for the Product Owner. It should be disabled by default.</li>
<li>as a Product Owner, I can see the Product Backlog of my Products, and priorize the items in it</li>
<li>as a Product Owner, I can import tickets from an issue tracker. These issues get into the Idea Pool, so I can decide if a specific bug or Feature Request get into the Product Backlog, or will be developed/fixed in a different way</li>
<li>as a Product Owner, I can request the beginning of the next Sprint for my Product</li>
<li>as a Scrum Master of a Team, I can start the next Sprint of a Product</li>
<li>as the Product Owner and Scrum Master together we can decide to cancel the current Sprint of a Product, and add the reason of the cancellation</li>
<li>as Team members, we can divide Sprint Backlog items into tasks, predicting the required time and resources for each task</li>
<li>as Team members, we can discuss how a specific User Story will be developed using the chat board dedicated to that User Story</li>
<li>as a Team member, I can update the status of User Stories in the active Sprint Backlog I am assigned to</li>
<li>as the Product Owner or Team member I can see statistics and charts about my Product's past and current Sprints</li>
<li>as the Team, we can send back unclear Ideas to their authors to clarify things</li>
<li>as the Team, we can estimate a Product Backlog item as Extremely Difficult. Such items may get back to the author of that idea to be broken down into smaller tasks, or, if we decide, we can achieve the same</li>
{% endblock %}

View File

@ -0,0 +1,31 @@
{% extends '::base.html.twig' %}
{% block body %}
<h2>FAQ</h2>
<p>Before reading the FAQ, you may want to take a look at the <a href="{{ path('OpenScrumInfoBundle_infopage', { 'page': 'terms', '_format': 'html' }) }}">Terms and Definitions</a>.</p>
<h3>Where can User Stories come from?</h3>
<p>Virtually anywhere. Some examples may be:</p>
<ul>
<li>
<h4>The owner, developers and users of the Product</h4>
The Product Owner will add some for sure, as he has the whole picture in his head. Of course, the Product Owner may change the Product Settings to the Team members can add their own Ideas, or, if the Product itself is for the public, it can be set up so every registered user can add items to the Idea Pool.
</li>
<li>
<h4>An issue tracker</h4>
OpenScrum.org can import bugs and features from issue trackers. This will create special user stories, which later can be revised or deleted from the Product Backlog. However, be warned that by definition, the bugs imported this way will only be fixed at the end of the next Sprint, so a better approach to this would be to fix bugs between two Sprints, or to dedicate some developers who will not work on the next Sprint, but will fix bugs instead.
</li>
</ul>
<h3>How long a Sprint should be?</h3>
<p>By definition, a Sprint is a time frame between one week and a month. To decide the best value, you should ask yourself the question "How do I want to see the next version of my Product, and what does my Team say, how long does it take to develop it?".</p>
<p>You can set a default Sprint length on the Product's configuration page. This value can be changed at the beginning of each Sprint based on the items you want to see in the Sprint Backlog.</p>
<h3>Do I have to use this site? I don't think my Product can be kept secret here...</h3>
<p>The Products you register on OpenScrum.org are private by default. This means that only you, your Team(s), and in case of emergency, our site administrators can see them. However, if you work on a top secret project, but you still want to track the development process with OpenScrum, you can buy the whole source code and run it on your own infrastructure.</p>
<p>Buying OpenScrum will give you a one year read only access to our Git repository, so you will get all the patches and new features during that period.</p>
<h3>What can I do if the development of an item in the Idea Pool takes longer than the maximum Sprint length?</h3>
<p>The maximum length of a Sprint is one month. If the Team says developing a specific idea would be longer than a month, the person who added the Idea will be notified and asked to break down the Idea into smaller Ideas. If he does not do it, the Idea will get inactive. Of course, the Product Owner or the Team may split it into smaller parts without involving the original requestor.</p>
<h3>Should I communicate with my Team as a Product Owner?</h3>
<p>This is a decision you and your Team should make together. Some Teams don't like to be disturbed during the development, others can afford the time and human resources to inform their principals. However, OpenScrum.org provides a neat status page on which the Product Owner can follow the progress of the Sprint Backlog items, which should generally be enough for the average Product Owner.</p>
{% endblock %}

View File

@ -0,0 +1,5 @@
{% extends '::base.html.twig' %}
{% block body %}
<h2>Welcome to OpenScrum.org!</h2>
<p>OpenScrum.org is a web based tool to help development teams to develop using the <a href="http://www.scrum.org/" target="_blank">Scrum</a> methodology.</p>
{% endblock %}

View File

@ -0,0 +1,64 @@
{% extends '::base.html.twig' %}
{% block body %}
<h2>Terms and Definitions</h2>
<h3><a name="product_lifetime"></a>Lifetime of a project</h3>
<p>The <a href="#product">Product</a> is registered by the <a href="#product_owner">Product Owner</a>, its <a href="#idea_pool">Idea Pool</a> is filled with <a href="#idea">Ideas</a>, they get approved by the Product Owner and their difficulties get estimated by the <a href="#team">Team</a>, or get rejected by one of the parties. Approved and estimated Ideas move into the <a href="#product_backlog">Product Backlog</a> as <a href="#user_story">User Stories</a>, where they are priorized by the Product Owner. Meanwhile, the Product Owner and the Team choose a member of the Team, and promote her/him to the role of <a href="#scrum_master">Scrum Master</a>.</p>
<p>When there are enough Ideas in the Idea Pool, the Product Owner and the Team gather in a <a href="#sprint_planning">Sprint Planning</a> meeting to plan the next <a href="#sprint">Sprint</a>. During this time, the chosen User Stories get moved to the <a href="#sprint_backlog">Sprint Backlog</a>. After this, the development of these User Stories begin. Every day, the Team gathers for a <a href="#daily_scrum">Daily Scrum</a>, to discuss what was done on the previous day, and what will be done on the next day.</p>
<p>At the end of the Sprint, the Team and the Product Owner gathers for the <a href="#sprint_review">Sprint Review</a>, to check if the User Stories are developed successfully. User Stories are checked one by one, and the Product Owner decides if they are <a href="#definition_of_done">Done</a> or not. Done items are then moved into the increment, others are revised if necessary, and put back to the Product Backlog. After this, the increment is added to the Product, and the new version is released, if the Product Owner approves it.</p>
<p>After this, the Team stays together, and holds the <a href="#sprint_retrospective">Sprint Retrospective</a> to discuss the whole Sprint, and decide if they have to do things different in the next Sprint.</a>
<h3>Roles</h3>
<h4><a name="product_owner"></a>Product Owner</h4>
<p>The representative person of the <a href="#product">Product's</a> owning company, or the owner himself. By definition he is never part of the <a href="#team">Team</a>, so he is unable to join his own Team, unless the Product is marked Incompatible. In this case, the Product will not be fully conform with the Scrum rules.</p>
<h4><a name="team"></a>Team</h4>
<p>The Team is the person, or group of persons who actually work on the <a href="#product">Product</a>.</p>
<h4><a name="scrum_master"></a>Scrum Master</h4>
<p>A dedicated member of the <a href="#team">Team</a>, who does most of the administrative tasks here on OpenScrum.org, and does the communication between the <a href="#product_owner">Product Owner</a> and the Team. He can be, and usually is a member of the Team.</p>
<h3>Events</h3>
<h4><a name="sprint_planning"></a>Spring Planning</h4>
<p></p>
<h4><a name="sprint"></a></h4>
<p></p>
<h4><a name="daily_scrum"></a>Daily Scrum</h4>
<p></p>
<h4><a name="sprint_review"></a>Sprint Review</h4>
<p></p>
<h4><a name="sprint_retrospective"></a>Sprint Retrospective</h4>
<p></p>
<h3>Objects</h3>
<h4><a name="product"></a>Product</h4>
<p>The Product is something that can be developed incrementally. Most of the time it will be a software. Each Product has a <a href="#product_owner">Product Owner</a>, an <a href="#idea_pool">Idea Pool</a>, and at least one <a href="#team">Team</a>.</p>
<h4><a name="idea_pool"></a>Idea Pool</h4>
<p></p>
<h4><a name="idea"></a>Idea</h4>
<p></p>
<h4><a name="product_backlog"></a>Product Backlog</h4>
<p></p>
<h4><a name="user_story"></a>User Story</h4>
<p>A User Story is what the name suggests: a story, written by the possible users of your <a href="#product">Product</a>. It should be short, while expressing the idea as briefly as possible.</p>
<p>Want to see the User Stories written during the creation of this site? Check our <a href="{{ path('OpenScrumInfoBundle_infopage', { 'page': 'userstories', '_format': 'html' }) }}">User Stories</a> page!</p>
<h4><a name="sprint_backlog"></a>Spring Backlog</h4>
<p></p>
<h3>Other</h3>
<h4><a name="definition_of_done"></a>Definition of Done</h4>
<p></p>
{% endblock %}

View File

@ -0,0 +1,67 @@
{% extends '::base.html.twig' %}
{% block body %}
<h2>User Stories</h2>
<p>These are the <a href="{{ path('OpenScrumInfoBundle_infopage', {'page': 'terms', '_format': 'html'}) }}#user_story">User Stories</a> that inspired us during the creation of the site.</p>
<h3>As the Site Owner...</h3>
<ul>
<li>... I want unregistered users to access the information pages and public Products only</li>
<li>... I can decide if I want to allow anyone to register</li>
</ul>
<h3>As a Registered User...</h3>
<ul>
<li>... I am able to log in to the site using my chosen username and password</li>
</ul>
<h3>As a Product Owner...</h3>
<ul>
<li>... I can register my company providing a contact e-mail address, and optionally uploading a brief description of it</li>
<li>... I can create a new Product on behalf of my company</li>
<li>... I can create advertisement about my product to find developers for my Team</li>
<li>... I can invite developers to my Team</li>
<li>... I can choose a possible Scrum Master from my Team</li>
<li>... I can set who can add items to my Product's Idea Pool: me, the Team, or anyone</li>
<li>... I can see the difficulty or development time estimated by the Team</li>
<li>... I can promote one of the Team members to Scrum Master</li>
<li>... I can see if my Product has an active Sprint</li>
</ul>
<h3>As a Team Member...</h3>
<ul>
<li>... I can vote with a plus or minus on the chosen Scrum Master</li>
<li>... I can estimate the difficulty or required time for each item in the Idea Pool</li>
<li>... I can put a positive or negative vote on the promoted Scrum Master. If enough positive votes are gathered, the promoted member will become the Scrum Master. If enough negtive votes are gathered, the selected person will automatically be demoted, and the Product Owner has to promote again</li>
</ul>
<h3>As a Scrum Master...</h3>
<ul>
<li>... I can enable or disable Product Owner access to sprint details</li>
</ul>
<h3>As a Product Owner or Team Member...</h3>
<ul>
<li>... as a possible Product Owner or Team member I can register myself by choosing a username and password, providing a contact e-mail address, and optionally uploding my CV with references and some details about myself</li>
• as a Product Owner or Team member I can vote with a plus or a minus on the Idea Pool items depending on the Product's settings
</ul>
<h3>As a Product Owner, Team Member or regular Registered User...</h3>
<ul>
<li>... I can add items to the Product's Idea Pool depending on the Product's settings</li>
<li>... I can add my ideas to a Product's Idea Pool</li>
</ul>
<h3>Unsorted and needs-to-be-revised items</h3>
<ul>
<li> as a team member, I can see the backlog of each products, and can vote for the difficulty of each story</li>
<li> as a product owner or customer, I can see the idea pool, and can accept or decline the ideas in them. If I accept them, they automatically get into the product backlog</li>
<li> as a product owner or customer, I can define a business value for each item in the product backlog, thus accepting them from my side</li>
<li> as a team member, I can vote for the difficulty of each user story in the product backlog or the idea pool with an optional reason, thus accepting them from my side</li>
<li> as a product owner, I can import tickets from ticketing systems. Bugs get into the product backlog, feature requests go to the idea pool</li>
<li> as a product owner, I can start a new sprint for my product</li>
<li> as a team member, I can help the product owner in creating a new speint, by dividing the user stories into tasks, predicting an hour requirements for each one</li>
<li> as a product owner or customer, I can edit user stories with high difficulty, so it breaks into smaller tasks, or I clear some things</li>
<li> as a team, we can agree on how we will solve a task, and we can add and modify these details to an open task anytime</li>
<li> as the scrum master, product owner, and optionally as the customer, I can see statistics and charts about my ongoing sprint</li>
</ul>
{% endblock body %}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

BIN
web/images/favicon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
web/images/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

@ -0,0 +1,3 @@
body {
background-color: #ff0;
}