The Future of Agile

Post on 15-Jan-2015

576 views 0 download

description

 

Transcript of The Future of Agile

FutureAgile

Andy Singleton

Who is Agile?Startups Agile with out thinking about it Release early, release often Lean startups – agile customer dev

Corporate Agile Consultants Hired by clients that are not agile Tend to define the words Can explain the process

Agile history and forecast1. Microsoft daily build, Netscape weekly beta

releases2. Agile manifesto. From consultants. Several

named methodologies, like Scrum3. Corporate Agile phase, scrum masters, etc.4. Scrum / Kanban / XP / Lean -> Generic lightweight5. Large scale and ecosystem. Code contribution

process, “Backwards Agile”6. Distributed agile software and hardware dev7. Wider array of acceleration tools, wielded by tech

leads

Large Agile ProjectsAgile methodologies were designed for small

co-located teams of 5-10 peopleThis has been working well because

productivity increases, more projects come into the scope of small teams. Also driving the startup world.

Loading the dice: Small teams are always more efficient with any methodology

The real proof, and expense, is in large projects. Not covered by most agile methodologies

Large scale agile methodsMythical Man Month claims – control

communicationScrum of Scrums – hierarchical controlBackward Agile – Do the planning at the endCode contribution mechanisms for Backward

AgileCode review systemsContinuous release and Kanban tendenciesCross-team dependency resolution, “all at once,”

not scrum of scrums. Problem is dependency, not communication

Five Acceleration StreamsSoftware development is getting more

productive.Five contributors:

1. Methodologies, like Agile, and management2. Tools3. Platforms and code4. Cloud and on-demand resources5. Staffing innovations (on-demand, outsource,

crowdsource, distributed)Future: Need to work across all of these

Global and Distributed TeamsAgile methodologies SPECIFY co-location.Only about 20% of modern software teams

are co-located

We focus on truly global teams, as opposed to teams with multiple locations, “insourced” and “outsourced”

Possible with a few simple tools and techniques

6 Keys to Distributed Agile1. Share a daily or continuous build2. Release on a fixed schedule3. Write it down in tickets4. Daily report and chat5. Watch a team activity stream6. Recruit good people

6 Things to skipIncreased productivity comes from doing less

work

1. Travel2. Architect in Advance (ALAP controversy)3. Add project managers4. Conference Call5. Interview6. Estimate

Distributed Agile Hardware DevYou can run distributed agile development in

any situation where you can do a daily build at your locations

Modeling, Simulation, TTL inventory, FPGA, 3-D printers, on-demand fabrication, etc.

Other on-site build tools?Emerging “builder” communities and open

source hardware

Technical leadsProject Manager – knows the process, can lead,

but does not know the subject matterScrum master – Coach for the team. Neither a

leader nor a developer. Huh?

Technical lead – Developer who leads the development team, manages the immediate stack of tasks

Needs some simple management trainingRequired for distributed teams. They

communicate by sharing code and designs.

Technical Lead SkillsDevelopment: You should be a developer, a good one.

Release Management: Your main job is to resolve needs and roadblocks. Keep everyone working and builds running.

Product Management: Prioritize. Saleable, and minimum releasable features. Let data drive your development by always gathering data for your problems and to prove your solutions.

Recruiting: Learn how to test people inside the team. Don’t waste time with paper work. Document the “getting started” and learn to do “on boarding” to help them get started.

Managing People: Be honest and helpful. Understand communication problems instead of getting angry about them.

AssemblaFor More Information:

www.assembla.comblog.assembla.com

1-781-583-7541

Get a 30-day FREE trial of Assembla at www.assembla.com/plans