background preloader

Extreme Programming

Extreme Programming
Planning and feedback loops in extreme programming. Extreme programming (XP) is a software development methodology which is intended to improve software quality and responsiveness to changing customer requirements. As a type of agile software development,[1][2][3] it advocates frequent "releases" in short development cycles, which is intended to improve productivity and introduce checkpoints at which new customer requirements can be adopted. Critics have noted several potential drawbacks,[5] including problems with unstable requirements, no documented compromises of user conflicts, and a lack of an overall design specification or document. History[edit] Although extreme programming itself is relatively new, many of its practices have been around for some time; the methodology, after all, takes "best practices" to extreme levels. Origins[edit] The first time I was asked to lead a team, I asked them to do a little bit of the things I thought were sensible, like testing and reviews.

Opinion: Students, Version Control! [Insomniac Games designer Lisa Brown presents an informative primer on version control software for students, offering a crash course, tips, and useful resources, in this #altdevblogaday-reprinted opinion piece.] Here's one for all the students out there. Since I'm still relatively fresh out of grad school (though I don't know when one starts ripening, honestly), I often have students approach me with questions about what they need to do/learn/etc. that will help them get into game development. I try as much as I can to remember the state of not-knowing I had before, which is difficult to do as what once were new insights turn into normal routine. The other day I was futzing around on the internet, trying to find if there was a way to integrate Devtrack and Perforce, when a thought hit me so hard that I nearly fell out of my chair! I feel like that's probably the case with most game developers who use version control every day. What's Version Control? Making the Transition Resources

Test-driven development Software design using test cases Test-driven development (TDD) is a software development process relying on software requirements being converted to test cases before software is fully developed, and tracking all software development by repeatedly testing the software against all test cases. This is as opposed to software being developed first and test cases created later. Software engineer Kent Beck, who is credited with having developed or "rediscovered"[1] the technique, stated in 2003 that TDD encourages simple designs and inspires confidence.[2] Test-driven development is related to the test-first programming concepts of extreme programming, begun in 1999,[3] but more recently has created more general interest in its own right.[4] Programmers also apply the concept to improving and debugging legacy code developed with older techniques.[5] Test-driven development cycle[edit] The following sequence is based on the book Test-Driven Development by Example:[2] 1. 2. 3. 4. 5. Repeat

How to create sliding feedback form using jQuery In this tutorial we are going to learn how to create fancy looking feedback form which slides from the right/left side of your web page. I am sure there are many plugins available for CMS like Joomla, WordPress but it’s always a good idea to code something of your own. Certainly, you require this code when you are developing everything at your own and not using any kind of CMS. So let’s see how it actually works! Watch Live Demo | Download Source Code Concept Theoretically here is what we are going to do. HTML Code: In the HTML code, we simply define the form inside the div containing id feedback. JavaScript Code Right at the top we have included the jQuery, that means we are going to use jQuery and it’s selector to do most of the work. This way you can develop the sliding Feedback form your own website. Stay Digified!!

Git - Fast Version Control System Velocity (software development) Velocity is a capacity planning tool sometimes used in Agile software development. Velocity tracking is the act of measuring said velocity. The velocity is calculated by counting the number of units of work completed in a certain interval, the length of which is determined at the start of the project.[1] The main idea behind velocity is to help teams estimate how much work they can complete in a given time period based on how quickly similar work was previously completed.[2] The following terminology is used in velocity tracking. Unit of work The unit chosen by the team to measure velocity. Interval The interval is the duration of each iteration in the software development process for which the velocity is measured. To calculate velocity, a team first has to determine how many units of work each task is worth and the length of each interval.

An Introduction To LESS, And Comparison To Sass Advertisement I’ve been using LESS1 religiously ever since I stumbled upon it months ago. CSS was never really a problem for me, in and of itself, but I was intrigued by the idea of using variables to create something along the lines of a color palette for my websites and themes. Having a color palette with a fixed number of options to choose from helps prevent me from going color crazy and deviating from a chosen style. As it turns out, LESS — and Sass for that matter — are so much more than that. LESS and Sass share a lot of similarities in syntax, including the following: Mixins – Classes for classes.Parametric mixins – Classes to which you can pass parameters, like functions.Nested Rules – Classes within classes, which cut down on repetitive code.Operations – Math within CSS.Color functions – Edit your colors.Namespaces – Groups of styles that can be called by references.Scope – Make local changes to styles.JavaScript evaluation – JavaScript expressions evaluated in CSS. LESS Is More

Features - Game Design Methods: A 2003 Survey At the Game Developers Conference this week in San Jose, two roundtable discussions [20] will be dedicated to the topic of "game design methods" - that is, methods for planning and defining gameplay. To set the stage, this article presents a cursory overview of past and present efforts to define structured, formal game design methods. Some of the proposals referenced here were originally started several years ago, others were conceived as recently as a few months ago. The Aim Of Game Design Methods Compared with the vast body of operational knowledge found in the world of filmmaking, the game design community is just beginning to articulate the concepts and techniques specific to our medium in order to establish methods of game design. Relate to game design. This article focuses on design - how to plan and define gameplay, and how to make it work. What are the equivalents of script or storyboard for game pre-production? Game Design Documents

Software as a service According to a Gartner Group estimate, SaaS sales in 2010 reached $10 billion, and were projected to increase to $12.1bn in 2011, up 20.7% from 2010.[6] Gartner Group estimates that SaaS revenue will be more than double its 2010 numbers by 2015 and reach a projected $21.3bn. Customer relationship management (CRM) continues to be the largest market for SaaS. SaaS revenue within the CRM market was forecast to reach $3.8bn in 2011, up from $3.2bn in 2010.[7] The term "software as a service" (SaaS) is considered to be part of the nomenclature of cloud computing, along with infrastructure as a service (IaaS), platform as a service (PaaS), desktop as a service (DaaS), backend as a service (BaaS), and information technology management as a service (ITMaaS). History[edit] Centralized hosting of business applications dates back to the 1960s. The expansion of the Internet during the 1990s brought about a new class of centralized computing, called Application Service Providers (ASP). Pricing[edit]

LESS « The Dynamic Stylesheet language Do Ocracy A do-ocracy (also sometimes do-opoly, which is a more obvious pun on “duopoly”) is an organizational structure in which individuals choose roles and tasks for themselves and execute them. Responsibilities attach to people who do the work, rather than elected or selected officials. The term is popular with libertarian management afficionados and BurningMan? participants. It also has a Zen nature that can be hard for some people to fathom. “Why is it Lion who posts so many big ideas on CommunityWiki?” A do-ocratic example: 30 people are going to Burning Man and camping together. A new campmate may grumble, “Jeez, why does Mary get to decide what everyone eats and when they work? A second example: in a medium-sized corporation, the IT group has become ossified and unresponsive to their users’ needs. Things come to a head when one of IT’s star 36-month projects is cancelled because “the app those guys in Marketing did for us is good enough.” Necessary conditions Stakes are low. Contrast Wow!

Service-oriented architecture See also the client-server model, a progenitor concept A Service-Oriented Architecture (SOA) is a design pattern in which software/application components provide services to other software/application components via a protocol, typically over a network and in a loosely-coupled way. The principles of service-orientation are independent of any vendor, product or technology.[1] A service is a self-contained unit of functionality, such as retrieving an online bank statement.[2] By that definition, a service is a discretely invokable operation. Services can be combined to provide the complete functionality of a large software application.[3] A SOA makes it easier for software components on computers connected over a network to cooperate. Definitions[edit] A paradigm for organizing and utilizing distributed capabilities that may be under the control of different ownership domains. The Open Group's definition is: Overview[edit] SOA framework[edit] Design concept[edit] Principles[edit]

SASS vs. LESS "Which CSS preprocessor language should I choose?" is a hot topic lately. I've been asked in person several times and an online debate has been popping up every few days it seems. It's nice that the conversation has largely turned from whether or not preprocessing is a good idea to which one language is best. Let's do this thing. Really short answer: Sass Slightly longer answer: Sass is better on a whole bunch of different fronts, but if you are already happy in LESS, that's cool, at least you are doing yourself a favor by preprocessing. Much longer answer: Read on. The Much Longer Answer The Learning Curve with Ruby and Command Line and Whatever The only learning curve is the syntax. Winner: Nobody Helping with CSS3 With either language, you can write your own mixins to help with vendor prefixes. In Sass, you can use Compass, and Compass will keep itself updated, and thus the prefix situation is handled for you. In LESS, there are also some mixin libraries battling to be the best. See that?

Cross-functional team A cross-functional team is a group of people with different functional expertise working toward a common goal.[1] It may include people from finance, marketing, operations, and human resources departments. Typically, it includes employees from all levels of an organization. Members may also come from outside an organization (in particular, from suppliers, key customers, or consultants). Cross-functional teams often function as self-directed teams assigned to a specific task which calls for the input and expertise of numerous departments. Assigning a task to a team composed of multi-disciplinary individuals increases the level of creativity and out of the box thinking. Effects[edit] Less unidirectional[edit] Up until recently, decision making flowed in one direction. Greater scope of information[edit] Cross-functional teams require a wide range of information to reach their decisions. Greater depth of information[edit] Greater range of users[edit] Less goal dominated[edit] See also[edit]

Related: