skip to main |
skip to sidebar
Parachute into Brownfield Development
What is?
- Not legacy but not a brand new app
- Possibly gone stale
- You have access to the code you are able to change it
- Not in obsolete technology
Where to start
- Documentation
- Meetings
- Gives you the feel of the team
- Look at the code
- Solve a defect
- Start with a bug fix
- might help to find your way around
- really hard
- Knowledge transfer
- peer programming so get social and guidance
- semi-productive right from the start
- Analyse build process
- Might not always exist
- Shows you the release/code structure
- PCL has a build script, but I can't get it to work
- You learn the 3rd party reliabilities
- Ask, why are you there.
- What happened so bad that I'm here
First steps
- Automate the build / deploy
- Should I jump into the code now?
- Check on the Version Control System
- Is it being used, is it good, can it be improved, how's the structure
- CI
- Make sure it Compiles
- Make sure it Executes
- Then orchestrate Release Management
- You want something you can instantly see
- Only need a Bare minimum box
- Code
- Pair program is the best start
- Path trace
- New feature creation
- Probably just going to end up thrashing
- Style
- Don't worry about changing standards
- Standards are for consistency
- worry about code flexibility
- SRP, SoC, Coupling, Cohesion, Contracts
- Automated testing
- Was it TDD?
- How do they run? Are they good?
- Are they real unit tests
- Take into account your release schedule before you start ripping apart the code
- Goals
- Be nimble, be quick, be agile
Social aspects
- Dev team
- Tech team
- Testing/QA
- BAs
- Management
- Clients! >:(
- You can't force it down someones throat. They have to buy in.
Book
- Brownfield Application Development in .NET
Notes
- Remember the ramp up time
- If your BAs know how brittle a piece of code is, you have a huge problem
- If you are using DI then you have already broken your dependencies
- Enforce policies through culture
- Working on code includes Unit Tests and Integration Tests
- It's going to take you the same amount of time regardless of fixed budget / fixed time
- Keep people apprised of where you are and if you're on time
No comments:
Post a Comment