Home / Digitec Coding Practices / Digitec Agile Process
Digitec Agile Process
Overview
The Agile Manifesto introduced the umbrella term Agile Software Development
in 2001. This term describes a group of software development methods based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams.
Agile Software Development
REF -The roots of the methods used at Digitec originate with Extreme programming, which was a predecessor to Agile.
Extreme Programming (XP) is a software development methodology which is intended to improve software quality and responsiveness to changing customer requirements. 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.
Extreme programming
REF -Some Scrum methods are used for production versions of large projects.
http://en.wikipedia.org/wiki/Scrum_(software_development)
REF - [Scrum](The Process
Generally one needs to design and tailor the agile process around the team, and some elements will vary on every single project.
We would still call what we follow today, Agile Software Development (using healthy doses of XP and SCRUM):
- No one writes a line of code without a specification.
- We divide every project as follows (Extreme programming terms on right):
- Project Name (Epic )
- Version (Iteration)
- Milestone (User Story)
- Issue (Task)
-
We have various fancy information radiators on this like unit testing, functional testing, behavior testing, continuous integration, etc.
-
Software versioning is intimately tied to the process and usually a trigger for the radiators.
-
Teams have a short meeting every single morning in which each developer goes over what (and how) they did yesterday, what they hope to get done today (and how) and ask any questions that they have.
-
Milestones are usually two weeks long and we do make the deadline sacred at the expense of task completion (this can vary per milestone).
-
All of these constructs (except the meetings) are managed through software and automation.
-
We also follow open coding standards for the languages we use and publish our own coding style guide which is based on open standards and well as some the preferences of our senior software engineers.